diff options
author | Karl Berry <karl@freefriends.org> | 2011-09-05 00:16:23 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-09-05 00:16:23 +0000 |
commit | 45c6401dd15f7ce517e6798f2948e94148dcd8c3 (patch) | |
tree | dbca8c25cb7c90bea755773d5211f7d89ba32478 /Master/texmf-dist | |
parent | f5b4e2827c52206834b8c921b5a037c615b24f3a (diff) |
mdframed (4sep11)
git-svn-id: svn://tug.org/texlive/trunk@23815 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/mdframed/README | 12 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.pdf | bin | 119439 -> 130982 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.tex | 202 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mdframed/md-frame-0.mdf | 9 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mdframed/md-frame-1.mdf | 11 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mdframed/md-frame-3.mdf | 9 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mdframed/mdframed.sty | 176 |
7 files changed, 323 insertions, 96 deletions
diff --git a/Master/texmf-dist/doc/latex/mdframed/README b/Master/texmf-dist/doc/latex/mdframed/README index 6aa1764b150..e477349dbbc 100644 --- a/Master/texmf-dist/doc/latex/mdframed/README +++ b/Master/texmf-dist/doc/latex/mdframed/README @@ -1,7 +1,7 @@ -%%$Id: README 165 2011-08-30 09:55:55Z marco $ -%%$Rev: 165 $ +%%$Id: README 173 2011-09-04 16:28:21Z marco $ +%%$Rev: 173 $ %%$Author: marco $ -%%$Date: 2011-08-30 11:55:55 +0200 (Di, 30. Aug 2011) $ +%%$Date: 2011-09-04 18:28:21 +0200 (So, 04. Sep 2011) $ Working with the command \fbox or \fcolorbox, one has to handle page breaks by hand. The present package defines the @@ -11,6 +11,12 @@ Author's name: Marco Daniel and Elke Schubert (!new) License type: lppl ------------------------------------------------ +changes in version 0.9: +- added option nobreak +- detecting float environments to prevent split calculation +- expand documentation (Thanks to Alan Munn) + +------------------------------------------------ changes in version 0.8a: - fixes bugs - fixes documentation diff --git a/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.pdf b/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.pdf Binary files differindex 9b78f016c34..f064ed64171 100644 --- a/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.pdf +++ b/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.pdf diff --git a/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.tex b/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.tex index 6b8e6474740..71ae1a3b89f 100644 --- a/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.tex +++ b/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.tex @@ -1,13 +1,13 @@ %Documenation of the package mdframed -%%$Id: mdframed-doc-en.tex 165 2011-08-30 09:55:55Z marco $ -%%$Rev: 165 $ +%%$Id: mdframed-doc-en.tex 174 2011-09-04 17:25:41Z marco $ +%%$Rev: 174 $ %%$Author: marco $ %%$Dater:$ \setcounter{errorcontextlines}{999} \documentclass[english,11pt,]{scrartcl} %\usepackage{showframe} \usepackage[nofancy,draft,notoday]{svninfo} -\svnInfo $Id: mdframed-doc-en.tex 165 2011-08-30 09:55:55Z marco $ +\svnInfo $Id: mdframed-doc-en.tex 174 2011-09-04 17:25:41Z marco $ \usepackage{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} @@ -43,7 +43,7 @@ \usepackage[]{graphicx} -\usepackage[style=1]{mdframed} +\usepackage[style=1,]{mdframed} \usepackage{xspace} @@ -115,6 +115,9 @@ urlcolor=cyan, bookmarksdepth=4, } %\usepackage{showframe} + +\newmdtheoremenv[linecolor=red]{lemma}{Lemma}[section] + \begin{document} \thispagestyle{empty} \begin{center} @@ -127,21 +130,19 @@ bookmarksdepth=4, \vspace*{.5\baselineskip} \href{mailto:marco.daniel@mada-nada.de}{Marco Daniel}% \footnote{With thanks to Heiko Oberdiek, Rolf Niepraschk, - Martin Scharrer and Herbert Voss.}, + Martin Scharrer and Herbert Voss.\newline Sorry for bad English.}, \href{mailto:marco.daniel@mada-nada.de}{Elke Schubert}% \qquad \mdversion\ \qquad \today \end{center} \begin{abstract} -Working with the command \mdcommand{fbox} or \mdcommand{fcolorbox}, one has to handle page breaks by hand, meaning that you have to split up the \mdcommand{fbox} into two. The present package defines the environment \mdname which automatically deals with page breaks, whence the name \glqq breakable\grqq. - +The standard methods for framing text (\mdcommand{fbox} or \mdcommand{fcolorbox}) require you to handle page breaks by hand, meaning that you have to split the \mdcommand{fbox} into two. The present package defines the environment \mdname which automatically deals with pagebreaks in framed text.\par By using \mdcommand{newenvironment} the user may choose between several individual designs. \end{abstract} \pdfbookmark[1]{\contentsname}{tocbook} \tableofcontents \section{Motivation} -Many users wish to (further) emphasize lemmata, definitions, proofs etc. The package \mdname allows to -create environments with breakable frames. I think an example is the best way to demonstrate the properties. +Many users wish to (further) emphasize lemmata, definitions, proofs, etc. The package \mdname allows you to create environments with breakable frames. I think an example is the best way to demonstrate its properties. \begin{mdexample} \newtheorem{mdtheorem}{Theorem}[section] \newenvironment{theorem}{\begin{mdframed}% @@ -188,11 +189,16 @@ The package defines only one environment with the following syntax: \end{mdexample} With version 0.8 you have two commands to create environments with \mdpack{mdframed}. + +\par\kern\baselineskip% +\noindent\llap{\textsf{\bfseries\color{titleblue}autodetecting floats}\quad}\ignorespaces +With version 0.9 I added a detection of \mdpack{float} or \mdpack{minipage} environments. If you use \mdname in such an environment \mdname will use the option \mdoption{nobreak} automaticlly. + \mdDescribeCmd[]{newmdenv} The command has the following syntax: \begin{mdexample} \newmdenv[<MDFRAMED OPTIONS>]{Name of the environment} \end{mdexample} -In this way you can simple use: +In this way you can simply use: \begin{mdexample} \newmdenv[linecolor=red,frametitle=Infobox]{infobox} ... @@ -202,7 +208,9 @@ In this way you can simple use: \end{mdexample} \mdDescribeCmd[]{renewmdenv} By using this command you can redifine environments which are created by \mdcommand{newmdenv}. -\mdDescribeCmd[]{newmdtheoremenv} Very often the package is used to highlight theorem environments. So I create a command\footnote{Thanks to Martin Scharrer:\newline \url{http://tex.stackexchange.com/questions/26298/own-command-to-create-new-environment}} to simplify this process. The command hast the following syntax: +\mdDescribeCmd[]{newmdtheoremenv} +Since the package is often used to highlight theorem environments, I have created a command\footnote{Thanks to Martin Scharrer:\newline \href{http://tex.stackexchange.com/questions/26298/own-command-to-create-new-environment}{Own command to create new environment}} to simplify this process. The command has the following syntax: + \begin{mdexample} \newmdtheoremenv[<mdframed-options>]{<envname>}% [<numberedlike>]{<caption>}[<within>] @@ -217,11 +225,11 @@ The last four arguments are equivalent to the command \mdcommand{newtheorem}. On foo foo foo foo foo foo \end{lemma} \end{mdexample} -So far there are no \mdcommand{renewmdtheoremenv}! +So far there is no \mdcommand{renewmdtheoremenv}! \section{Options} -The package allows to set global and local options which are explained below. +The package allows the following global and local options: \subsection{Global Options} The following options are only global options. @@ -244,7 +252,7 @@ depends on the \mdoption{style}. For further information see below. The options listed below can be set globally or locally. \mdDescribeMacro{\textbackslash mdfsetup}To set the options globally you can use the optional argument of \mdcommand{usepackage} or -you can use the command \mdcommand{mdfsetup} which is not limited to the header. +you can use the command \mdcommand{mdfsetup} which is not limited to the preamble. \subsubsection{Options with lengths} @@ -310,8 +318,8 @@ the second one is a number (e.g. 2) which will be multiplied by \mdoption{1 defa \paragraph*{The following lengths are not shown in figure \eqref{fig:laengen}.} \mbox{} -\mdDescribeMacro[0pt]{splittopskip} Sets the length of the skip above the splitted part of the environment. -\mdDescribeMacro[0pt]{splitbottomskip} Sets the length of the skip below the splitted part of the environment. +\mdDescribeMacro[0pt]{splittopskip} Sets the length of the skip above the split part of the environment. +\mdDescribeMacro[0pt]{splitbottomskip} Sets the length of the skip below the splitt part of the environment. \mdDescribeMacro[0.4pt]{linewidth} Sets the width of the line around the environment. \mdDescribeMacro[0pt]{roundcorner} Sets the size of the radius of the corners of the frames. \textbf{This works only with \mdoption{style=1} and \mdoption{style=3}.} @@ -349,15 +357,23 @@ the second one is a number (e.g. 2) which will be multiplied by \mdoption{1 defa \mdDescribeMacro[\mbox{} \mdcommand{bfseries}\mdcommand{large}]{frametitleformat} Sets the format of the frame title. -\subsubsection{Useful options} +\subsubsection{General options} -\mdDescribeMacro[false]{ntheorem} Before setting this boolkey, you have to load the package \mdpack{ntheorem}. +\mdDescribeMacro[false]{ntheorem} Before setting this boolean key, you have to load the package \mdpack{ntheorem}. With this option you set the values \mdcommand{theorempreskipamount} and\newline \mdcommand{theorempostskipamount} to 0pt. + +\mdDescribeMacro[false]{nobreak} Sometimes it is useful to prevent a frame from splitting. The \mdoption{nobreak} option is used for this purpose. + +%%\mdDescribeMacro[none]{settings} With version 0.9 of the package \mdname this option was added. This option allows the user to commit some macros. An example is shown in the appendix. + +%\mdDescribeMacro[none]{printheight} This key allows the entries \texttt{none}, \texttt{info} or \texttt{warning}. In relation to the key the vertical space at the beginning of the environment \mdname on the current page will be printed in the \texttt{log} file. + + \mdDescribeMacro[none]{pstrickssetting} With this key you can pass several options to \mdcommand{psset}. For example if you want all lines dashed you will have to set \mdoption{pstrickssetting=\{linestyle=dashed\}}. It is very important @@ -367,7 +383,7 @@ the second one is a number (e.g. 2) which will be multiplied by \mdoption{1 defa to put the options of \mdoption{tikzsetting} in brackets. \textbf{This works only with \mdoption{style=1}.} \section{Examples} -Now I present some examples. Of course I know that some of them are only gimmick. To create the following examples I am using \mdoption{style=1}. +Now I present some examples. Of course I know that some of them are only gimmicks. To create the following examples I am using \mdoption{style=1}. \mdfsetup{skipabove=\baselineskip,skipbelow=\baselineskip} \begin{mdexample} \mdfsetup{outerlinewidth=5pt,innerlinewidth=0pt, @@ -421,10 +437,10 @@ Some Text Some Text Some Text Some Text Some Text Some Text Some Text Some Text Some Text Some Text Some Text Some Text \end{mdframed} \clearpage -\twocolumn[\subsection{Working with twocolumn}] -\lipsum[1]\lipsum[2] +\twocolumn[\subsection{Working in twocolumn mode}] +\lipsum[1] \begin{mdframed}[leftmargin=10pt,rightmargin=10pt,outerlinecolor=blue,outerlinewidth=5pt,backgroundcolor=yellow] -\lipsum[1]\lipsum[2] +\lipsum[1] \end{mdframed} Some Text Some Text Some Text Some Text Some Text Some Text %Some Text Some Text Some Text Some Text Some Text Some Text @@ -436,16 +452,16 @@ Some Text Some Text Some Text Some Text Some Text Some Text The package \mdpack{mdframed} provides different errors, warnings and messages in the \texttt{log}-file. Some \LaTeX-editors like \TeX Maker(X) have a special tab for errors and warnings -but not for messages. So you should look in the \texttt{log-File}. +but not for messages. So you should look in the \texttt{log-File} itself. The followings errors and warnings are generated by \mdpack{mdframed}. \begin{mdexample} The package ... does not exist but - it is required by mdframed + is required by mdframed \end{mdexample} To avoid this problem you should install the required -package which are named in section \nameref{sec:syntax}. +packages which are listed in section \ref{sec:syntax}. \begin{mdexample} The style number ... does not exist @@ -465,8 +481,8 @@ load the package \mdpack{ntheorem}. \begin{mdexample} You have only a width of 3cm \end{mdexample} -The package \mdpack{mdframed} calculate the width of the contents -by given options. If the width of the contents smaller then +The package \mdpack{mdframed} calculates the width of the contents +based on the given options. If the width of the contents smaller than 3\,cm you will get this warnings. You should change the settings to get a greater width. @@ -482,11 +498,11 @@ In this situation you will get this warning because the contents of this box is empty. You have the possibility to change the settings or include a \mdcommand{clearpage} in front of the environment \mdpack{mdframed}. -So far I have no idea to avoid such things. +So far I have no idea how to avoid such things. \begin{mdexample} You got a bad break - because the splittet box is empty + because the split box is empty You have to change the page settings like enlargethispage or something else You got a bad break @@ -495,7 +511,7 @@ See the explanation above. \begin{mdexample} You got a bad break - because the last splittet box is empty + because the last split box is empty You have to change the settings \end{mdexample} The same reason as above but only in the last box. @@ -510,14 +526,14 @@ body you will get this warning. \section{Known Problems} In this section I will collect known problems. In case you encounter any further problems, please - drop me an email, \href{mailto:marco.daniel@mada-nada.de}{marco.daniel'at'mada-nada.de}. + drop me an email, \href{mailto:marco.daniel@mada-nada.de}{marco.daniel at mada-nada.de}. Do you have any ideas / wishes on further extensions to this package? Please let me know! \begin{enumerate} \item So far the environment isn't compatible with the package \mdpack{gmverb}. \item So far it isn't possible to combine the environment \mdcommand{begin\{multicols\}} of the package \mdpack{multicol} with \mdpack{mdframed}. - \item So far it isn't possible to use footnotes. + \item So far it isn't possible to use footnotes within a frame. \end{enumerate} @@ -527,21 +543,22 @@ body you will get this warning. \item Work with \mdoption{twoside}-mode by setting \mdoption{inner} and \mdoption{outer}. \item Create new styles. \item Improve page breaks. + \item Section with version history. \end{enumerate} \section{Previous versions} -With the new version 0.7a I changed the internal commands (I use \mdpack{etoolbox}) and the algorithm of the splitting. So I don't know whether I will get new bugs or not. For the last case and the previous version (v0.6) works well you can load \mdpack{mdframedpre} instead of \mdpack{mdframed}. +If you have trouble with the new version of \mdname you can load \texttt{mdframedpre} instead. In this way you load the version v0.6. +%With the new version 0.7a I changed the internal commands (I use \mdpack{etoolbox}) and the algorithm of the splitting. So I don't know whether I will get new bugs or not. For the last case and the previous version (v0.6) works well you can load \mdpack{mdframedpre} instead of \mdpack{mdframed}. -\section{Acknowledgement} +\section{Acknowledgements} Thanks for the bug reports and suggestions -\textsf{Dick Nickalls;\quad Dr. Dietrich Grau;\quad Piazza Luca}. +\textsf{Dick Nickalls;\quad Dr. Dietrich Grau;\quad Piazza Luca\quad Jobst Hoffmann}. \medskip \noindent Thanks for proofreading -\textsf{Nahid Shajari}. - +\textsf{Alan Munn} and \textsf{Nahid Shajari} \clearpage \appendix \section{More information} @@ -583,16 +600,19 @@ will be set sequently (done by \mdpack{md-frame-X.mdf}). The following figure de \end{center} The width of the contents is the result of the settings of \mdoption{leftmargin}, \mdoption{rightmargin}, \mdoption{linewidth}, \mdoption{innerleftmargin} and \mdoption{innerrightmargin} (see figure \eqref{fig:laengen}). + + + \subsection{The Framecommands} The package \mdpack{mdframed} knows four kinds of \glqq Framecommand\grqq. These commands tell \LaTeX\ how to set the contents of \mdpack{mdframed}. \begin{description} - \item[\mdcommand{md@putbox@single}] This command sets the contents of a single non-splitted frame. - \item[\mdcommand{md@putbox@first}] This command sets the contents of the first frame of a splitted frame. - \item[\mdcommand{md@putbox@middle}] This command sets the contents of the middle frame of a splitted frame. - \item[\mdcommand{md@putbox@second}] This command sets the contents of the last frame of a splitted frame. + \item[\mdcommand{md@putbox@single}] This command sets the contents of a single unspliot frame. + \item[\mdcommand{md@putbox@first}] This command sets the contents of the first frame of a split frame. + \item[\mdcommand{md@putbox@middle}] This command sets the contents of the middle frame of a split frame. + \item[\mdcommand{md@putbox@second}] This command sets the contents of the last frame of a split frame. \end{description} -Uses the explained commands we give an example. The command \mdcommand{box} use the contents of the savebox and types them out. +Using the explained commands we give an example. The command \mdcommand{box} uses the contents of the savebox and types them out. First we want to type out the single box without any settings (but with the calculated width). \begin{mdexample} @@ -607,12 +627,11 @@ I am using the command \mdcommand{leftline} to start the \glqq Framecommands\grq \makeatother \end{mdexample} -Now you have to know how the lengths are named. Every length which can be modified by the options has the following syntax +Now you have to know how the lengths are named. Every length which can be modified by the options has the following syntax: \begin{mdexample} -\mdf@'Name of the Length'@length +\mdf@<Name of the Length>@length \end{mdexample} -For example the leftmargin is - +For example the leftmargin is: \begin{mdexample} \mdf@leftmargin@length \end{mdexample} @@ -638,6 +657,95 @@ can save the file as \mdpack{md-frame-X.mdf}. In this way you can use the option \mdoption{style} to load the file by setting \mdoption{style=X}. +\subsection{Modify the frame} -\end{document} +The example below is inspired by the following post on StackExchange \href{http://tex.stackexchange.com/questions/24101/theorem-decorations-that-stay-with-theorem-environment}{Theorem decorations that stay with theorem environment} +First I will show the the result. +\makeatletter +\newlength{\interruptlength} +\setlength{\interruptlength}{2.5ex} +\newrobustcmd\overlaplines{% + \input{md-frame-0.mdf}% + \appto\md@frame@leftline@single{% + \llap{\color{white}% + \rule[-\dp\@tempboxa-\mdf@innerbottommargin@length% + -\mdf@middlelinewidth@length+\interruptlength]% + {\mdf@middlelinewidth@length}% + {\mdfboundingboxheight% + +2\mdf@middlelinewidth@length + -2\interruptlength}% + }% + }% + \appto\md@frame@rightline@single{% + \rlap{\color{white}% + \hspace*{\mdfboundingboxwidth}% + \hspace*{\mdf@innerrightmargin@length}% + \rule[-\dp\@tempboxa-\mdf@innerbottommargin@length% + -\mdf@middlelinewidth@length+\interruptlength]% + {\mdf@middlelinewidth@length} + {\mdfboundingboxheight% + +2\mdf@middlelinewidth@length% + -2\interruptlength}% + }% + }% +} +\overlaplines +\newmdtheoremenv[style=0,ntheorem,linecolor=blue,linewidth=3pt]{lem}{Lemma}[section] +\makeatother + + + +\begin{lem} +\lipsum[1] +\end{lem} + +You can see how the lines on the left and the right are interrupted. Now I will show the code. + +I define a command which draws white lines on the left and the right side in the same way as in the style file. For this example I must include the file \texttt{md-frame-1.mdf} because this document used the global style 1. + +With the new length \mdcommand{interruptlength} you can manipulate the amount of overlap. + +\begin{mdexample} +\newlength{\interruptlength} +\setlength{\interruptlength}{1.5ex} +\makeatletter +\makeatletter +\newlength{\interruptlength} +\setlength{\interruptlength}{2.5ex} +\newrobustcmd\overlaplines{% + \input{md-frame-0.mdf}% + \appto\md@frame@leftline@single{% + \llap{\color{white}% + \rule[-\dp\@tempboxa + -\mdf@innerbottommargin@length% + -\mdf@middlelinewidth@length + +\interruptlength]% + {\mdf@middlelinewidth@length}% + {\mdfboundingboxheight% + +2\mdf@middlelinewidth@length + -2\interruptlength}% + }% + }% + \appto\md@frame@rightline@single{% + \rlap{\color{white}% + \hspace*{\mdfboundingboxwidth}% + \hspace*{\mdf@innerrightmargin@length}% + \rule[-\dp\@tempboxa + -\mdf@innerbottommargin@length% + -\mdf@middlelinewidth@length + +\interruptlength]% + {\mdf@middlelinewidth@length} + {\mdfboundingboxheight% + +2\mdf@middlelinewidth@length% + -2\interruptlength}% + }% + }% +} +\overlaplines +\newmdtheoremenv[style=0,ntheorem,linecolor=blue,% + linewidth=3pt]{lem}{Lemma}[section] +\makeatother +\end{mdexample} + +\end{document} diff --git a/Master/texmf-dist/tex/latex/mdframed/md-frame-0.mdf b/Master/texmf-dist/tex/latex/mdframed/md-frame-0.mdf index 607021633fc..b01992e0138 100644 --- a/Master/texmf-dist/tex/latex/mdframed/md-frame-0.mdf +++ b/Master/texmf-dist/tex/latex/mdframed/md-frame-0.mdf @@ -8,13 +8,14 @@ %% Public License, as described in lppl.txt in the base LaTeX distribution. %% Either version 1.0 or, at your option, any later version. -%%$Id: md-frame-0.mdf 165 2011-08-30 09:55:55Z marco $ -%%$Rev: 165 $ +%%$Id: md-frame-0.mdf 172 2011-09-04 16:13:47Z marco $ +%%$Rev: 172 $ %%$Author: marco $ -%%$Date: 2011-08-30 11:55:55 +0200 (Di, 30. Aug 2011) $ +%%$Date: 2011-09-04 18:13:47 +0200 (So, 04. Sep 2011) $ + \def\mdframedOpackagename{md-frame-0} \def\md@frameOdate@svn$#1: #2 #3 #4-#5-#6 #7 #8${#4/#5/#6\space } -\ProvidesFile{md-frame-0.mdf}[\md@frameOdate@svn$Id: md-frame-0.mdf 165 2011-08-30 09:55:55Z marco $ \mdversion: \mdframedOpackagename] +\ProvidesFile{md-frame-0.mdf}[\md@frameOdate@svn$Id: md-frame-0.mdf 172 2011-09-04 16:13:47Z marco $ \mdversion: \mdframedOpackagename] %%==================================================%% %%================single-box========================%% %%==================================================%% diff --git a/Master/texmf-dist/tex/latex/mdframed/md-frame-1.mdf b/Master/texmf-dist/tex/latex/mdframed/md-frame-1.mdf index 979bb52d6e9..572f50c8582 100644 --- a/Master/texmf-dist/tex/latex/mdframed/md-frame-1.mdf +++ b/Master/texmf-dist/tex/latex/mdframed/md-frame-1.mdf @@ -8,13 +8,14 @@ %% Public License, as described in lppl.txt in the base LaTeX distribution. %% Either version 1.0 or, at your option, any later version. -%%$Id: md-frame-1.mdf 165 2011-08-30 09:55:55Z marco $ -%%$Rev: 165 $ +%%$Id: md-frame-1.mdf 172 2011-09-04 16:13:47Z marco $ +%%$Rev: 172 $ %%$Author: marco $ -%%$Date: 2011-08-30 11:55:55 +0200 (Di, 30. Aug 2011) $ +%%$Date: 2011-09-04 18:13:47 +0200 (So, 04. Sep 2011) $ + \def\mdframedIpackagename{md-frame-1} \def\md@frameIdate@svn$#1: #2 #3 #4-#5-#6 #7 #8${#4/#5/#6\space } -\ProvidesFile{md-frame-1.mdf}[\md@frameIdate@svn$Id: md-frame-1.mdf 165 2011-08-30 09:55:55Z marco $ \mdversion: \mdframedIpackagename] +\ProvidesFile{md-frame-1.mdf}[\md@frameIdate@svn$Id: md-frame-1.mdf 172 2011-09-04 16:13:47Z marco $ \mdversion: \mdframedIpackagename] %%%% _____t_____ %%%% | | %%%% | | @@ -110,7 +111,7 @@ % Info zu den verwendeten Punkten: % O ist die untere linke Ecke der Mitte der middleline % P ist die obere rechte Ecke der Mitte der middleline -% A ist der Punkt für den anchor (d.h. die untere linke Ecke) der Ausgabebox +% A ist der Punkt fuer den anchor (d.h. die untere linke Ecke) der Ausgabebox % \def\md@putbox@single{% \leftline{\null\hspace*{\mdf@leftmargin@length}%% diff --git a/Master/texmf-dist/tex/latex/mdframed/md-frame-3.mdf b/Master/texmf-dist/tex/latex/mdframed/md-frame-3.mdf index eebeecd4cd2..494dcee2c6a 100644 --- a/Master/texmf-dist/tex/latex/mdframed/md-frame-3.mdf +++ b/Master/texmf-dist/tex/latex/mdframed/md-frame-3.mdf @@ -8,17 +8,16 @@ %% Public License, as described in lppl.txt in the base LaTeX distribution. %% Either version 1.0 or, at your option, any later version. -%%$Id: md-frame-3.mdf 165 2011-08-30 09:55:55Z marco $ -%%$Rev: 165 $ +%%$Id: md-frame-3.mdf 172 2011-09-04 16:13:47Z marco $ +%%$Rev: 172 $ %%$Author: marco $ -%%$Date: 2011-08-30 11:55:55 +0200 (Di, 30. Aug 2011) $ - +%%$Date: 2011-09-04 18:13:47 +0200 (So, 04. Sep 2011) $ %%Allgemeine Einstellungen fuer pstricks %%Hier nur einfacher Rahmen mit Einstellungen \def\mdframedIIIpackagename{md-frame-3} \def\md@frameIIIdate@svn$#1: #2 #3 #4-#5-#6 #7 #8${#4/#5/#6\space } -\ProvidesFile{md-frame-3.mdf}[\md@frameIIIdate@svn$Id: md-frame-3.mdf 165 2011-08-30 09:55:55Z marco $ \mdversion: \mdframedIIIpackagename] +\ProvidesFile{md-frame-3.mdf}[\md@frameIIIdate@svn$Id: md-frame-3.mdf 172 2011-09-04 16:13:47Z marco $ \mdversion: \mdframedIIIpackagename] % \def\md@ptlength@to@pscode#1{\pst@number{#1} \pst@number\psxunit div} \let\ptTps\md@ptlength@to@pscode\relax diff --git a/Master/texmf-dist/tex/latex/mdframed/mdframed.sty b/Master/texmf-dist/tex/latex/mdframed/mdframed.sty index e8cf127a43c..e42bebf4277 100644 --- a/Master/texmf-dist/tex/latex/mdframed/mdframed.sty +++ b/Master/texmf-dist/tex/latex/mdframed/mdframed.sty @@ -32,18 +32,17 @@ %% %% %%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>%% -%%$Id: mdframed.sty 165 2011-08-30 09:55:55Z marco $ -%%$Rev: 165 $ +%%$Id: mdframed.sty 172 2011-09-04 16:13:47Z marco $ +%%$Rev: 172 $ %%$Author: marco $ -%%$Date: 2011-08-30 11:55:55 +0200 (Di, 30. Aug 2011) $ +%%$Date: 2011-09-04 18:13:47 +0200 (So, 04. Sep 2011) $ %% Allgemeine Angaben -\def\mdversion{v0.8a} +\def\mdversion{v0.9} \def\mdframedpackagename{mdframed} \def\md@maindate@svn$#1: #2 #3 #4-#5-#6 #7 #8${#4/#5/#6\space } \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{mdframed}[\md@maindate@svn$Id: mdframed.sty 165 2011-08-30 09:55:55Z marco $ \mdversion: \mdframedpackagename] - +\ProvidesPackage{mdframed}[\md@maindate@svn$Id: mdframed.sty 172 2011-09-04 16:13:47Z marco $ \mdversion: \mdframedpackagename] %%==================================================%% %%=============== Benoetigte Pakete ================%% %%==================================================%% @@ -53,8 +52,8 @@ \IfFileExists{#1.sty}{% \RequirePackage{#1}% }{% - \md@PackageWarning{The package #1 does not exist\MessageBreak - but it is required by \mdframedpackagename\MessageBreak + \md@PackageWarning{The package #1 does not exist^^J + but it is required by \mdframedpackagename^^J see documentation fo further information }% } @@ -172,6 +171,13 @@ \def\mdf@psset@local{#1} } +%Unterstuetzung von eigenen Definitionen +\def\mdf@settings{} +\define@key{mdf}{settings}{% + \def\mdf@settings{#1} +} + + \DeclareStringOption[pt]{defaultunit} %%mdframed umfasst ntheorem-Umgebung ja/nein @@ -198,6 +204,14 @@ \DeclareStringOption{frametitle} \DeclareStringOption[\bfseries\large]{frametitlefont} +%mdframed soll nicht splitte +\DeclareBoolOption[false]{nobreak} + +%Ausgabe des Platzes auf Seite -- nicht float +%Werte none,info,warning +\DeclareStringOption[none]{printheight} + + \ProcessKeyvalOptions* \newcommand*{\mdfsetup}{\setkeys{mdf}} \mdfsetup{globalstyle=0} @@ -218,6 +232,32 @@ } } + + + +%%==================================================%% +%%==========Ausgabe des Platzes auf Seite===========%% +%%==================================================%% +\let\md@PackageNoInfo\@gobble +\newrobustcmd*\md@ifstrequal@expand{% +\expandafter\ifstrequal\expandafter{\mdf@printheight}% +} +\newrobustcmd*\md@print@space{% + %case "none" + \md@ifstrequal@expand{none}{\def\md@tempa{NoInfo}}{% + %case "info" + \md@ifstrequal@expand{info}{\def\md@tempa{Info}}{% + %case "warning" + \md@ifstrequal@expand{warning}{\def\md@tempa{Warning}}{% + %case "unknown" + \md@PackageWarning{Unknown key for printheight=\mdf@printheight %^^J + use none, info or warning}% + \def\md@tempa{none}% + }% + }% + }% +\def\md@PackageInfoSpace{\csname md@Package\md@tempa\endcsname} +} %%==================================================%% %%========Angepasste lrbox sowie trivlist===========%% %%==================================================%% @@ -300,20 +340,20 @@ \mdframedpackagename will use <numeredlike>\MessageBreak}% \newtheorem{\csname md\md@tempb \endcsname}[\md@tempc]{\md@tempd}% }% - {\ifdefempty{\md@tempc}{}{\newtheorem{md\md@tempb}[\md@tempc]{\md@tempd}}% - \ifdefempty{\md@tempe}{}{\newtheorem{md\md@tempb}{\md@tempd}[\md@tempe]}% + {\ifdefempty{\md@tempc}{}{\newtheorem{md@@\md@tempb}[\md@tempc]{\md@tempd}}% + \ifdefempty{\md@tempe}{}{\newtheorem{md@@\md@tempb}{\md@tempd}[\md@tempe]}% }% \ifboolexpr{test {\ifdefempty{\md@tempc}} and test {\ifdefempty{\md@tempe}} }{% - \newtheorem{md\md@tempb}{\md@tempd}% + \newtheorem{md@@\md@tempb}{\md@tempd}% }{}% - \expandafter\protected@xdef\csname\md@tempb\endcsname{\noexpand\mdfsetup{\md@tempa}% - \noexpand\begin{mdframed}[]\noexpand\begin{md\md@tempb}% + \protected@csxdef{\md@tempb}{\noexpand\mdfsetup{\md@tempa}% + \noexpand\begin{mdframed}\noexpand\begin{md@@\md@tempb} % }% - \expandafter\protected@xdef\csname end\md@tempb\endcsname{% - \noexpand\end{md\md@tempb}\noexpand\end{mdframed}% + \protected@csxdef{end\md@tempb}{% + \noexpand\end{md@@\md@tempb}\noexpand\end{mdframed}% }% } @@ -350,6 +390,7 @@ %%==================================================%% %%======= Laden der gewuenschten Style-Datei =======%% %%==================================================%% +\newrobustcmd*\mdf@load@style{% \ifcase\mdf@style\relax% \input{md-frame-0.mdf}% \or\input{md-frame-1.mdf}% @@ -364,6 +405,8 @@ mdframed ues instead style=0 \mdframedpackagename}% }% \fi% +}% +\mdf@load@style %%==================================================%% %%========= style-abhaengige Modifikation ==========%% %%==================================================%% @@ -391,6 +434,45 @@ } %%==================================================%% +%%Modifikation zur Nutzung innerhalb float/minipage=%% +%%==================================================%% +%option nobreak +\let\md@reserved@a\@empty +\newrobustcmd*\detected@md@put@frame{% + \ifmdf@nobreak%Option nobreak=true? + \def\md@reserved@a{\md@put@frame@standalone}% + \else + \def\md@reserved@a{\md@put@frame}% + \ifnum\@floatpenalty<0\relax%Detecting float + \if@twocolumn% + \ifx\@captype\@undefined + \def\md@reserved@a{\md@put@frame}% + \else + \md@PackageInfo{mdframed inside float ^^J + mdframed uses option nobreak \mdframedpackagename}% + \def\md@reserved@a{\md@put@frame@standalone}% + \fi + \else + \md@PackageInfo{mdframed inside float ^^J + mdframed uses option nobreak \mdframedpackagename}% + \def\md@reserved@a{\md@put@frame@standalone}% + \fi% + \fi% + \if@minipage% + \md@PackageInfo{mdframed inside minipage ^^J + mdframed uses option nobreak \mdframedpackagename}% + \def\md@reserved@a{\md@put@frame@standalone}% + \fi% + \ifinner% + \md@PackageInfo{mdframed inside a box ^^J + mdframed uses option nobreak \mdframedpackagename}% + \def\md@reserved@a{\md@put@frame@standalone}% + \fi% + \fi% +\md@reserved@a% +} + +%%==================================================%% %%==Deklaration diverser Eingabe und Hilfsparameter=%% %%==================================================%% \newlength\mdfboundingboxheight @@ -411,6 +493,7 @@ \begingroup %check is needed? \mdfsetup{#1}%% + \mdf@settings% \let\width\z@% \let\height\z@% \let\partopsep\z@ @@ -424,7 +507,8 @@ \def\endmdframed{% \end{md@lrbox}% - \md@put@frame% +% \md@put@frame% + \detected@md@put@frame \end{md@trivlist}% \hrule \@height\z@ \@width\hsize \endgroup% @@ -511,15 +595,37 @@ %%==================================================%% %%===========Ausgaberoutine -> Berechnung===========%% %%==================================================%% + +\newrobustcmd*\md@put@frame@standalone{\relax% + \ifvoid\@tempboxa\relax + \md@PackageWarning{The environment is empty\MessageBreak}% + \let\md@reserved@a\relax% + \else + %Hier berechnung Box-Inhalt+Rahmen oben und unten + \setlength{\md@verticalmarginwhole@length}{\ht\@tempboxa+\dp\@tempboxa}% + \mdf@dolist{\md@advancelength@verticalmarginwhole}{% + outerlinewidth,middlelinewidth,innerlinewidth,innertopmargin, + innerbottommargin,innerlinewidth,middlelinewidth,outerlinewidth}% + \md@keeplines@single% + \def\md@reserved@a{\md@putbox@single}% + \fi + \md@reserved@a% +} + + \def\md@put@frame{\relax% \ifvoid\@tempboxa\relax \md@PackageWarning{The environment is empty\MessageBreak}% +\let\md@reserved@a\relax% \else + \md@print@space% \md@freepagevspace% + \md@PackageInfoSpace{\the\md@freevspace@length before the beginning of the environment^^J + ending on input line \MessageBreak}% \ifdimless{\md@freevspace@length}{2\baselineskip} {\md@PackageInfo{Not enough space on this page}%die Seite hat nur noch minimal Platz \vfill\eject% - \md@put@frame + \def\md@reserved@a{\md@put@frame}% }{% %Hier berechnung Box-Inhalt+Rahmen oben und unten \setlength{\md@verticalmarginwhole@length}{\ht\@tempboxa+\dp\@tempboxa}% @@ -528,10 +634,12 @@ innerbottommargin,innerlinewidth,middlelinewidth,outerlinewidth}% \md@keeplines@single% \ifdimless{\md@verticalmarginwhole@length}{\md@freevspace@length}% - {\md@putbox@single}%passt auf Seite - {\md@put@frame@i}%passt nicht auf Seite + {\md@putbox@single%%passt auf Seite + \let\md@reserved@a\relax}% + {\def\md@reserved@a{\md@put@frame@i}}%passt nicht auf Seite }% \fi +\md@reserved@a% } \def\md@put@frame@i{%Box muss gesplittet werden -- Ausgabe der ersten Teilbox @@ -544,7 +652,7 @@ \ifdim\dimen@<\dimen@i\relax \hrule \@height\z@ \@width\hsize% \vfill\eject% - \md@put@frame + \def\md@reserved@a{\md@put@frame}% \else% \mdf@dolist{\md@advancelength@freevspace@sub}{% outerlinewidth,middlelinewidth,innerlinewidth,% @@ -582,26 +690,28 @@ You have to change the page settings\MessageBreak like enlargethispage or something else}% \setbox\@tempboxa\vbox{\box\tw@\box\@tempboxa}% - \md@put@frame + \def\md@reserved@a{\md@put@frame}% \fi \ifvoid\tw@%%pruefe, ob erste Box leer ist \hrule \@height\z@ \@width\hsize \vfill\eject% - \md@put@frame% + \def\md@reserved@a{\md@put@frame}% \else - \ifdimequal{\ht\tw@}{0pt} + \ifdimequal{\ht\tw@}{0pt}% {\hrule \@height\z@ \@width\hsize% \vfill\eject% \setbox\@tempboxa\vbox{\unvbox\tw@\unvbox\@tempboxa} - \md@put@frame}% - {% - \md@putbox@first%%Groesse des Splittens passt - \hrule \@height\z@ \@width\hsize - \vfill\eject% - \md@put@frame@ii% - } + \def\md@reserved@a{\md@put@frame}% + }% + {% + \md@putbox@first%%%Groesse des Splittens passt + \hrule \@height\z@ \@width\hsize + \vfill\eject% + \def\md@reserved@a{\md@put@frame@ii}% + }% \fi% - \fi + \fi% +\md@reserved@a% } \def\md@put@frame@ii{%Ausgabe der mittleren Box(en) wenn vorhanden @@ -626,7 +736,7 @@ \md@putbox@middle% \hrule \@height\z@ \@width\hsize \vfill\eject - \md@put@frame@ii% + \def\md@reserved@a{\md@put@frame@ii}% }%Hier die Ausgabe der mittleren Box {\ifvoid\@tempboxa \md@PackageWarning{You got a bad break\MessageBreak @@ -634,7 +744,9 @@ You have to change the settings}% \fi% \md@putbox@second% + \let\md@reserved@a\relax% }%Hier kommt die Ausgabe der letzten Box + \md@reserved@a% } %%==================================================%% |