diff options
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/mdframed/README | 21 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.pdf | bin | 86036 -> 109985 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.tex | 224 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mdframed/md-frame-0.mdf | 540 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mdframed/md-frame-1.mdf | 498 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mdframed/md-frame-3.mdf | 1236 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mdframed/md-framepre-0.mdf | 436 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mdframed/md-framepre-1.mdf | 193 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mdframed/md-framepre-3.mdf | 943 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mdframed/mdframed.sty | 938 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mdframed/mdframedpre.sty | 918 |
11 files changed, 3845 insertions, 2102 deletions
diff --git a/Master/texmf-dist/doc/latex/mdframed/README b/Master/texmf-dist/doc/latex/mdframed/README index cb686e62de5..bad18c08572 100644 --- a/Master/texmf-dist/doc/latex/mdframed/README +++ b/Master/texmf-dist/doc/latex/mdframed/README @@ -1,7 +1,7 @@ -%%$Id: README 101 2010-12-22 16:26:58Z marco $ -%%$Rev: 101 $ +%%$Id: README 161 2011-08-06 11:28:15Z marco $ +%%$Rev: 161 $ %%$Author: marco $ -%%$Date: 2010-12-22 17:26:58 +0100 (Mi, 22. Dez 2010) $ +%%$Date: 2011-08-06 13:28:15 +0200 (Sa, 06. Aug 2011) $ Working with the command \fbox or \fcolorbox, one has to handle page breaks by hand. The present package defines the @@ -10,13 +10,23 @@ environment mdframed which automatically deals with page breaks. Author's name: Marco Daniel and Elke Schubert (!new) License type: lppl + +------------------------------------------------ +changes in version 0.7a: +- added option frametitle +- added option frametitlefont +- allow twolumn-mode +- changed the calculation +- added option tikzsetting +- added options for hidden lines for all styles +- fixes bugs + +------------------------------------------------ changes in version 0.6a: - fixes bugs - added \mdfsetup to the documentation - expanded documentation - - ------------------------------------------------ changes in version 0.5: - added style=3 with pstricks @@ -37,7 +47,6 @@ changes in version 0.4: - calculation of the page dimen - using tikz for the frame with different styles - ------------------------------------------------ changes in version 0.3b: - fixes some bugs -- thanks to Dr. Dietrich Grau 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 59aa9d723a9..e55a5146ebe 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 cafa5aa6879..a94ae0ff3a1 100644 --- a/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.tex +++ b/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.tex @@ -1,19 +1,19 @@ %Documenation of the package mdframed -%%$Id: mdframed-doc-en.tex 101 2010-12-22 16:26:58Z marco $ -%%$Rev: 101 $ +%%$Id: mdframed-doc-en.tex 160 2011-08-06 10:31:55Z marco $ +%%$Rev: 160 $ %%$Author: marco $ %%$Dater:$ \setcounter{errorcontextlines}{999} -\def\mdversion{0.6a} \documentclass[english,11pt,]{scrartcl} %\usepackage{showframe} -\usepackage[nofancy,draft]{svninfo} -\svnInfo $Id: mdframed-doc-en.tex 101 2010-12-22 16:26:58Z marco $ +\usepackage[nofancy,draft,notoday]{svninfo} +\svnInfo $Id: mdframed-doc-en.tex 160 2011-08-06 10:31:55Z marco $ \usepackage{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} - -\usepackage[de,T1,altbullet]{lucidabr} +\usepackage{lipsum} +\usepackage[T1,altbullet]{lucidabr} +%\usepackage{libertine} \usepackage{microtype} \usepackage[french=quotes]{csquotes} %\let\glqq\flqq @@ -38,11 +38,12 @@ \usepackage{xcolor} \definecolor{titleblue}{rgb}{0,0,0.9} -\usepackage{amsmath,amsthm} +\usepackage{amsmath} +\usepackage[amsmath]{ntheorem} \usepackage[]{graphicx} -\usepackage[style=0]{mdframed} +\usepackage[style=1]{mdframed} \usepackage{xspace} @@ -100,6 +101,7 @@ \usepackage{hyperref} \hypersetup{% +breaklinks=true, pdftitle={Documenation of mdframed},% pdfauthor={Marco Daniel},% colorlinks=true,% @@ -129,7 +131,7 @@ Working with the command \mdcommand{fbox} or \mdcommand{fcolorbox}, one has to h By using \mdcommand{newenvironment} the user may choose between several individual designs. \end{abstract} - +\pdfbookmark[1]{\contentsname}{tocbook} \tableofcontents \section{Motivation} @@ -138,35 +140,33 @@ create environments with breakable frames. I think an example is the best way to \begin{mdexample} \newtheorem{mdtheorem}{Theorem}[section] \newenvironment{theorem}{\begin{mdframed}% - [linewidth=2,leftmargin=40,rightmargin=40,% - backgroundcolor=yellow,linecolor=blue,% + [outerlinewidth=2,leftmargin=40,rightmargin=40,% + backgroundcolor=yellow,outerlinecolor=blue,% splittopskip=\topskip,skipbelow=\baselineskip,% - skipabove=\baselineskip]% + skipabove=\baselineskip,ntheorem]% \begin{mdtheorem}}{\end{mdtheorem}\end{mdframed}} \begin{theorem}[Pythagorean theorem] -In any right triangle, the area of the square whose -side is the hypotenuse is equal to the sum of the -areas of the squares whose sides are the two legs. -\[ a^2+b^2=c^2 \] +... \end{theorem} \end{mdexample} \newtheorem{mdtheorem}{Theorem}[section] \newenvironment{theorem}{\begin{mdframed}% - [linewidth=2,leftmargin=40,rightmargin=40,% - backgroundcolor=yellow,linecolor=blue,% + [outerlinewidth=2,leftmargin=40,rightmargin=40,% + backgroundcolor=yellow,outerlinecolor=blue,innertopmargin=0pt,% splittopskip=\topskip,skipbelow=\baselineskip,% - skipabove=\baselineskip]% + skipabove=\baselineskip,ntheorem,]% \begin{mdtheorem}}% {\end{mdtheorem}\end{mdframed}} \begin{theorem}[Pythagorean theorem] In any right triangle, the area of the square whose side is the hypotenuse is equal to the sum of the areas of the squares whose sides are the two legs. + \[ a^2+b^2=c^2 \] \end{theorem} -\section{Syntax} +\section{Syntax}\label{sec:syntax} The package itself loads the packages \mdpack{kvoptions}, \mdpack{etoolbox}, \mdpack{calc} and \mdpack{color}. By setting the correct options \mdpack{mdframed} will load \mdpack{xcolor}, \mdpack{tikz} or \mdpack{pstricks}. @@ -181,7 +181,6 @@ The package defines only one environment with the following syntax: <CONTENT> \end{mdframed} \end{mdexample} - \section{Options} The package allows to set global and local options which are explained below. @@ -252,6 +251,7 @@ the second one is a number (e.g. 2) which will be multiplied by \mdoption{1 defa \psline(-2,-2)(12,-2)\uput*[0](-2,-2){text below} \end{pspicture} } + \captionof{figure}{adjustable lengths of \mdpack{mdframed}} \label{fig:laengen} \end{center} @@ -273,7 +273,6 @@ the second one is a number (e.g. 2) which will be multiplied by \mdoption{1 defa \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. - \textbf{This works only with \mdoption{style=0} and \mdoption{style=3}.} \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}.} @@ -297,28 +296,20 @@ the second one is a number (e.g. 2) which will be multiplied by \mdoption{1 defa \mdDescribeMacro[black]{fontcolor} Sets the color of the contents of the environment. \subsection{Hidden Lines} -\textbf{The following options work only with \mdoption{style=0} and \mdoption{style=3}.} + \mdDescribeMacro[true]{topline} Draws a line at the top. \mdDescribeMacro[true]{bottomline} Draws a line at the bottom. \mdDescribeMacro[true]{leftline} Draws a line on the left. \mdDescribeMacro[true]{rightline} Draws a line on the right. -\subparagraph{Remark:} By setting \mdoption{style=3} only the following combinations are implemented -\begin{itemize} - \item \mdoption{leftline=true, rightline=true, bottomline=true, topline=true} - \item \mdoption{leftline=true, rightline=true, bottomline=false, topline=true} - \item \mdoption{leftline=true, rightline=true, bottomline=true, topline=false} - \item \mdoption{leftline=true, rightline=false, bottomline=true, topline=true} - \item \mdoption{leftline=false, rightline=true, bottomline=true, topline=true} - \item \mdoption{leftline=false, rightline=false, bottomline=false, topline=false} - \item \mdoption{leftline=false, rightline=false, bottomline=true, topline=true} - \item \mdoption{leftline=true, rightline=true, bottomline=false, topline=false} - \item \mdoption{leftline=true, rightline=false, bottomline=false, topline=false} - \item \mdoption{leftline=false, rightline=true, bottomline=false, topline=false} - \item \mdoption{leftline=false, rightline=false, bottomline=true, topline=false} - \item \mdoption{leftline=false, rightline=false, bottomline=false, topline=true} -\end{itemize} +\subsection{Frametitle} + + +\mdDescribeMacro[none]{frametitle} The environment get a title. To set a title use \mdoption{frametitle=\{The Title of the frame\}} as an option of the environment. +\mdDescribeMacro[\mbox{} \mdcommand{bfseries}\mdcommand{large}]{frametitleformat} Sets the format of the frame title. + + \subsubsection{Useful options} @@ -333,8 +324,148 @@ the second one is a number (e.g. 2) which will be multiplied by \mdoption{1 defa \mdoption{pstrickssetting=\{linestyle=dashed\}}. It is very important to put the options of \mdoption{pstrickssetting} in brackets. \textbf{This works only with \mdoption{style=3}.} +\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}. +\mdfsetup{skipabove=\baselineskip,skipbelow=\baselineskip} +\begin{mdexample} +\mdfsetup{outerlinewidth=5pt,innerlinewidth=0pt, + outerlinecolor=red,roundcorner=5pt} +\end{mdexample} +\begin{mdframed}[outerlinewidth=5pt,innerlinewidth=0pt,outerlinecolor=red,roundcorner=5pt] +Some Text Some Text Some Text Some Text Some Text Some Text +Some Text Some Text Some Text Some Text Some Text Some Text +Some Text Some Text Some Text Some Text Some Text Some Text +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} + +Now I will add the next options +\begin{mdexample} +\mdfsetup{topline=false,leftline=false,} +\end{mdexample} +\begin{mdframed}[topline=false,leftline=false,outerlinewidth=5pt,innerlinewidth=0pt,outerlinecolor=red,roundcorner=5pt] +Some Text Some Text Some Text Some Text Some Text Some Text +Some Text Some Text Some Text Some Text Some Text Some Text +Some Text Some Text Some Text Some Text Some Text Some Text +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} + +Gimmick: +\begin{mdexample} +\mdfsetup{splitbottomskip=0.8cm,splittopskip=0cm, + innerrightmargin=2cm,innertopmargin=1cm,% + innerlinewidth=2pt,outerlinewidth=2pt, + middlelinewidth=10pt,backgroundcolor=red, + linecolor=blue,middlelinecolor=gray, + tikzsetting={draw=yellow,line width=3pt,% + dashed,% + dash pattern= on 10pt off 3pt}, + rightline=false,bottomline=false} +\end{mdexample} + +\begin{mdframed}[splitbottomskip=0.8cm,splittopskip=0cm, + innerrightmargin=2cm,innertopmargin=1cm,% + innerlinewidth=2pt,outerlinewidth=2pt, + middlelinewidth=10pt,backgroundcolor=red, + linecolor=blue,middlelinecolor=gray, + tikzsetting={draw=yellow,line width=3pt,dashed,dash pattern= on 10pt off 3pt}, + rightline=false, + bottomline=false] +Some Text Some Text Some Text Some Text Some Text Some Text +Some Text Some Text Some Text Some Text Some Text Some Text +Some Text Some Text Some Text Some Text Some Text Some Text +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] +\begin{mdframed}[leftmargin=10pt,rightmargin=10pt,outerlinecolor=blue,outerlinewidth=5pt,backgroundcolor=yellow] +\lipsum[1]\lipsum[2] +\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 +%Some Text Some Text Some Text Some Text Some Text Some Text +\clearpage +\onecolumn +\clearpage +\section{Errors, Warnings and Messages} +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}. + +The followings errors and warnings are generated by \mdpack{mdframed}. + +\begin{mdexample} + The package ... does not exist but + it is required by mdframed +\end{mdexample} +To avoid this problem you should install the required +package which are named in section \nameref{sec:syntax}. + +\begin{mdexample} + The style number ... does not exist + mdframed ues instead style=0 +\end{mdexample} +If you set the option \mdoption{style} and a file +\texttt{md-frame-'number'.mdf} does not exist +you will get this warning. So check the +option \mdoption{style}. + +\begin{mdexample} + You have not loaded ntheorem yet +\end{mdexample} +To use the option \mdoption{ntheorem} you have to +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 +3\,cm you will get this warnings. You should change the +settings to get a greater width. + +\begin{mdexample} + You got a bad break + you have to change it manually + by changing the text, the space + or something else +\end{mdexample} +Sometimes you have enough vertical space for the rules and the space +between the rules and the contents but not for the contents itself. +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. + +\begin{mdexample} + You got a bad break + because the splittet box is empty + You have to change the page settings + like enlargethispage or something else + You got a bad break +\end{mdexample} +See the explanation above. + +\begin{mdexample} + You got a bad break + because the last splittet box is empty + You have to change the settings +\end{mdexample} +The same reason as above but only in the last box. + + +\begin{mdexample} + Option ... is already consumed + and has no effect on input line ... +\end{mdexample} +If you set a global option inside the document +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}. @@ -343,7 +474,7 @@ the second one is a number (e.g. 2) which will be multiplied by \mdoption{1 defa \begin{enumerate} \item So far the environment isn't compatible with the package \mdpack{gmverb}. - \item So far it isn't possible to use the multicolumn environment. + \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. \end{enumerate} @@ -351,11 +482,14 @@ the second one is a number (e.g. 2) which will be multiplied by \mdoption{1 defa \section{ToDo} \begin{enumerate} \item see \glqq Known Problems\grqq. - \item No limitations of any style. + \item Work with \mdoption{twoside}-mode by setting \mdoption{inner} and \mdoption{outer}. \item Create new styles. \item Improve page breaks. \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}. + \section{Acknowledgement} Thanks for the bug reports and suggestions @@ -375,8 +509,8 @@ your own frame. \subsection{How does \mdpack{mdframed} work?} With the environment \mdcommand{begin\{mdframed\}} \ldots \mdcommand{end\{mdframed\}} the whole contents will be saved in a \mdcommand{savebox} called \mdcommand{@tempboxa}. -After the calculation of the width and the height of the \mdcommand{@tempboxa} the box -will be set sequently. The following figure demonstrates this. +After the calculation of the width and the height of the \mdcommand{@tempboxa} (done by \mdpack{mdframed.sty}) the box +will be set sequently (done by \mdpack{md-frame-X.mdf}). The following figure demonstrates this. \begin{center} \newcommand{\mybox}[1]{\psframebox[linecolor=gray,shadowcolor=lightgray]{\parbox{3.5cm}{\centering\small #1}}} @@ -389,7 +523,7 @@ will be set sequently. The following figure demonstrates this. [name=s3] \mybox{contents of \textbackslash @tempboxa have enough space on the new page} & [name=f3] \mybox{\textbackslash md@putbox@second} \\ [name=s4] \mybox{split \textbackslash @tempboxa in \textbackslash tw@ to the free space of the page} & - [name=f4] \mybox{\textbackslash md@putbox@middle} \\ + [name=f4] \mybox{\textbackslash md@putbox@middle} \\[.5\baselineskip] % \psset{arrowinset=0,arrowscale=1.3,nodesep=3pt} \ncline{->}{s1}{f1}\naput{enough space on page} 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 62fd11d01bf..88e4c87560b 100644 --- a/Master/texmf-dist/tex/latex/mdframed/md-frame-0.mdf +++ b/Master/texmf-dist/tex/latex/mdframed/md-frame-0.mdf @@ -8,429 +8,241 @@ %% 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 105 2010-12-22 16:50:44Z marco $ -%%$Rev: 105 $ +%%$Id: md-frame-0.mdf 161 2011-08-06 11:28:15Z marco $ +%%$Rev: 161 $ %%$Author: marco $ -%%$Date: 2010-12-22 17:50:44 +0100 (Mi, 22. Dez 2010) $ +%%$Date: 2011-08-06 13:28:15 +0200 (Sa, 06. Aug 2011) $ -\def\mdversion{v0.6a} \def\mdframedOpackagename{md-frame-0} \def\md@frameOdate@svn$#1: #2 #3 #4-#5-#6 #7 #8${#4/#5/#6\space } -\ProvidesFile{md-frame-3.mdf}[\md@frameOdate@svn$Id: md-frame-0.mdf 105 2010-12-22 16:50:44Z marco $ \mdversion: \mdframedOpackagename] +\ProvidesFile{md-frame-0.mdf}[\md@frameOdate@svn$Id: md-frame-0.mdf 161 2011-08-06 11:28:15Z marco $ \mdversion: \mdframedOpackagename] - -\let\md@textwidth\textwidth - - - - -%%=single=%% +%%==================================================%% +%%================single-box========================%% +%%==================================================%% \def\md@frame@background@single{% \rlap{\color{\mdf@backgroundcolor}% - \setlength{\mdfboundingboxheight}{\ht\@tempboxa+\dp\@tempboxa}% - \addtolength{\mdfboundingboxheight}{% - \mdf@innertopmargin@length% - +\mdf@innerbottommargin@length% - }% - \rule[-\mdf@innerbottommargin@length]% - {\wd\@tempboxa% - +\mdf@innerleftmargin@length% - +\mdf@innerrightmargin@length% + \rule[-\dp\@tempboxa-\mdf@innerbottommargin@length]{\mdfboundingboxwidth% + +\mdf@innerleftmargin@length+\mdf@innerrightmargin@length% }{\mdfboundingboxheight}% }% }% -% -\def\md@frame@leftandbottomandtopline@single{% - \setlength{\mdfboundingboxheight}{\ht\@tempboxa+\dp\@tempboxa}% - \addtolength{\mdfboundingboxheight}{% - \mdf@innertopmargin@length% - +\mdf@innerbottommargin@length% - +\mdf@middlelinewidth@length% - +\mdf@middlelinewidth@length% - }% +% +\def\md@frame@leftandbottomline@single{% \rlap{\color{\mdf@middlelinecolor}% - \ifbool{mdf@leftline}% - {\rule[-\mdf@innerbottommargin@length]% - {\mdf@middlelinewidth}{\mdfboundingboxheight-2\mdf@middlelinewidth@length}% - }{}% - }% + \ifbool{mdf@topline}{\rule[\ht\@tempboxa+\mdf@innertopmargin@length] + {\mdfboundingboxwidth+\mdf@innerleftmargin@length+\mdf@innerrightmargin@length}% + {\mdf@middlelinewidth@length}}{}% + }% \rlap{\color{\mdf@middlelinecolor}% - \ifmdf@bottomline% - \ifboolexpr{ bool {mdf@leftline} and bool {mdf@rightline} }% - {%\hspace*{\mdf@middlelinewidth@length}% - \rule[-\mdf@innerbottommargin@length-\mdf@middlelinewidth@length]% - {\wd\@tempboxa% - +\mdf@innerleftmargin@length% - +\mdf@innerrightmargin@length% - +\mdf@middlelinewidth@length% - +\mdf@middlelinewidth@length% - }{\mdf@linewidth}% - }{}% - \ifboolexpr{ bool {mdf@leftline} and not( bool {mdf@rightline}) }% - {%\hspace*{\mdf@middlelinewidth@length}% - \rule[-\mdf@innerbottommargin@length-\mdf@middlelinewidth@length]% - {\wd\@tempboxa% - +\mdf@innerleftmargin@length% - +\mdf@innerrightmargin@length% - +\mdf@middlelinewidth@length% - % +\mdf@middlelinewidth@length% - }{\mdf@linewidth}% - }{}% - \ifboolexpr{ not(bool {mdf@leftline}) and bool {mdf@rightline} }% - {%\hspace*{\mdf@middlelinewidth@length}% - \rule[-\mdf@innerbottommargin@length-\mdf@middlelinewidth@length]% - {\wd\@tempboxa% - +\mdf@innerleftmargin@length% - +\mdf@innerrightmargin@length% - +\mdf@middlelinewidth@length% - % +\mdf@middlelinewidth@length% - }{\mdf@linewidth}% - }{}% - \ifboolexpr{ not(bool {mdf@leftline}) and not( bool {mdf@rightline}) }% - {%\hspace*{\mdf@middlelinewidth@length}% - \rule[-\mdf@innerbottommargin@length-\mdf@middlelinewidth@length]% - {\wd\@tempboxa% - +\mdf@innerleftmargin@length% - +\mdf@innerrightmargin@length% - % +\mdf@middlelinewidth@length% - % +\mdf@middlelinewidth@length% - }{\mdf@linewidth}% - }{}% - \fi% - }% - \rlap{\color{\mdf@middlelinecolor}% - \ifmdf@topline% - \ifboolexpr{ bool {mdf@leftline} and bool {mdf@rightline} }% - {%\hspace*{\mdf@middlelinewidth@length}% - \rule[% - \mdf@innertopmargin@length - +\ht\@tempboxa+\dp\@tempboxa]% - {\wd\@tempboxa% - +\mdf@innerleftmargin@length% - +\mdf@innerrightmargin@length% - +\mdf@middlelinewidth@length% - +\mdf@middlelinewidth@length% - }{\mdf@linewidth}% - }{}% - \ifboolexpr{ bool {mdf@leftline} and not( bool {mdf@rightline}) }% - {%\hspace*{\mdf@middlelinewidth@length}% - \rule[% - \mdf@innertopmargin@length - +\ht\@tempboxa+\dp\@tempboxa]% - {\wd\@tempboxa% - +\mdf@innerleftmargin@length% - +\mdf@innerrightmargin@length% -% +\mdf@middlelinewidth@length% - +\mdf@middlelinewidth@length% - }{\mdf@linewidth}% - }{}% - \ifboolexpr{ not(bool {mdf@leftline}) and bool {mdf@rightline} }% - {%\hspace*{\mdf@middlelinewidth@length}% - \rule[% - \mdf@innertopmargin@length - +\ht\@tempboxa+\dp\@tempboxa]% - {\wd\@tempboxa% - +\mdf@innerleftmargin@length% - +\mdf@innerrightmargin@length% -% +\mdf@middlelinewidth@length% - +\mdf@middlelinewidth@length% - }{\mdf@linewidth}% - }{}% - \ifboolexpr{ not(bool {mdf@leftline}) and not( bool {mdf@rightline}) }% - {%\hspace*{\mdf@middlelinewidth@length}% - \rule[% - \mdf@innertopmargin@length - +\ht\@tempboxa+\dp\@tempboxa]% - {\wd\@tempboxa% - +\mdf@innerleftmargin@length% - +\mdf@innerrightmargin@length% -% +\mdf@middlelinewidth@length% -% +\mdf@middlelinewidth@length% - }{\mdf@linewidth}% - }{}% - \fi% - }% + \ifbool{mdf@bottomline}{\rule[-\dp\@tempboxa-\mdf@innerbottommargin@length% + -\mdf@middlelinewidth@length]{\mdfboundingboxwidth+% + \mdf@innerleftmargin@length+\mdf@innerrightmargin@length}% + {\mdf@middlelinewidth@length}}{}% + }% +} +% +\def\md@frame@leftline@single{% + \llap{\color{\mdf@middlelinecolor}% + \rule[-\dp\@tempboxa-\mdf@innerbottommargin@length% + \ifbool{mdf@bottomline}{-\mdf@middlelinewidth@length}{}]% + {\mdf@middlelinewidth@length}{\mdfboundingboxheight% + +\ifbool{mdf@bottomline}{\mdf@middlelinewidth@length}{0pt} + +\ifbool{mdf@topline}{\mdf@middlelinewidth@length}{0pt}}% + }% }% - +% \def\md@frame@rightline@single{% - \llap{\color{\mdf@middlelinecolor} - \ifmdf@rightline% - \rule[-\mdf@innerbottommargin@length]% - {\mdf@linewidth}% - {\mdfboundingboxheight-2\mdf@middlelinewidth@length}% - \fi% + \rlap{\color{\mdf@middlelinecolor}% + \hspace*{\mdfboundingboxwidth}% + \hspace*{\mdf@innerrightmargin@length}% + \rule[-\dp\@tempboxa-\mdf@innerbottommargin@length% + \ifbool{mdf@bottomline}{-\mdf@middlelinewidth@length}{}]% + {\mdf@middlelinewidth@length}{\mdfboundingboxheight% + +\ifbool{mdf@bottomline}{\mdf@middlelinewidth@length}{0pt}% + +\ifbool{mdf@topline}{\mdf@middlelinewidth@length}{0pt}}% }% }% - - +% \def\md@putbox@single{%%%%% Ausgabe der ungesplitteten Gesamtbox \ifvoid\@tempboxa \else \leftline{% + \setlength{\mdfboundingboxwidth}{\wd\@tempboxa}% + \setlength{\mdfboundingboxheight}{\ht\@tempboxa+\dp\@tempboxa}% + \advance\mdfboundingboxheight by \mdf@innertopmargin@length\relax% + \advance\mdfboundingboxheight by \mdf@innerbottommargin@length\relax% \null\hspace*{\mdf@leftmargin@length}% - \md@frame@leftandbottomandtopline@single% - \ifbool{mdf@leftline}% - {\hspace*{\mdf@middlelinewidth@length}}{}% + \ifbool{mdf@leftline}{% + \hspace*{\mdf@middlelinewidth@length}% + \md@frame@leftline@single% + }{}% + \md@frame@leftandbottomline@single \md@frame@background@single% \hspace*{\mdf@innerleftmargin@length}% + \ifbool{mdf@rightline}{% + \md@frame@rightline@single% + }{}% {\box\@tempboxa}% - \hspace*{\mdf@innerrightmargin@length}% - \hspace*{\mdf@middlelinewidth@length}% - \md@frame@rightline@single% }% \fi } - - -%%=first=%% - +%%==================================================%% +%%================first-box=========================%% +%%==================================================%% +% \def\md@frame@background@first{% - \setlength{\mdfboundingboxheight}{\ht\tw@+\dp\tw@}% - \addtolength{\mdfboundingboxheight}{% - \mdf@innertopmargin@length% - +\mdf@splitbottomskip@length% - }% \rlap{\color{\mdf@backgroundcolor}% \rule[-\dp\tw@-\mdf@splitbottomskip@length]% - {\wd\tw@+\mdf@innerleftmargin@length+\mdf@innerrightmargin@length}% + {\mdfboundingboxwidth+\mdf@innerleftmargin@length+\mdf@innerrightmargin@length}% {\mdfboundingboxheight}% }% }% - -\def\md@frame@topandleftline@first{% - \setlength{\mdfboundingboxheight}{\ht\tw@+\dp\tw@}% - \addtolength{\mdfboundingboxheight}{% - 1\mdf@innertopmargin@length% - +1\mdf@middlelinewidth@length% - +\mdf@splitbottomskip@length% - }% - \rlap{\color{\mdf@middlelinecolor} - \ifbool{mdf@leftline}% - {% - \rule[-\dp\tw@-\mdf@splitbottomskip@length]% - {\mdf@middlelinewidth@length}% - {\mdfboundingboxheight-\mdf@middlelinewidth@length}% - }{}% - }% - \rlap{\color{\mdf@middlelinecolor}% - \ifmdf@topline - \ifboolexpr{ bool {mdf@leftline} and bool {mdf@rightline}}% - {\rule[\mdfboundingboxheight-\mdf@middlelinewidth@length-\dp\tw@-\mdf@splitbottomskip@length]% - {\wd\tw@% - +\mdf@innerleftmargin@length% - +\mdf@innerrightmargin@length% - +\mdf@middlelinewidth@length% - +\mdf@middlelinewidth@length% - }{\mdf@linewidth@length}% - }{}% - \ifboolexpr{ bool {mdf@leftline} and not(bool {mdf@rightline}) }% - {\rule[\mdfboundingboxheight-\mdf@middlelinewidth@length-\dp\tw@-\mdf@splitbottomskip@length]% - {\wd\tw@% - +\mdf@innerleftmargin@length% - +\mdf@innerrightmargin@length% - +\mdf@middlelinewidth@length% -% +\mdf@middlelinewidth@length% - }{\mdf@linewidth@length}% - }{}% - \ifboolexpr{ not (bool {mdf@leftline}) and bool {mdf@rightline} }% - {%\hspace*{\mdf@middlelinewidth@length}% - \rule[\mdfboundingboxheight-\mdf@middlelinewidth@length-\dp\tw@-\mdf@splitbottomskip@length]% - {\wd\tw@% - +\mdf@innerleftmargin@length% - +\mdf@innerrightmargin@length% - +\mdf@middlelinewidth@length% -% +\mdf@middlelinewidth@length% - }{\mdf@linewidth@length}% - }{}% - \ifboolexpr{ not (bool {mdf@leftline}) and not( bool {mdf@rightline}) }% - {%\hspace*{\mdf@middlelinewidth@length}% - \rule[\mdfboundingboxheight-\mdf@middlelinewidth@length-\dp\tw@-\mdf@splitbottomskip@length]% - {\wd\tw@% - +\mdf@innerleftmargin@length% - +\mdf@innerrightmargin@length% -% +\mdf@middlelinewidth@length% -% +\mdf@middlelinewidth@length% - }{\mdf@linewidth@length}% - }{}% - \fi% - \ifmdf@rightline - \ifmdf@topline\else% - \deflength\@tempskipb{\wd\tw@% - +\mdf@innerleftmargin@length% - +\mdf@innerrightmargin@length% - +2\mdf@middlelinewidth@length% - }% - \hspace*{\@tempskipb}% - \fi% - \llap{\color{\mdf@middlelinecolor}% - \rule[-\dp\tw@-\mdf@splitbottomskip@length]{\mdf@middlelinewidth@length}% - {\mdfboundingboxheight-\mdf@middlelinewidth@length}% - }% - \fi% - }% +% +\def\md@frame@leftline@first{% + \llap{\color{\mdf@middlelinecolor}% + \rule[-\dp\tw@-\mdf@splitbottomskip@length]% + {\mdf@middlelinewidth@length}% + {\mdfboundingboxheight+\ifbool{mdf@topline}{\mdf@middlelinewidth@length}{0pt}}% + }% }% - - - - +% +\def\md@frame@topline@first{% + \rlap{\color{\mdf@middlelinecolor}% + \rule[\ht\tw@+\mdf@innertopmargin@length] + {\mdfboundingboxwidth+\mdf@innerleftmargin@length+\mdf@innerrightmargin@length}% + {\mdf@middlelinewidth@length}% + }% +} +% +\def\md@frame@rightline@first{% + \rlap{\color{\mdf@middlelinecolor}\hspace*{\mdfboundingboxwidth}% + \hspace*{\mdf@innerrightmargin@length}% + \rule[-\dp\tw@-\mdf@splitbottomskip@length]% + {\mdf@middlelinewidth@length}% + {\mdfboundingboxheight+\ifbool{mdf@topline}{\mdf@middlelinewidth@length}{0pt}}% + }% +}% +% \def\md@putbox@first{%%%% Ausgabe der Teilbox 1 \leftline{% - \null\hspace*{\mdf@leftmargin@length}% - \md@frame@topandleftline@first% - \ifbool{mdf@leftline}% - {\hspace*{\mdf@middlelinewidth@length}}{}% - \md@frame@background@first% - \hspace*{\mdf@innerleftmargin@length}% - {\box\tw@}% - }% + \setlength{\mdfboundingboxwidth}{\wd\tw@}% + \setlength{\mdfboundingboxheight}{\ht\tw@+\dp\tw@+\mdf@innertopmargin@length+\mdf@splitbottomskip@length}% + \null\hspace*{\mdf@leftmargin@length}% + \ifbool{mdf@leftline}{% + \hspace*{\mdf@middlelinewidth@length}% + \md@frame@leftline@first}{}% + \ifbool{mdf@topline}{% + \md@frame@topline@first}{}% + \md@frame@background@first% + \hspace*{\mdf@innerleftmargin@length}% + \ifbool{mdf@rightline}{% + \md@frame@rightline@first}{}% + {\box\tw@}% + }% } - -%%=second=%% - +%%==================================================%% +%%=================last-box=========================%% +%%==================================================%% \def\md@frame@background@second{% - \setlength{\mdfboundingboxheight}{\ht\@tempboxa+\dp\@tempboxa}% - \addtolength{\mdfboundingboxheight}{% - +\mdf@innerbottommargin@length% - }% \rlap{\color{\mdf@backgroundcolor}% - \rule[\dp\@tempboxa-\mdf@innerbottommargin@length]% - {\wd\@tempboxa+\mdf@innerleftmargin@length% + \rule[-\dp\@tempboxa-\mdf@innerbottommargin@length]% + {\mdfboundingboxwidth+\mdf@innerleftmargin@length% +\mdf@innerrightmargin@length}% {\mdfboundingboxheight}% }% }% - -\def\md@frame@lines@second{% - \setlength{\mdfboundingboxheight}{\ht\@tempboxa+\dp\@tempboxa}% - \addtolength{\mdfboundingboxheight}{% - +\mdf@innerbottommargin@length% - +\mdf@middlelinewidth@length% - }% - \rlap{\color{\mdf@middlelinecolor}% - \ifbool{mdf@leftline}% - {\rule[\dp\@tempboxa-\mdf@innerbottommargin@length]% - {\mdf@middlelinewidth@length}% - {\mdfboundingboxheight-\mdf@middlelinewidth@length}% - }{}% - }% - \rlap{\color{\mdf@middlelinecolor}% - \ifbool{mdf@bottomline}% - {% - \ifboolexpr{ bool {mdf@leftline} and bool {mdf@rightline} }% - {\rule[\dp\@tempboxa-\mdf@innerbottommargin@length-\mdf@middlelinewidth@length]% - {\wd\@tempboxa+\mdf@innerleftmargin@length% - +\mdf@innerrightmargin@length+2\mdf@middlelinewidth@length}% - {\mdf@middlelinewidth@length}% - }{}% - \ifboolexpr{ not (bool {mdf@leftline}) and not(bool {mdf@rightline}) }% - {% - \rule[\dp\@tempboxa-\mdf@innerbottommargin@length-\mdf@middlelinewidth@length]% - {\wd\@tempboxa+\mdf@innerleftmargin@length% - +\mdf@innerrightmargin@length}% - {\mdf@middlelinewidth@length}% - }{}% - \ifboolexpr{ bool {mdf@leftline} and not( bool {mdf@rightline}) }% - {% - \rule[\dp\@tempboxa-\mdf@innerbottommargin@length-\mdf@middlelinewidth@length]% - {\wd\@tempboxa+\mdf@innerleftmargin@length% - +\mdf@innerrightmargin@length+\mdf@middlelinewidth@length}% - {\mdf@middlelinewidth@length}% - }{}% - \ifboolexpr{ not(bool {mdf@leftline}) and bool {mdf@rightline} }% - {% - \rule[\dp\@tempboxa-\mdf@innerbottommargin@length-\mdf@middlelinewidth@length]% - {\wd\@tempboxa+\mdf@innerleftmargin@length% - +\mdf@innerrightmargin@length+\mdf@middlelinewidth@length}% - {\mdf@middlelinewidth@length}% - }{}% - }{}% - \llap{\color{\mdf@middlelinecolor}% - \ifbool{mdf@rightline}% - {\rule[\dp\@tempboxa-\mdf@innerbottommargin@length]% - {\mdf@middlelinewidth@length}% - {\mdfboundingboxheight-\mdf@middlelinewidth@length}% - \ifbool{mdf@bottomline}{}% - {\deflength\@tempskipb{\wd\@tempboxa% - +\mdf@innerleftmargin@length% - +\mdf@innerrightmargin@length% - +2\mdf@middlelinewidth@length% - }% - \hspace*{-\@tempskipb}% - }% - }{}% - }% - }% +% +\def\md@frame@leftline@second{% + \llap{\color{\mdf@middlelinecolor}% + \rule[-\dp\@tempboxa-\mdf@innerbottommargin@length% + -\ifbool{mdf@bottomline}{\mdf@middlelinewidth@length}{0pt}]% + {\mdf@middlelinewidth@length}% + {\mdfboundingboxheight+\ifbool{mdf@bottomline}{\mdf@middlelinewidth@length}{0pt}}% + }% }% - - -\def\md@putbox@second{%%%%% Ausgabe der mittleren Teilbox +% +\def\md@frame@bottomline@second{% + \rlap{\color{\mdf@middlelinecolor}% + \rule[-\dp\@tempboxa-\mdf@innerbottommargin@length-\mdf@middlelinewidth@length] + {\mdfboundingboxwidth+\mdf@innerleftmargin@length+\mdf@innerrightmargin@length}% + {\mdf@middlelinewidth@length}% + }% +}% +% +\def\md@frame@rightline@second{% + \rlap{\color{\mdf@middlelinecolor}\hspace*{\mdfboundingboxwidth}% + \hspace*{\mdf@innerrightmargin@length}% + \rule[-\dp\@tempboxa-\mdf@innerbottommargin@length% + -\ifbool{mdf@bottomline}{\mdf@middlelinewidth@length}{0pt}]% + {\mdf@middlelinewidth@length}% + {\mdfboundingboxheight+\ifbool{mdf@bottomline}{\mdf@middlelinewidth@length}{0pt}}% + }% +}% +% +\def\md@putbox@second{% \ifvoid\@tempboxa% \else \leftline{% - \null\hspace*{\mdf@leftmargin@length}% - \md@frame@lines@second% - \ifbool{mdf@leftline}% - {\hspace*{\mdf@middlelinewidth@length}}{}% - \md@frame@background@second% - \hspace*{\mdf@innerleftmargin@length}% - {\box\@tempboxa}% + \setlength{\mdfboundingboxwidth}{\wd\@tempboxa}% + \setlength{\mdfboundingboxheight}{\ht\@tempboxa+\dp\@tempboxa}% + \advance\mdfboundingboxheight by \mdf@innerbottommargin@length\relax% + \null\hspace*{\mdf@leftmargin@length}% + \ifbool{mdf@leftline}{% + \hspace*{\mdf@middlelinewidth@length}% + \md@frame@leftline@second}{}% + \ifbool{mdf@bottomline}{% + \md@frame@bottomline@second}{}% + \md@frame@background@second% + \hspace*{\mdf@innerleftmargin@length}% + \ifbool{mdf@rightline}{% + \md@frame@rightline@second}{}% + {\box\@tempboxa}% }% \fi% }% - - -%%=middle=%% - +%%==================================================%% +%%================middle-box========================%% +%%==================================================%% \def\md@frame@background@middle{% - \setlength{\mdfboundingboxheight}{\ht\tw@+\dp\tw@}% - \addtolength{\mdfboundingboxheight}{% - \mdf@splitbottomskip@length% - }% \rlap{\color{\mdf@backgroundcolor}% \rule[-\dp\tw@-\mdf@splitbottomskip@length]% - {\wd\tw@+\mdf@innerleftmargin@length+\mdf@innerrightmargin@length}% + {\mdfboundingboxwidth+\mdf@innerleftmargin@length+\mdf@innerrightmargin@length}% {\mdfboundingboxheight}% }% }% - -\def\md@frame@lines@middle{% - \setlength{\mdfboundingboxheight}{\ht\tw@+\dp\tw@}% - \addtolength{\mdfboundingboxheight}{% - \mdf@splitbottomskip@length% - }% - \rlap{\color{\mdf@middlelinecolor}% - \ifbool{mdf@leftline}% - {% - \rule[-\dp\tw@-\mdf@splitbottomskip@length]{\mdf@middlelinewidth@length}{\mdfboundingboxheight}% - }{}% - \ifbool{mdf@rightline}% - {% - \deflength{\mdfpositionx}{\wd\tw@% - +\mdf@innerleftmargin@length% - +\mdf@innerrightmargin@length% - +\mdf@middlelinewidth@length% - }% - \hspace*{\mdfpositionx}% - \llap{\color{\mdf@middlelinecolor}% - \rule[-\dp\tw@-\mdf@splitbottomskip@length]{\mdf@middlelinewidth@length}{\mdfboundingboxheight}% - \ifbool{mdf@leftline}{}{}% - }% - }{}% - }% +% +\def\md@frame@leftline@middle{% + \llap{\color{\mdf@middlelinecolor}% + \rule[-\dp\tw@-\mdf@splitbottomskip@length]% + {\mdf@middlelinewidth@length}% + {\mdfboundingboxheight}% + }% }% - - - - -\def\md@putbox@middle{%%%% Ausgabe der Teilbox 1 +% +\def\md@frame@rightline@middle{% + \rlap{\color{\mdf@middlelinecolor}\hspace*{\mdfboundingboxwidth}% + \hspace*{\mdf@innerrightmargin@length}% + \rule[-\dp\tw@-\mdf@splitbottomskip@length]% + {\mdf@middlelinewidth@length}% + {\mdfboundingboxheight}% + }% +}% +% +\def\md@putbox@middle{% \leftline{% - \null\hspace*{\mdf@leftmargin@length}% - \md@frame@lines@middle% - \ifbool{mdf@leftline}% - {\hspace*{\mdf@middlelinewidth@length}}{}% - \md@frame@background@middle% - \hspace*{\mdf@innerleftmargin@length}% + \setlength{\mdfboundingboxwidth}{\wd\tw@}% + \setlength{\mdfboundingboxheight}{\ht\tw@+\dp\tw@}% + \advance\mdfboundingboxheight by \mdf@splitbottomskip@length\relax% + \null\hspace*{\mdf@leftmargin@length}% + \ifbool{mdf@leftline}{% + \hspace*{\mdf@middlelinewidth@length}% + \md@frame@leftline@middle}{}% + \md@frame@background@middle% + \hspace*{\mdf@innerleftmargin@length}% + \ifbool{mdf@rightline}{% + \md@frame@rightline@middle}{} {\box\tw@}% }% } 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 8d5f16d9c74..1359a2e7c3f 100644 --- a/Master/texmf-dist/tex/latex/mdframed/md-frame-1.mdf +++ b/Master/texmf-dist/tex/latex/mdframed/md-frame-1.mdf @@ -8,186 +8,360 @@ %% 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 105 2010-12-22 16:50:44Z marco $ -%%$Rev: 105 $ +%%$Id: md-frame-1.mdf 161 2011-08-06 11:28:15Z marco $ +%%$Rev: 161 $ %%$Author: marco $ -%%$Date: 2010-12-22 17:50:44 +0100 (Mi, 22. Dez 2010) $ +%%$Date: 2011-08-06 13:28:15 +0200 (Sa, 06. Aug 2011) $ -\def\mdversion{v0.6a} \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 105 2010-12-22 16:50:44Z marco $ \mdversion: \mdframedIpackagename] - -%%Allgemeine Einstellungen fuer tikz +\ProvidesFile{md-frame-1.mdf}[\md@frameIdate@svn$Id: md-frame-1.mdf 161 2011-08-06 11:28:15Z marco $ \mdversion: \mdframedIpackagename] +%%%% _____t_____ +%%%% | | +%%%% | | +%%%% | | +%%%% l| |r +%%%% | | +%%%% | | +%%%% |___________| +%%%% b +%%Zusammenhaenge abfragen: +\newrobustcmd*\md@test@ltrb{\ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline}) + and (bool {mdf@leftline}) and (bool {mdf@rightline})}} +%3-set +\newrobustcmd*\md@test@ltr{\ifboolexpr{ (bool {mdf@topline}) and not (bool {mdf@bottomline}) + and (bool {mdf@leftline}) and (bool {mdf@rightline})}} +\newrobustcmd*\md@test@ltb{\ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline}) + and (bool {mdf@leftline}) and not (bool {mdf@rightline})}} +\newrobustcmd*\md@test@trb{\ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline}) + and not (bool {mdf@leftline}) and (bool {mdf@rightline})}} +\newrobustcmd*\md@test@lrb{\ifboolexpr{ not (bool {mdf@topline}) and (bool {mdf@bottomline}) + and (bool {mdf@leftline}) and (bool {mdf@rightline})}} +%2-set +\newrobustcmd*\md@test@lb{\ifboolexpr{ not (bool {mdf@topline}) and (bool {mdf@bottomline}) + and (bool {mdf@leftline}) and not (bool {mdf@rightline})}} +\newrobustcmd*\md@test@rb{\ifboolexpr{ not (bool {mdf@topline}) and (bool {mdf@bottomline}) + and not (bool {mdf@leftline}) and (bool {mdf@rightline})}} +\newrobustcmd*\md@test@tr{\ifboolexpr{ (bool {mdf@topline}) and not (bool {mdf@bottomline}) + and not (bool {mdf@leftline}) and (bool {mdf@rightline})}} +\newrobustcmd*\md@test@lt{\ifboolexpr{ (bool {mdf@topline}) and not (bool {mdf@bottomline}) + and (bool {mdf@leftline}) and not (bool {mdf@rightline})}} +\newrobustcmd*\md@test@lr{\ifboolexpr{not (bool {mdf@topline}) and not (bool {mdf@bottomline}) + and (bool {mdf@leftline}) and (bool {mdf@rightline})}} +\newrobustcmd*\md@test@tb{\ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline}) + and not (bool {mdf@leftline}) and not (bool {mdf@rightline})}} +%Einzellinien +\newrobustcmd*\md@test@l{\ifboolexpr{ not (bool {mdf@topline}) and not (bool {mdf@bottomline}) + and (bool {mdf@leftline}) and not (bool {mdf@rightline})}} +\newrobustcmd*\md@test@r{\ifboolexpr{ not (bool {mdf@topline}) and not (bool {mdf@bottomline}) + and not (bool {mdf@leftline}) and (bool {mdf@rightline})}} +\newrobustcmd*\md@test@t{\ifboolexpr{ (bool {mdf@topline}) and not (bool {mdf@bottomline}) + and not (bool {mdf@leftline}) and not (bool {mdf@rightline})}} +\newrobustcmd*\md@test@b{\ifboolexpr{ not (bool {mdf@topline}) and (bool {mdf@bottomline}) + and not (bool {mdf@leftline}) and not (bool {mdf@rightline})}} +%keine Linien +\newrobustcmd*\md@test@noline{\ifboolexpr{ not (bool {mdf@topline}) and not (bool {mdf@bottomline}) + and not (bool {mdf@leftline}) and not (bool {mdf@rightline})}} +% +%Allgemeine Einstellungen fuer tikz \def\md@tikz@settings{% - %wenn das Innere der Doppellinie 0pt breit ist, - %muss Grenze zwischen innerer und aeusserer Linie - %einer Farbe zugeordnet werden - \ifdimequal{\mdf@middlelinewidth@length}{\z@}% - {\ifdimequal{\mdf@innerlinewidth@length}{\z@}% - {\ifdimequal{\mdf@outerlinewidth@length}{\z@}% - {\let\mdf@middlelinecolor\mdf@backgroundcolor}% - {\let\mdf@middlelinecolor\mdf@outerlinecolor}% - }% - {\let\mdf@middlelinecolor\mdf@innerlinecolor}% - }{}% - \ifdimequal{\mdf@innerlinewidth@length}{\z@}% - {\ifdimequal{\mdf@outerlinewidth@length}{\z@}% - {\ifdimequal{\mdf@middlelinewidth@length}{\z@}% - {}% - {\let\mdf@middlelinecolor\mdf@linecolor}% - }% - {}% - }{}% - \tikzset{mdftext/.style={inner sep=0pt,outer sep=0pt}}% - \tikzset{mdfcorners/.style={rounded corners=\mdf@roundcorner@length}}% - \tikzset{mdfbackground/.style={fill=\mdf@backgroundcolor}}% - \ifdimgreater{\mdf@outerlinewidth@length}{\z@}% - {\tikzset{mdfborderA/.style={% - draw=\mdf@outerlinecolor,% - line width=2\mdf@outerlinewidth@length+\mdf@middlelinewidth@length% - }% - }% - }% - {\tikzset{mdfborderA/.style={}}}% - \ifdimgreater{\mdf@innerlinewidth@length}{\z@}% - {\tikzset{mdfborderI/.style={% - draw=\mdf@innerlinecolor,% - line width=2\mdf@innerlinewidth@length+\mdf@middlelinewidth@length% - }% - }% - }% - {\tikzset{mdfborderI/.style={}}}% - \tikzset{mdfmiddle/.style={draw=\mdf@middlelinecolor,line width=\mdf@middlelinewidth@length}}% +% + \tikzset{mdfbox/.style={anchor=south west,inner sep=0pt,outer sep=0pt}}% anchor der Ausgabebox ist unten links + \tikzset{mdfcorners/.style={rounded corners=\mdf@roundcorner@length}}% + \tikzset{mdfbackground/.style={fill=\mdf@backgroundcolor,draw=\mdf@backgroundcolor}}% +% + \tikzset{mdfouterline/.style={}}% + \ifdimgreater{\mdf@outerlinewidth@length}{\z@}%nur wenn outerlinewidth>0 wird aussere Linie gezeichnet + {\tikzset{mdfouterline/.append style={% + draw=\mdf@outerlinecolor,% + line width=2\mdf@outerlinewidth@length+\mdf@middlelinewidth@length}}}{}% +% + \tikzset{mdfinnerline/.style={}}% + \ifdimgreater{\mdf@innerlinewidth@length}{\z@}% nur wenn innerlinewidth>0 wird innere Linie gezeichnet + {\tikzset{mdfinnerline/.append style={% + draw=\mdf@innerlinecolor,% + line width=2\mdf@innerlinewidth@length+\mdf@middlelinewidth@length}}}{}% +% + \mdf@tikzset@local + \tikzset{mdfmiddleline/.style={}}% + \ifdimgreater{\mdf@middlelinewidth@length}{\z@}% nur wenn middlelinewidth>0 wird mittlere Linie gezeichnet + {\tikzset{mdfmiddleline/.append style={% + preaction={draw=\mdf@middlelinecolor,line width=\mdf@middlelinewidth@length},% + line width=\mdf@middlelinewidth@length, + tikzsetting}}% + }{}% }% - - - +% +% Befehle fuer Ausgabe von Rahmen und Hintergrund +\newrobustcmd*\md@tikzbox@tfl[1]{%three or four borders + \clip(0,0)rectangle(\mdfboundingboxwidth,\mdfboundingboxheight);% + \begin{scope}[mdfcorners]% + \clip[preaction=mdfouterline][postaction=mdfbackground][postaction=mdfinnerline]#1;% + \end{scope}% + \path[mdfmiddleline,mdfcorners]#1;}% +\newrobustcmd*\md@tikzbox@otl[2]{%one or two borders + \clip(0,0)rectangle(\mdfboundingboxwidth,\mdfboundingboxheight);% + \begin{scope} + \path[mdfouterline,mdfcorners]#1;% + \clip[postaction=mdfbackground]#2;% + \path[mdfinnerline,mdfcorners]#1;% + \end{scope} + \path[mdfmiddleline,mdfcorners]#1;}% +% +% 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 +% \def\md@putbox@single{% - \leftline{\null\hspace*{\mdf@leftmargin@length}%% - \md@tikz@settings% - \setlength\mdfboxwidth{\wd\@tempboxa}% - \setlength\mdfboxheight{\ht\@tempboxa+\dp\@tempboxa}% - \begin{tikzpicture} - \coordinate(O)at(0,0); - \pgfmathsetlengthmacro\x{\mdfboxwidth+\mdf@innerrightmargin@length% - +\mdf@innerleftmargin@length+% - 2\mdf@innerlinewidth@length+\mdf@middlelinewidth@length} - \pgfmathsetlengthmacro\xp{\mdf@innerleftmargin@length+% - 1*\mdf@innerlinewidth@length+0.5*\mdf@middlelinewidth@length} - \pgfmathsetlengthmacro\y{\mdfboxheight+\mdf@innertopmargin@length% - +\mdf@innerbottommargin@length% - +2*\mdf@innerlinewidth@length+\mdf@middlelinewidth@length} - \pgfmathsetlengthmacro\yp{\mdf@innerbottommargin@length% - +1*\mdf@innerlinewidth@length+0.5*\mdf@middlelinewidth@length} - \coordinate(P)at(\x,\y); - \begin{scope} - \clip[preaction=mdfborderA]% - [postaction={mdfbackground,mdfborderI}]% - [mdfcorners](O)--(O|-P)--(P)--(P|-O)--cycle; - \end{scope} - \path[mdfmiddle,mdfcorners](O)--(O|-P)--(P)--(P|-O)--cycle; - \node[mdftext,anchor=south west]at(\xp,\yp){\box\@tempboxa}; - \end{tikzpicture}% - }% + \leftline{\null\hspace*{\mdf@leftmargin@length}%% + \md@tikz@settings% +% + \setlength\mdfboundingboxwidth{\wd\@tempboxa}% + \advance\mdfboundingboxwidth by \mdf@innerleftmargin@length\relax% + \advance\mdfboundingboxwidth by \mdf@innerrightmargin@length\relax% + \ifbool{mdf@leftline}{% + \advance\mdfboundingboxwidth by \mdf@innerlinewidth@length\relax% + \advance\mdfboundingboxwidth by \mdf@middlelinewidth@length\relax% + \advance\mdfboundingboxwidth by \mdf@outerlinewidth@length\relax}{}% + \ifbool{mdf@rightline}{% + \advance\mdfboundingboxwidth by \mdf@innerlinewidth@length\relax% + \advance\mdfboundingboxwidth by \mdf@middlelinewidth@length\relax% + \advance\mdfboundingboxwidth by \mdf@outerlinewidth@length\relax}{}% +% + \setlength\mdfboundingboxheight{\ht\@tempboxa+\dp\@tempboxa}% + \advance\mdfboundingboxheight by \mdf@innertopmargin@length\relax% + \advance\mdfboundingboxheight by \mdf@innerbottommargin@length\relax% + \ifbool{mdf@topline}{% + \advance\mdfboundingboxheight by \mdf@innerlinewidth@length\relax% + \advance\mdfboundingboxheight by \mdf@middlelinewidth@length\relax% + \advance\mdfboundingboxheight by \mdf@outerlinewidth@length\relax}{}% + \ifbool{mdf@bottomline}{% + \advance\mdfboundingboxheight by \mdf@innerlinewidth@length\relax% + \advance\mdfboundingboxheight by \mdf@middlelinewidth@length\relax% + \advance\mdfboundingboxheight by \mdf@outerlinewidth@length\relax}{}% +% + \begin{tikzpicture}% + \pgfmathsetlengthmacro\md@Ax{+\mdf@innerleftmargin@length}% + \pgfmathsetlengthmacro\md@Ay{+\mdf@innerbottommargin@length}% + \pgfmathsetlengthmacro\md@Ox{+0pt}% + \pgfmathsetlengthmacro\md@Oy{+0pt}% + \pgfmathsetlengthmacro\md@Px{+\mdfboundingboxwidth}% + \pgfmathsetlengthmacro\md@Py{+\mdfboundingboxheight}% + \ifbool{mdf@leftline}{% + \pgfmathsetlengthmacro\md@Ax{\md@Ax+\mdf@outerlinewidth@length+\mdf@middlelinewidth@length+\mdf@innerlinewidth@length}% + \pgfmathsetlengthmacro\md@Ox{\md@Ox+\mdf@outerlinewidth@length+0.5\mdf@middlelinewidth@length}}{}% + \ifbool{mdf@rightline}{% + \pgfmathsetlengthmacro\md@Px{\md@Px-\mdf@outerlinewidth@length-0.5\mdf@middlelinewidth@length}}{}% + \ifbool{mdf@bottomline}{% + \pgfmathsetlengthmacro\md@Ay{\md@Ay+\mdf@outerlinewidth@length+\mdf@middlelinewidth@length+\mdf@innerlinewidth@length}% + \pgfmathsetlengthmacro\md@Oy{\md@Oy+\mdf@outerlinewidth@length+0.5\mdf@middlelinewidth@length}}{}% + \ifbool{mdf@topline}{% + \pgfmathsetlengthmacro\md@Py{\md@Py-\mdf@outerlinewidth@length-0.5\mdf@middlelinewidth@length}}{}% +% + \coordinate(O)at(\md@Ox,\md@Oy);% + \coordinate(P)at(\md@Px,\md@Py);% +% + \md@test@ltrb{\md@tikzbox@tfl{(O)--(O|-P)--(P)--(P|-O)--cycle}}{}% +% + \md@test@ltb{\md@tikzbox@tfl{(P|-O)--(O)--(O|-P)--(P)}}{}% + \md@test@trb{\md@tikzbox@tfl{(O|-P)--(P)--(P|-O)--(O)}}{}% + \md@test@ltr{\md@tikzbox@tfl{(O)--(O|-P)--(P)--(P|-O)}}{}% + \md@test@lrb{\md@tikzbox@tfl{(P-|O)--(O)--(O-|P)--(P)}}{}% +% + \md@test@lb{\md@tikzbox@otl{(P|-O)--(O)--(O|-P)}{(P)--(P|-O)[mdfcorners]--(O)--(O|-P)}}{}% + \md@test@rb{\md@tikzbox@otl{(P)--(P|-O)--(O)}{(O|-P)--(P)[mdfcorners]--(P|-O)--(O)}}{}% + \md@test@tr{\md@tikzbox@otl{(O-|P)--(P)--(P-|O)}{(O)--(O|-P)[mdfcorners]--(P)--(P|-O)}}{}% + \md@test@lt{\md@tikzbox@otl{(O)--(O|-P)--(P)}{(P|-O)--(O)[mdfcorners]--(O|-P)--(P)}}{}% + \md@test@lr{\md@tikzbox@otl{(O)--(O|-P)(P)--(P|-O)}{(O)rectangle(P)}}{}% + \md@test@tb{\md@tikzbox@otl{(O)--(O-|P)(O|-P)--(P)}{(O)rectangle(P)}}{}% +% + \md@test@l{\md@tikzbox@otl{(O)--(O|-P)}{(O)rectangle(P)}}{}% + \md@test@r{\md@tikzbox@otl{(O-|P)--(P)}{(O)rectangle(P)}}{}% + \md@test@t{\md@tikzbox@otl{(O|-P)--(P)}{(O)rectangle(P)}}{}% + \md@test@b{\md@tikzbox@otl{(O)--(O-|P)}{(O)rectangle(P)}}{}% +% + \md@test@noline{\path[mdfbackground,mdfcorners](O)rectangle(P);}{}% +% + \node[mdfbox]at(\md@Ax,\md@Ay){\box\@tempboxa};% Ausgabebox einfuegen + \end{tikzpicture}% + }% }% \def\md@putbox@first{% - \leftline{\null\hspace*{\mdf@leftmargin@length}%% - \md@tikz@settings% - \setlength\mdfboxwidth{\wd\tw@}% - \setlength\mdfboxheight{\ht\tw@+\dp\tw@}% - \ifdimequal{\pagegoal}{\maxdimen}{\enlargethispage{\baselineskip}}{}% - \begin{tikzpicture} - \coordinate(O) at (0,0); - \pgfmathsetlengthmacro\x{\mdfboxwidth+\mdf@innerrightmargin@length% - +\mdf@innerleftmargin@length+% - 2*\mdf@innerlinewidth@length+1*\mdf@middlelinewidth@length} - \pgfmathsetlengthmacro\xp{\mdf@innerleftmargin@length+% - 1*\mdf@innerlinewidth@length+0.5*\mdf@middlelinewidth@length} - \pgfmathsetlengthmacro\y{-\mdfboxheight-\mdf@innertopmargin@length% - -1*\mdf@innerlinewidth@length-0.5*\mdf@middlelinewidth@length+0.0cm} - \pgfmathsetlengthmacro\yp{-\mdf@innertopmargin@length% - -1*\mdf@innerlinewidth@length-0.5*\mdf@middlelinewidth@length% - -0.5\mdfboxheight} - \coordinate(P)at(\x,\y); - \clip(-\mdf@outerlinewidth@length-0.5*\mdf@middlelinewidth@length,% - \mdf@outerlinewidth@length+0.5*\mdf@middlelinewidth@length)% - rectangle(\x+\mdf@outerlinewidth@length+0.5*\mdf@middlelinewidth@length,\y); - \begin{scope} - \clip[preaction=mdfborderA]% - [postaction={mdfbackground,mdfborderI}]% - [mdfcorners](O|-P)--(O)--(P|-O)--(P); - \end{scope} - \path[mdfmiddle,mdfcorners,](O|-P)--(O)--(P|-O)--(P); - \node[mdftext,anchor=west,inner sep=0pt,outer sep=0pt]at(\xp,\yp){\box\tw@}; -% \draw[fill] (0,0) circle (.1cm); -% \draw[fill,yellow] (\x,\y) circle (.1cm); -% \draw[fill,orange] (\xp,\yp) circle (.05cm); - \end{tikzpicture}% - }% + \leftline{\null\hspace*{\mdf@leftmargin@length}%% + \md@tikz@settings% + \setlength\mdfboundingboxwidth{\wd\tw@}% + \advance\mdfboundingboxwidth by \mdf@innerleftmargin@length\relax% + \advance\mdfboundingboxwidth by \mdf@innerrightmargin@length\relax% + \ifbool{mdf@leftline}{% + \advance\mdfboundingboxwidth by \mdf@innerlinewidth@length\relax% + \advance\mdfboundingboxwidth by \mdf@middlelinewidth@length\relax% + \advance\mdfboundingboxwidth by \mdf@outerlinewidth@length\relax}{}% + \ifbool{mdf@rightline}{% + \advance\mdfboundingboxwidth by \mdf@innerlinewidth@length\relax% + \advance\mdfboundingboxwidth by \mdf@middlelinewidth@length\relax% + \advance\mdfboundingboxwidth by \mdf@outerlinewidth@length\relax}{}% +% + \setlength\mdfboundingboxheight{\ht\tw@+\dp\tw@}% + \advance\mdfboundingboxheight by \mdf@innertopmargin@length\relax% + \advance\mdfboundingboxheight by \mdf@splitbottomskip@length\relax% + \ifbool{mdf@topline}{% + \advance\mdfboundingboxheight by \mdf@innerlinewidth@length\relax% + \advance\mdfboundingboxheight by \mdf@middlelinewidth@length\relax% + \advance\mdfboundingboxheight by \mdf@outerlinewidth@length\relax}{}% +% + %\ifdimequal{\pagegoal}{\maxdimen}{\enlargethispage{\baselineskip}}{}% ??? + \ifdimgreater{\pagegoal-\maxdimen}{0pt}{}{\enlargethispage{\baselineskip}}% +% + \begin{tikzpicture} +% + \pgfmathsetlengthmacro\md@Ax{+\mdf@innerleftmargin@length}% + \pgfmathsetlengthmacro\md@Ay{+\mdf@splitbottomskip@length}% + \pgfmathsetlengthmacro\md@Ox{+0pt}% + \pgfmathsetlengthmacro\md@Oy{+0pt}% + \pgfmathsetlengthmacro\md@Px{+\mdfboundingboxwidth}% + \pgfmathsetlengthmacro\md@Py{+\mdfboundingboxheight}% + \ifbool{mdf@leftline}{% + \pgfmathsetlengthmacro\md@Ax{\md@Ax+\mdf@outerlinewidth@length+\mdf@middlelinewidth@length+\mdf@innerlinewidth@length}% + \pgfmathsetlengthmacro\md@Ox{\md@Ox+\mdf@outerlinewidth@length+0.5\mdf@middlelinewidth@length}}{}% + \ifbool{mdf@rightline}{% + \pgfmathsetlengthmacro\md@Px{\md@Px-\mdf@outerlinewidth@length-0.5\mdf@middlelinewidth@length}}{}% + \ifbool{mdf@topline}{% + \pgfmathsetlengthmacro\md@Py{\md@Py-\mdf@outerlinewidth@length-0.5\mdf@middlelinewidth@length}}{}% +% + \coordinate(O)at(\md@Ox,\md@Oy);% + \coordinate(P)at(\md@Px,\md@Py);% +% + \ifboolexpr{test {\md@test@ltrb} or test {\md@test@ltr}}{\md@tikzbox@tfl{(O)--(O|-P)--(P)--(P|-O)}}{}% + \ifboolexpr{test {\md@test@ltb} or test {\md@test@lt}}% + {\md@tikzbox@otl{(O)--(O|-P)--(P)}{(P|-O)--(O)[mdfcorners]--(O|-P)--(P)}}{}% + \ifboolexpr{test {\md@test@trb} or test {\md@test@tr}}% + {\md@tikzbox@otl{(O-|P)--(P)--(P-|O);}{(O)--(O|-P)[mdfcorners]--(P)--(P|-O)}}{}% + \ifboolexpr{test {\md@test@lrb} or test {\md@test@lr}}% + {\md@tikzbox@otl{(O)--(O|-P)(P)--(P|-O)}{(O)rectangle(P)}}{}% + \ifboolexpr{test {\md@test@tb} or test {\md@test@t}}{\md@tikzbox@otl{(O|-P)--(P)}{(O)rectangle(P)}}{}% + \ifboolexpr{test {\md@test@lb} or test {\md@test@l}}{\md@tikzbox@otl{(O)--(O|-P)}{(O)rectangle(P)}}{}% + \ifboolexpr{test {\md@test@rb} or test {\md@test@r}}{\md@tikzbox@otl{(O-|P)--(P)}{(O)rectangle(P)}}{}% + \md@test@b{\path[mdfbackground](O)rectangle(P);}{}% +% + \md@test@noline{\path[mdfbackground,mdfcorners](O)--(O|-P)--(P)--(P|-O);}{}% +% + \node[mdfbox]at(\md@Ax,\md@Ay){\box\tw@};% Ausgabebox einfuegen + \end{tikzpicture}% + }% }% \def\md@putbox@middle{% - \leftline{\null\hspace*{\mdf@leftmargin@length}%% - \md@tikz@settings% - \setlength\mdfboxwidth{\wd\tw@}% - \setlength\mdfboxheight{\ht\tw@}% - \setlength{\mdf@ymargin@length}{0.4\baselineskip}% - \begin{tikzpicture} - \coordinate(O)at(0,0); - \pgfmathsetlengthmacro\x{\mdfboxwidth+\mdf@innerrightmargin@length% - +\mdf@innerleftmargin@length+% - 2*\mdf@innerlinewidth@length+1*\mdf@middlelinewidth@length} - \pgfmathsetlengthmacro\xp{\mdf@innerleftmargin@length+% - 1*\mdf@innerlinewidth@length+0.5*\mdf@middlelinewidth@length} - \pgfmathsetlengthmacro\y{\mdfboxheight} - \pgfmathsetlengthmacro\yp{0cm} - \coordinate(P)at(\x,\y); - \clip(-\mdf@outerlinewidth@length-0.5*\mdf@middlelinewidth@length,0)% - rectangle(\x+\mdf@outerlinewidth@length+0.5*\mdf@middlelinewidth@length,\y); - \begin{scope} - \path[mdfborderA](O)--(O|-P)(P)--(P|-O); - \clip[postaction=mdfbackground](O)--(O|-P)--(P)--(P|-O); - \path[mdfborderI](O)--(O|-P)(P)--(P|-O); - \end{scope} - \path[mdfmiddle](O)--(O|-P)(P)--(P|-O); - \node[mdftext,anchor=south west]at(\xp,\yp){\box\tw@}; - \end{tikzpicture}% - } -} + \leftline{\null\hspace*{\mdf@leftmargin@length}%% + \md@tikz@settings% +% + \setlength\mdfboundingboxwidth{\wd\tw@}% + \advance\mdfboundingboxwidth by \mdf@innerleftmargin@length\relax% + \advance\mdfboundingboxwidth by \mdf@innerrightmargin@length\relax% + \ifbool{mdf@leftline}{% + \advance\mdfboundingboxwidth by \mdf@innerlinewidth@length\relax% + \advance\mdfboundingboxwidth by \mdf@middlelinewidth@length\relax% + \advance\mdfboundingboxwidth by \mdf@outerlinewidth@length\relax}{}% + \ifbool{mdf@rightline}{% + \advance\mdfboundingboxwidth by \mdf@innerlinewidth@length\relax% + \advance\mdfboundingboxwidth by \mdf@middlelinewidth@length\relax% + \advance\mdfboundingboxwidth by \mdf@outerlinewidth@length\relax}{}% +% + \setlength\mdfboundingboxheight{\ht\tw@+\dp\tw@}% + \advance\mdfboundingboxheight by \mdf@splitbottomskip@length\relax% +% + \begin{tikzpicture} + \pgfmathsetlengthmacro\md@Ax{+\mdf@innerleftmargin@length}% + \pgfmathsetlengthmacro\md@Ay{+\mdf@splitbottomskip@length}% + \pgfmathsetlengthmacro\md@Ox{+0pt}% + \pgfmathsetlengthmacro\md@Oy{+0pt}% + \pgfmathsetlengthmacro\md@Px{+\mdfboundingboxwidth}% + \pgfmathsetlengthmacro\md@Py{+\mdfboundingboxheight}% + \ifbool{mdf@leftline}{% + \pgfmathsetlengthmacro\md@Ax{\md@Ax+\mdf@outerlinewidth@length+\mdf@middlelinewidth@length+\mdf@innerlinewidth@length}% + \pgfmathsetlengthmacro\md@Ox{\md@Ox+\mdf@outerlinewidth@length+0.5\mdf@middlelinewidth@length}}{}% + \ifbool{mdf@rightline}{% + \pgfmathsetlengthmacro\md@Px{\md@Px-\mdf@outerlinewidth@length-0.5\mdf@middlelinewidth@length}}{}% +% + \coordinate(O)at(\md@Ox,\md@Oy);% + \coordinate(P)at(\md@Px,\md@Py);% +% + \ifboolexpr{bool {mdf@leftline} and bool {mdf@rightline}}% + {\md@tikzbox@otl{(O)--(O|-P)(P)--(P|-O)}{(O)rectangle(P);}}{}% + \ifboolexpr{bool {mdf@leftline} and not (bool {mdf@rightline})}% + {\md@tikzbox@otl{(O)--(O|-P)}{(O)rectangle(P);}}{}% + \ifboolexpr{not (bool {mdf@leftline}) and bool {mdf@rightline}}% + {\md@tikzbox@otl{(P)--(P|-O)}{(O)rectangle(P);}}{}% + \ifboolexpr{not (bool {mdf@leftline}) and not (bool {mdf@rightline})}% + {\path[mdfbackground](O)rectangle(P);}{}% +% + \node[mdfbox]at(\md@Ax,\md@Ay){\box\tw@};% Ausgabebox einfuegen + \end{tikzpicture}% + }% +}% \def\md@putbox@second{% - \leftline{\null\hspace*{\mdf@leftmargin@length}%% - \md@tikz@settings% - \setlength\mdfboxwidth{\wd\@tempboxa}% - \setlength\mdfboxheight{\ht\@tempboxa}% - \begin{tikzpicture} - \coordinate(O)at(0,0); - \pgfmathsetlengthmacro\x{\mdfboxwidth+\mdf@innerrightmargin@length% - +\mdf@innerleftmargin@length+% - 2*\mdf@innerlinewidth@length+1*\mdf@middlelinewidth@length} - \pgfmathsetlengthmacro\xp{\mdf@innerleftmargin@length+% - 1*\mdf@innerlinewidth@length+0.5*\mdf@middlelinewidth@length} - \pgfmathsetlengthmacro\y{\mdfboxheight% - +\mdf@innerbottommargin@length% - +1*\mdf@innerlinewidth@length+0.5*\mdf@middlelinewidth@length} - \pgfmathsetlengthmacro\yp{\mdf@innerbottommargin@length% - +1*\mdf@innerlinewidth@length+0.5*\mdf@middlelinewidth@length} - \coordinate(P)at(\x,\y); - \clip(-\mdf@outerlinewidth@length-0.5*\mdf@middlelinewidth@length,% - -\mdf@outerlinewidth@length-0.5*\mdf@middlelinewidth@length)% - rectangle(\x+\mdf@outerlinewidth@length+0.5*\mdf@middlelinewidth@length,\y); - \begin{scope} - \clip[preaction=mdfborderA]% - [postaction={mdfbackground,mdfborderI}]% - [mdfcorners](P-|O)--(O)--(O-|P)--(P); - \end{scope} - \path[mdfmiddle,mdfcorners](P-|O)--(O)--(O-|P)--(P); - \node[mdftext,anchor=south west] at (\xp,\yp){\box\@tempboxa}; + \leftline{\null\hspace*{\mdf@leftmargin@length}%% + \md@tikz@settings% +% + \setlength\mdfboundingboxwidth{\wd\@tempboxa}% + \advance\mdfboundingboxwidth by \mdf@innerleftmargin@length\relax% + \advance\mdfboundingboxwidth by \mdf@innerrightmargin@length\relax% + \ifbool{mdf@leftline}{% + \advance\mdfboundingboxwidth by \mdf@innerlinewidth@length\relax% + \advance\mdfboundingboxwidth by \mdf@middlelinewidth@length\relax% + \advance\mdfboundingboxwidth by \mdf@outerlinewidth@length\relax}{}% + \ifbool{mdf@rightline}{% + \advance\mdfboundingboxwidth by \mdf@innerlinewidth@length\relax% + \advance\mdfboundingboxwidth by \mdf@middlelinewidth@length\relax% + \advance\mdfboundingboxwidth by \mdf@outerlinewidth@length\relax}{}% +% + \setlength\mdfboundingboxheight{\ht\@tempboxa+\dp\@tempboxa}% + \advance\mdfboundingboxheight by \mdf@innerbottommargin@length\relax% + \ifbool{mdf@bottomline}{% + \advance\mdfboundingboxheight by \mdf@innerlinewidth@length\relax% + \advance\mdfboundingboxheight by \mdf@middlelinewidth@length\relax% + \advance\mdfboundingboxheight by \mdf@outerlinewidth@length\relax}{}% +% + \begin{tikzpicture} + \pgfmathsetlengthmacro\md@Ax{+\mdf@innerleftmargin@length}% + \pgfmathsetlengthmacro\md@Ay{+\mdf@innerbottommargin@length}% + \pgfmathsetlengthmacro\md@Ox{+0pt}% + \pgfmathsetlengthmacro\md@Oy{+0pt}% + \pgfmathsetlengthmacro\md@Px{+\mdfboundingboxwidth}% + \pgfmathsetlengthmacro\md@Py{+\mdfboundingboxheight}% + \ifbool{mdf@leftline}{% + \pgfmathsetlengthmacro\md@Ax{\md@Ax+\mdf@outerlinewidth@length+\mdf@middlelinewidth@length+\mdf@innerlinewidth@length}% + \pgfmathsetlengthmacro\md@Ox{\md@Ox+\mdf@outerlinewidth@length+0.5\mdf@middlelinewidth@length}}{}% + \ifbool{mdf@rightline}{% + \pgfmathsetlengthmacro\md@Px{\md@Px-\mdf@outerlinewidth@length-0.5\mdf@middlelinewidth@length}}{}% + \ifbool{mdf@bottomline}{% + \pgfmathsetlengthmacro\md@Ay{\md@Ay+\mdf@outerlinewidth@length+\mdf@middlelinewidth@length+\mdf@innerlinewidth@length}% + \pgfmathsetlengthmacro\md@Oy{\md@Oy+\mdf@outerlinewidth@length+0.5\mdf@middlelinewidth@length}}{}% +% + \coordinate(O)at(\md@Ox,\md@Oy);% + \coordinate(P)at(\md@Px,\md@Py);% +% + \ifboolexpr{test {\md@test@ltrb} or test {\md@test@lrb}}{\md@tikzbox@tfl{(P-|O)--(O)--(O-|P)--(P);}}{}% + \ifboolexpr{test {\md@test@ltb} or test {\md@test@lb}}% + {\md@tikzbox@otl{(P-|O)--(O)--(O-|P);}{(P)--(P|-O)[mdfcorners]--(O)--(O|-P)}}{}% + \ifboolexpr{test {\md@test@trb} or test {\md@test@rb}}% + {\md@tikzbox@otl{(P)--(P|-O)--(O);}{(O|-P)--(P)[mdfcorners]--(P|-O)--(O)}}{}% + \ifboolexpr{test {\md@test@ltr} or test {\md@test@lr}}% + {\md@tikzbox@otl{(O)--(O|-P)(P)--(P|-O)}{(O)rectangle(P)}}{}% + \ifboolexpr{test {\md@test@tb} or test {\md@test@b}}{\md@tikzbox@otl{(O)--(O-|P)}{(O)rectangle(P)}}{}% + \ifboolexpr{test {\md@test@lt} or test {\md@test@l}}{\md@tikzbox@otl{(O)--(O|-P)}{(O)rectangle(P)}}{}% + \ifboolexpr{test {\md@test@tr} or test {\md@test@r}}{\md@tikzbox@otl{(O-|P)--(P)}{(O)rectangle(P)}}{}% + \md@test@t{\path[mdfbackground](O)rectangle(P);}{}% +% + \md@test@noline{\path[mdfbackground,mdfcorners](O|-P)--(O)--(O-|P)--(P);}{}% +% + \node[mdfbox] at (\md@Ax,\md@Ay){\box\@tempboxa};% Ausgabebox einfuegen \end{tikzpicture}% } } +\endinput 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 ff65c795a84..4e26413d546 100644 --- a/Master/texmf-dist/tex/latex/mdframed/md-frame-3.mdf +++ b/Master/texmf-dist/tex/latex/mdframed/md-frame-3.mdf @@ -8,936 +8,402 @@ %% 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 105 2010-12-22 16:50:44Z marco $ -%%$Rev: 105 $ +%%$Id: md-frame-3.mdf 161 2011-08-06 11:28:15Z marco $ +%%$Rev: 161 $ %%$Author: marco $ -%%$Date: 2010-12-22 17:50:44 +0100 (Mi, 22. Dez 2010) $ +%%$Date: 2011-08-06 13:28:15 +0200 (Sa, 06. Aug 2011) $ %%Allgemeine Einstellungen fuer pstricks %%Hier nur einfacher Rahmen mit Einstellungen -\def\mdversion{v0.6a} \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 105 2010-12-22 16:50:44Z marco $ \mdversion: \mdframedIIIpackagename] +\ProvidesFile{md-frame-3.mdf}[\md@frameIIIdate@svn$Id: md-frame-3.mdf 161 2011-08-06 11:28:15Z marco $ \mdversion: \mdframedIIIpackagename] \def\md@ptlength@to@pscode#1{\pst@number{#1} \pst@number\psxunit div} \let\ptTps\md@ptlength@to@pscode\relax - +%%%% _____t_____ +%%%% | | +%%%% | | +%%%% | | +%%%% l| |r +%%%% | | +%%%% | | +%%%% |___________| +%%%% b +%zusammenhaenge abfragen: +\newrobustcmd*\md@test@ltrb{\ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline}) + and (bool {mdf@leftline}) and (bool {mdf@rightline})}} +%3-set +\newrobustcmd*\md@test@ltr{\ifboolexpr{ (bool {mdf@topline}) and not (bool {mdf@bottomline}) + and (bool {mdf@leftline}) and (bool {mdf@rightline})}} +\newrobustcmd*\md@test@ltb{\ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline}) + and (bool {mdf@leftline}) and not (bool {mdf@rightline})}} +\newrobustcmd*\md@test@trb{\ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline}) + and not (bool {mdf@leftline}) and (bool {mdf@rightline})}} +\newrobustcmd*\md@test@lrb{\ifboolexpr{ not (bool {mdf@topline}) and (bool {mdf@bottomline}) + and (bool {mdf@leftline}) and (bool {mdf@rightline})}} +%2-set +\newrobustcmd*\md@test@lb{\ifboolexpr{ not (bool {mdf@topline}) and (bool {mdf@bottomline}) + and (bool {mdf@leftline}) and not (bool {mdf@rightline})}} +\newrobustcmd*\md@test@rb{\ifboolexpr{ not (bool {mdf@topline}) and (bool {mdf@bottomline}) + and not (bool {mdf@leftline}) and (bool {mdf@rightline})}} +\newrobustcmd*\md@test@tr{\ifboolexpr{ (bool {mdf@topline}) and not (bool {mdf@bottomline}) + and not (bool {mdf@leftline}) and (bool {mdf@rightline})}} +\newrobustcmd*\md@test@lt{\ifboolexpr{ (bool {mdf@topline}) and not (bool {mdf@bottomline}) + and (bool {mdf@leftline}) and not (bool {mdf@rightline})}} +%Einzellinien +\newrobustcmd*\md@test@single{% + \ifboolexpr{ not (test {\md@test@ltrb} or test {\md@test@ltr} or test {\md@test@ltb} + or test {\md@test@trb} or test {\md@test@lrb} or test {\md@test@lb} + or test {\md@test@rb} or test {\md@test@tr} or test {\md@test@lt} ) }} +%%==================================================%% +%%================single-box========================%% +%%==================================================%% \def\md@putbox@single{% \leftline{\null\hspace*{\mdf@leftmargin@length}%% - \setlength\mdfboxwidth{\wd\@tempboxa}% - \setlength\mdfboxheight{\ht\@tempboxa+\dp\@tempboxa}% - \setlength{\mdfboundingboxheight}{% - \mdfboxheight% - +\mdf@innertopmargin@length% - +\mdf@innerbottommargin@length% -% +\mdf@middlelinewidth@length% -% +\mdf@middlelinewidth@length% - }% - \ifbool{mdf@topline}{\addtolength{\mdfboundingboxheight}{\mdf@middlelinewidth@length}}{}% - \ifbool{mdf@bottomline}{\addtolength{\mdfboundingboxheight}{\mdf@middlelinewidth@length}}{}% - \setlength{\mdfboundingboxwidth}{% - \mdfboxwidth% - +\mdf@innerleftmargin@length% - +\mdf@innerrightmargin@length% -% +\mdf@middlelinewidth@length% -% +\mdf@middlelinewidth@length% - }% - \ifbool{mdf@leftline}{\addtolength{\mdfboundingboxwidth}{\mdf@middlelinewidth@length}}{}% - \ifbool{mdf@rightline}{\addtolength{\mdfboundingboxwidth}{\mdf@middlelinewidth@length}}{}% - \psset{linearc=\mdf@roundcorner@length,cornersize=absolute,}% + \ifbool{mdf@leftline}{\hspace*{\mdf@middlelinewidth@length}}{}% + \setlength\mdfboundingboxwidth{\wd\@tempboxa}% + \setlength\mdfboundingboxheight{\ht\@tempboxa+\dp\@tempboxa}% + \advance\mdfboundingboxheight by \mdf@innertopmargin@length\relax% + \advance\mdfboundingboxheight by \mdf@innerbottommargin@length\relax% + \ifbool{mdf@topline}{\advance\mdfboundingboxheight by \mdf@middlelinewidth@length\relax}{}% + \ifbool{mdf@bottomline}{\advance\mdfboundingboxheight by \mdf@middlelinewidth@length\relax}{}% + \advance\mdfboundingboxwidth by \mdf@innerleftmargin@length\relax% + \advance\mdfboundingboxwidth by \mdf@innerrightmargin@length\relax% + \psset{linearc=\mdf@roundcorner@length,cornersize=absolut,}% \expandafter\psset\expandafter{\mdf@psset@local}% - \psset{unit=1truecm}% - \begin{pspicture}(0,0)(\mdfboundingboxwidth,\mdfboundingboxheight) - \ifboolexpr{ bool {mdf@topline} and bool {mdf@bottomline} - and bool {mdf@leftline} and bool {mdf@rightline} - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (\mdf@middlelinewidth@length,\mdf@middlelinewidth@length)% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord - \ptTps{\mdfboundingboxheight} - \ptTps{\mdf@middlelinewidth@length} neg add %Y-Koord - ) - \psframe[linewidth=\mdf@middlelinewidth@length, - linecolor=\mdf@linecolor, - cornersize=absolute, - fillstyle=none,]% - (0,0)(\mdfboundingboxwidth,\mdfboundingboxheight)% - \rput(! \ptTps{\mdf@middlelinewidth@length} - \ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord - \ptTps{\mdf@middlelinewidth@length} - \ptTps{\mdf@innerbottommargin@length} - \ptTps{\mdfboxheight} 0.5 mul add add %Y-Koord - ){\box\@tempboxa} - }{}% - \ifboolexpr{ bool {mdf@topline} and bool {mdf@bottomline} - and not (bool {mdf@leftline}) and bool {mdf@rightline} - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (0,\mdf@middlelinewidth@length)% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord - \ptTps{\mdfboundingboxheight} - \ptTps{\mdf@middlelinewidth@length} neg add %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! 0 %X-Koord - \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - \ptTps{\mdfboundingboxheight} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord - )% - (! 0 %X-Koord - \ptTps{\mdfboundingboxheight} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord - )% - \rput(!\ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord - \ptTps{\mdf@middlelinewidth@length} - \ptTps{\mdf@innerbottommargin@length} - \ptTps{\mdfboxheight} 0.5 mul add add %Y-Koord - ){\box\@tempboxa} - }{}% - \ifboolexpr{ bool {mdf@topline} and bool {mdf@bottomline} - and bool {mdf@leftline} and not( bool {mdf@rightline}) - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (\mdf@middlelinewidth@length,\mdf@middlelinewidth@length)% - (! \ptTps{\mdfboundingboxwidth} %X-Koord - \ptTps{\mdfboundingboxheight} - \ptTps{\mdf@middlelinewidth@length} neg add %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdfboundingboxwidth} %X-Koord - \ptTps{\mdfboundingboxheight} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord - )% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - \ptTps{\mdfboundingboxheight} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord - )% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} %X-Koord - \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord - )% - \rput(! \ptTps{\mdf@middlelinewidth@length} - \ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord - \ptTps{\mdf@middlelinewidth@length} - \ptTps{\mdf@innerbottommargin@length} - \ptTps{\mdfboxheight} 0.5 mul add add %Y-Koord - ){\box\@tempboxa} - }{}% - \ifboolexpr{ not( bool {mdf@topline}) and bool {mdf@bottomline} - and bool {mdf@leftline} and bool {mdf@rightline} - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (\mdf@middlelinewidth@length,\mdf@middlelinewidth@length)% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - )% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - )% - \rput(! \ptTps{\mdf@middlelinewidth@length} - \ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord - \ptTps{\mdf@middlelinewidth@length} - \ptTps{\mdf@innerbottommargin@length} - \ptTps{\mdfboxheight} 0.5 mul add add %Y-Koord - ){\box\@tempboxa} - }{}% - \ifboolexpr{ bool {mdf@topline} and not (bool {mdf@bottomline}) - and bool {mdf@leftline} and bool {mdf@rightline} - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (\mdf@middlelinewidth@length,0)% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord - \ptTps{\mdfboundingboxheight} - \ptTps{\mdf@middlelinewidth@length} neg add %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - 0 %Y-Koord - )% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - \ptTps{\mdfboundingboxheight} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - \ptTps{\mdfboundingboxheight} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - 0 %Y-Koord - )% - \rput(! \ptTps{\mdf@middlelinewidth@length} - \ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord - \ptTps{\mdf@innerbottommargin@length} - \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord - ){\box\@tempboxa} - }{}% - \ifboolexpr{ not( bool {mdf@topline}) and not (bool {mdf@bottomline}) - and bool {mdf@leftline} and bool {mdf@rightline} - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (\mdf@middlelinewidth@length,0)% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - 0 %Y-Koord - )% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - \ptTps{\mdfboundingboxheight} - )% - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - 0 %Y-Koord - )% - \rput(! \ptTps{\mdf@middlelinewidth@length} - \ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord - \ptTps{\mdf@innerbottommargin@length} - \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord - ){\box\@tempboxa} - }{}% - \ifboolexpr{ bool {mdf@topline} and bool {mdf@bottomline} - and not (bool {mdf@leftline}) and not(bool {mdf@rightline}) - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (0,\mdf@middlelinewidth@length)% - (! \ptTps{\mdfboundingboxwidth} %X-Koord - \ptTps{\mdfboundingboxheight} - \ptTps{\mdf@middlelinewidth@length} neg add %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! 0 %X-Koord - \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} %X-Koord - \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord - )% - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdfboundingboxwidth} %X-Koord - \ptTps{\mdfboundingboxheight} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord - )% - (! 0 %X-Koord - \ptTps{\mdfboundingboxheight} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord - )% - \rput(!\ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord - \ptTps{\mdf@middlelinewidth@length} - \ptTps{\mdf@innerbottommargin@length} - \ptTps{\mdfboxheight} 0.5 mul add add %Y-Koord - ){\box\@tempboxa} - }{}% - \ifboolexpr{ not( bool {mdf@topline}) and not (bool {mdf@bottomline}) - and bool {mdf@leftline} and not( bool {mdf@rightline}) - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (\mdf@middlelinewidth@length,0)% - (! \ptTps{\mdfboundingboxwidth} %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - 0 %Y-Koord - )% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - \ptTps{\mdfboundingboxheight} - )% - \rput(! \ptTps{\mdf@middlelinewidth@length} - \ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord - \ptTps{\mdf@innerbottommargin@length} - \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord - ){\box\@tempboxa} - }{}% - \ifboolexpr{ not( bool {mdf@topline}) and not (bool {mdf@bottomline}) - and not(bool {mdf@leftline}) and bool {mdf@rightline} - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (!0 0)% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - 0 %Y-Koord - )% - \rput(! \ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord - \ptTps{\mdf@innerbottommargin@length} - \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord - ){\box\@tempboxa} - }{}% - \ifboolexpr{ not( bool {mdf@topline}) and bool {mdf@bottomline} - and not (bool {mdf@leftline}) and not(bool {mdf@rightline}) - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (0,\mdf@middlelinewidth@length)% - (! \ptTps{\mdfboundingboxwidth} %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! 0 %X-Koord - \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} %X-Koord - \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord - )% - \rput(!\ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord - \ptTps{\mdf@middlelinewidth@length} - \ptTps{\mdf@innerbottommargin@length} - \ptTps{\mdfboxheight} 0.5 mul add add %Y-Koord - ){\box\@tempboxa} - }{}% - \ifboolexpr{ bool {mdf@topline} and not (bool {mdf@bottomline}) - and not (bool {mdf@leftline}) and not(bool {mdf@rightline}) - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (0,0)% - (! \ptTps{\mdfboundingboxwidth} %X-Koord - \ptTps{\mdfboundingboxheight} - \ptTps{\mdf@middlelinewidth@length} neg add %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdfboundingboxwidth} %X-Koord - \ptTps{\mdfboundingboxheight} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord - )% - (! 0 %X-Koord - \ptTps{\mdfboundingboxheight} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord - )% - \rput(!\ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord - \ptTps{\mdf@innerbottommargin@length} - \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord - ){\box\@tempboxa} - }{}% \psgrid + \psset{unit=1truecm}% + \begin{pspicture}(0,0)(\mdfboundingboxwidth,\mdfboundingboxheight) + \md@test@ltrb{% + \psframe[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul \ptTps{\mdf@middlelinewidth@length} 0.5 mul)% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X + \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add) + }{} + \md@test@ltr{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% + (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul + \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X + \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X + 0) + }{} + \md@test@ltb{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul)% + (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul \ptTps{\mdf@middlelinewidth@length} 0.5 mul)% + (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul + \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% + (! \ptTps{\mdfboundingboxwidth} %X + \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% + }{} + \md@test@trb{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! 0 + \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X + \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X + \ptTps{\mdf@middlelinewidth@length} 0.5 mul) + (! 0 \ptTps{\mdf@middlelinewidth@length} 0.5 mul) + }{} + \md@test@lrb{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdfboundingboxheight})% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X + \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X + \ptTps{\mdfboundingboxheight}) + }{} + \md@test@lb{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdfboundingboxheight})% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) + }{} + \md@test@rb{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! 0 \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X + \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X + \ptTps{\mdfboundingboxheight}) + }{} + \md@test@tr{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! 0 + \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X + \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X + 0) + }{} + \md@test@lt{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% + (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul + \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% + (! \ptTps{\mdfboundingboxwidth} %X + \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% + }{} + \md@test@single{}{% + \ifbool{mdf@bottomline}{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! 0 \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) + }{}% + \ifbool{mdf@topline}{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! 0 \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add)% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add) + }{}% + \ifbool{mdf@leftline}{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% + (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul \ptTps{\mdfboundingboxheight} )% + }{}% + \ifbool{mdf@rightline}{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add 0)% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add + \ptTps{\mdfboundingboxheight} )% + }{}% + }{}% + %Hintergrund + \psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length,dimen=outer]% + (!0 \ifbool{mdf@bottomline}{\ptTps{\mdf@middlelinewidth@length}}{0}) + (! \ptTps{\mdfboundingboxwidth} % + \ptTps{\mdfboundingboxheight} \ifbool{mdf@topline}{\ptTps{\mdf@middlelinewidth@length} sub}{}) + %Ausgabe + \rput[b](!\ptTps{\mdfboundingboxwidth} 0.5 mul % X-Koordinate + \ptTps{\mdf@innerbottommargin@length} + \ifbool{mdf@bottomline}{\ptTps{\mdf@middlelinewidth@length} add}{} + ){\box\@tempboxa} \end{pspicture}% }% } - - - - - +%%==================================================%% +%%================first-box=========================%% +%%==================================================%% \def\md@putbox@first{% \leftline{\null\hspace*{\mdf@leftmargin@length}%% - \setlength\mdfboxwidth{\wd\tw@}% - \setlength\mdfboxheight{\ht\tw@+\dp\tw@}% - \setlength{\mdfboundingboxheight}{% - +\mdfboxheight% - +\mdf@innertopmargin@length% - +\mdf@splitbottomskip@length% - }% - \ifbool{mdf@topline}{\addtolength{\mdfboundingboxheight}{\mdf@middlelinewidth@length}}{}% - \setlength{\mdfboundingboxwidth}{% - +\mdf@innerleftmargin@length% - +\mdfboxwidth - +\mdf@innerrightmargin@length% - }% - \ifbool{mdf@leftline}{\addtolength{\mdfboundingboxwidth}{\mdf@middlelinewidth@length}}{}% - \ifbool{mdf@rightline}{\addtolength{\mdfboundingboxwidth}{\mdf@middlelinewidth@length}}{}% - \psset{linearc=\mdf@roundcorner@length}% + \ifbool{mdf@leftline}{\hspace*{\mdf@middlelinewidth@length}}{}% + \setlength\mdfboundingboxwidth{\wd\tw@}% + \setlength\mdfboundingboxheight{\ht\tw@+\dp\tw@}% + \advance\mdfboundingboxheight by \mdf@innertopmargin@length\relax + \advance\mdfboundingboxheight by \mdf@splitbottomskip@length\relax% + \ifbool{mdf@topline}{\advance\mdfboundingboxheight by \mdf@middlelinewidth@length\relax}{}% + \advance\mdfboundingboxwidth by \mdf@innerleftmargin@length\relax% + \advance\mdfboundingboxwidth by \mdf@innerrightmargin@length\relax% + \psset{linearc=\mdf@roundcorner@length,cornersize=absolute}% \expandafter\psset\expandafter{\mdf@psset@local}% \psset{unit=1truecm}% \ifdimgreater{\mdfboundingboxheight}{\vsize} {\begin{pspicture}(0,0)(\mdfboundingboxwidth,\vsize)} {\begin{pspicture}(0,0)(\mdfboundingboxwidth,\mdfboundingboxheight)} - \ifboolexpr{ bool {mdf@topline} and bool {mdf@rightline} - and bool {mdf@leftline} - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (\mdf@middlelinewidth@length,0)% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord - \ptTps{\mdfboundingboxheight} - \ptTps{\mdf@middlelinewidth@length} neg add %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - 0 %Y-Koord - )% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - \ptTps{\mdfboundingboxheight} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - \ptTps{\mdfboundingboxheight} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - 0 %Y-Koord - )% - \rput(! \ptTps{\mdf@middlelinewidth@length} - \ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord - \ptTps{\mdf@splitbottomskip@length} - \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord - ){\box\tw@} - }{}% - \ifboolexpr{ not( bool {mdf@topline}) and bool {mdf@rightline} - and bool {mdf@leftline} - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (\mdf@middlelinewidth@length,0)% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - 0 %Y-Koord - )% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - )% - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - 0 %Y-Koord - )% - \rput(! \ptTps{\mdf@middlelinewidth@length} - \ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord - \ptTps{\mdf@splitbottomskip@length} - \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord - ){\box\tw@} - }{}% - \ifboolexpr{ not( bool {mdf@topline}) and not(bool {mdf@rightline}) - and bool {mdf@leftline} - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (\mdf@middlelinewidth@length,0)% - (! \ptTps{\mdfboundingboxwidth} %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - 0 %Y-Koord - )% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - )% - \rput(! \ptTps{\mdf@middlelinewidth@length} - \ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord - \ptTps{\mdf@splitbottomskip@length} - \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord - ){\box\tw@} - }{}% - \ifboolexpr{ not( bool {mdf@topline}) and bool {mdf@rightline} - and not( bool {mdf@leftline} ) - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (0,0)% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - 0 %Y-Koord - )% - \rput(!\ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord - \ptTps{\mdf@splitbottomskip@length} - \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord - ){\box\tw@} - }{}% - \ifboolexpr{ bool {mdf@topline} and not(bool {mdf@rightline}) - and not(bool {mdf@leftline} ) - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (0,0)% - (! \ptTps{\mdfboundingboxwidth} %X-Koord - \ptTps{\mdfboundingboxheight} - \ptTps{\mdf@middlelinewidth@length} neg add %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! 0 %X-Koord - \ptTps{\mdfboundingboxheight} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} %X-Koord - \ptTps{\mdfboundingboxheight} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord - )% - \rput(! \ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord - \ptTps{\mdf@splitbottomskip@length} - \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord - ){\box\tw@} - }{}% - \ifboolexpr{ not(bool {mdf@topline}) and not(bool {mdf@rightline}) - and not(bool {mdf@leftline} ) - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (0,0)% - (! \ptTps{\mdfboundingboxwidth} %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - ) - \rput(! \ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord - \ptTps{\mdf@splitbottomskip@length} - \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord - ){\box\tw@} - }{}% + %Hintergrund + \psline[linecolor=\mdf@backgroundcolor,fillstyle=solid,linestyle=solid, + linearc={\dimexpr\mdf@roundcorner@length-\mdf@middlelinewidth@length\relax}, + fillcolor=\mdf@backgroundcolor,linewidth=\mdf@middlelinewidth@length]% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul 0)% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul + \ptTps{\mdfboundingboxheight} \ifbool{mdf@topline}% + {\ptTps{\mdf@middlelinewidth@length} neg 1.5 mul add}% + {\ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add} )% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X + \ptTps{\mdfboundingboxheight} \ifbool{mdf@topline}% + {\ptTps{\mdf@middlelinewidth@length} neg 1.5 mul add}% + {\ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add} )% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X + 0) + \ifboolexpr{ test {\md@test@ltrb} or test {\md@test@ltr}}{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% + (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul + \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X + \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X + 0) + }{} + \ifboolexpr{ test {\md@test@tr} or test {\md@test@trb}}{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! 0 + \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X + \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X + 0) + }{} + \ifboolexpr{ test {\md@test@ltb} or test {\md@test@lt}}{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% + (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul + \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@roundcorner@length} neg add %X + \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% + }{} + \ifboolexpr{ test {\md@test@single} or test {\md@test@rb} or test {\md@test@lrb} or test {\md@test@lb}}{% + \ifbool{mdf@topline}{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! 0 \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add)% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add) + }{}% + \ifbool{mdf@leftline}{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% + (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul \ptTps{\mdfboundingboxheight} )% + }{}% + \ifbool{mdf@rightline}{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add 0)% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add + \ptTps{\mdfboundingboxheight} )% + }{}% + }{}% + %Ausgabe + \rput[b](!\ptTps{\mdfboundingboxwidth} 0.5 mul % X-Koordinate + \ptTps{\mdf@splitbottomskip@length}){\box\tw@} \end{pspicture}% }% } - +%%==================================================%% +%%================middle-box========================%% +%%==================================================%% \def\md@putbox@middle{% \leftline{\null\hspace*{\mdf@leftmargin@length}%% - \setlength\mdfboxwidth{\wd\tw@}% - \setlength\mdfboxheight{\ht\tw@+\dp\tw@}% - \setlength{\mdfboundingboxheight}{% - +\mdfboxheight% - +\mdf@splitbottomskip@length% - }% - \setlength{\mdfboundingboxwidth}{% - +\mdf@innerleftmargin@length% - +\mdfboxwidth% - +\mdf@innerrightmargin@length% - }% - \ifbool{mdf@leftline}{\addtolength{\mdfboundingboxwidth}{\mdf@middlelinewidth@length}}{}% - \ifbool{mdf@rightline}{\addtolength{\mdfboundingboxwidth}{\mdf@middlelinewidth@length}}{}% + \ifbool{mdf@leftline}{\hspace*{\mdf@middlelinewidth@length}}{}% + \setlength\mdfboundingboxwidth{\wd\tw@}% + \setlength\mdfboundingboxheight{\ht\tw@+\dp\tw@}% + \advance\mdfboundingboxheight by \mdf@splitbottomskip@length\relax% + \advance\mdfboundingboxwidth by \mdf@innerleftmargin@length\relax% + \advance\mdfboundingboxwidth by \mdf@innerrightmargin@length\relax% \expandafter\psset\expandafter{\mdf@psset@local}% - \psset{linearc=\mdf@roundcorner@length}% + \psset{linearc=\mdf@roundcorner@length,cornersize=absolute}% \psset{unit=1truecm}% \ifdimgreater{\mdfboundingboxheight}{\vsize} - {\begin{pspicture}(0,0)(\mdfboundingboxwidth,\vsize)} - {\begin{pspicture}(0,0)(\mdfboundingboxwidth,\mdfboundingboxheight)} - \ifboolexpr{ bool {mdf@rightline} and bool {mdf@leftline} - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (\mdf@middlelinewidth@length,0)% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - 0 %Y-Koord - )% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - )% - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - 0 %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - )% - \rput(! \ptTps{\mdf@middlelinewidth@length} - \ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord - \ptTps{\mdf@splitbottomskip@length} - \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord - ){\box\tw@} - }{}% - \ifboolexpr{ bool {mdf@rightline} and not(bool {mdf@leftline}) - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (0,0)% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - 0 %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - )% - \rput(! \ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord - \ptTps{\mdf@splitbottomskip@length} - \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord - ){\box\tw@} - }{}% - \ifboolexpr{ not( bool {mdf@rightline}) and bool {mdf@leftline} - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (\mdf@middlelinewidth@length,0)% - (! \ptTps{\mdfboundingboxwidth} %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - 0 %Y-Koord - )% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - )% - \rput(! \ptTps{\mdf@middlelinewidth@length} - \ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord - \ptTps{\mdf@splitbottomskip@length} - \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord - ){\box\tw@} - }{}% - \ifboolexpr{( - not(bool {mdf@rightline}) and not(bool {mdf@leftline}) - and bool {mdf@topline} and not( bool {mdf@bottomline}) - ) - or - ( - not(bool {mdf@rightline}) and not(bool {mdf@leftline}) - and not (bool {mdf@topline}) and not( bool {mdf@bottomline}) - ) - or - ( - not(bool {mdf@rightline}) and not(bool {mdf@leftline}) - and not (bool {mdf@topline}) and bool {mdf@bottomline} - ) - or - ( - not(bool {mdf@rightline}) and not(bool {mdf@leftline}) - and bool {mdf@topline} and bool {mdf@bottomline} - ) - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (0,0)% - (! \ptTps{\mdfboundingboxwidth} %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - ) - \rput(! \ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord - \ptTps{\mdf@splitbottomskip@length} - \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord - ){\box\tw@} - }{}% + {\begin{pspicture}(0,0)(\mdfboundingboxwidth,\vsize)} + {\begin{pspicture}(0,0)(\mdfboundingboxwidth,\mdfboundingboxheight)} + \ifbool{mdf@leftline}{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% + (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul \ptTps{\mdfboundingboxheight} )% + }{}% + \ifbool{mdf@rightline}{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add 0)% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add + \ptTps{\mdfboundingboxheight} )% + }{}% + %Hintergrund + \psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length,dimen=outer,% + linearc=\z@]% + (!0 0) + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdfboundingboxheight}) + %Ausgabe + \rput[b](!\ptTps{\mdfboundingboxwidth} 0.5 mul % X-Koordinate + \ptTps{\mdf@splitbottomskip@length} ){\box\tw@} \end{pspicture}% }% } - +%%==================================================%% +%%=================last-box=========================%% +%%==================================================%% \def\md@putbox@second{ \leftline{\null\hspace*{\mdf@leftmargin@length}%% - \setlength\mdfboxwidth{\wd\@tempboxa}% - \setlength\mdfboxheight{\ht\@tempboxa+\dp\@tempboxa}% - \setlength{\mdfboundingboxheight}{% - +\mdfboxheight% - +\mdf@innerbottommargin@length% - }% - \ifbool{mdf@bottomline}{\addtolength{\mdfboundingboxheight}{\mdf@middlelinewidth@length}}{}% - \setlength{\mdfboundingboxwidth}{% - +\mdf@innerleftmargin@length% - +\mdfboxwidth - +\mdf@innerrightmargin@length% - }% - \ifbool{mdf@leftline}{\addtolength{\mdfboundingboxwidth}{\mdf@middlelinewidth@length}}{}% - \ifbool{mdf@rightline}{\addtolength{\mdfboundingboxwidth}{\mdf@middlelinewidth@length}}{}% - \expandafter\psset\expandafter{\mdf@psset@local} - \psset{linearc=\mdf@roundcorner@length}% - \psset{unit=1truecm}% - \begin{pspicture}(0,0)(\mdfboundingboxwidth,\mdfboundingboxheight) - \ifboolexpr{ bool {mdf@bottomline} and bool {mdf@rightline} - and bool {mdf@leftline} - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (\mdf@middlelinewidth@length,\mdf@middlelinewidth@length)% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - )% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - )% - \rput(! \ptTps{\mdf@middlelinewidth@length} - \ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord - \ptTps{\mdf@middlelinewidth@length} - \ptTps{\mdf@innerbottommargin@length} - \ptTps{\mdfboxheight} 0.5 mul add add %Y-Koord - ){\box\@tempboxa} - }{}% - \ifboolexpr{ not( bool {mdf@bottomline}) and bool {mdf@rightline} - and bool {mdf@leftline} - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (\mdf@middlelinewidth@length,0)% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - )% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - 0 %Y-Koord - )% - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - 0 %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - )% - \rput(! \ptTps{\mdf@middlelinewidth@length} - \ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord - \ptTps{\mdf@innerbottommargin@length} - \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord - ){\box\@tempboxa} - }{}% - \ifboolexpr{ not( bool {mdf@bottomline}) and not(bool {mdf@rightline}) - and bool {mdf@leftline} - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (\mdf@middlelinewidth@length,0)% - (! \ptTps{\mdfboundingboxwidth} %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - )% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord - 0 %Y-Koord - )% - \rput(! \ptTps{\mdf@middlelinewidth@length} - \ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord - \ptTps{\mdf@innerbottommargin@length} - \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord - ){\box\@tempboxa} - }{}% - \ifboolexpr{ not( bool {mdf@bottomline}) and bool {mdf@rightline} - and not(bool {mdf@leftline}) - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (0,0)% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - 0 %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - )% - \rput(! \ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord - \ptTps{\mdf@innerbottommargin@length} - \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord - ){\box\@tempboxa} - }{}% - \ifboolexpr{ bool {mdf@bottomline} and not(bool {mdf@rightline}) - and not(bool {mdf@leftline}) - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (0,\mdf@middlelinewidth@length)% - (! \ptTps{\mdfboundingboxwidth} %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - ) - \psline[linewidth=\mdf@middlelinewidth, - linecolor=\mdf@linecolor,fillstyle=none,]% - (! 0 %X-Koord - \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord - )% - (! \ptTps{\mdfboundingboxwidth} %X-Koord - \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord - )% - \rput(! \ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord - \ptTps{\mdf@middlelinewidth@length} - \ptTps{\mdf@innerbottommargin@length} - \ptTps{\mdfboxheight} 0.5 mul add add %Y-Koord - ){\box\@tempboxa} - }{}% - \ifboolexpr{ not(bool {mdf@bottomline}) and not(bool {mdf@rightline}) - and not(bool {mdf@leftline}) - }% - {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length]% - (0,0)% - (! \ptTps{\mdfboundingboxwidth} %X-Koord - \ptTps{\mdfboundingboxheight} %Y-Koord - ) - \rput(! \ptTps{\mdf@innerleftmargin@length} - \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord - \ptTps{\mdf@innerbottommargin@length} - \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord - ){\box\@tempboxa} - }{}% + \ifbool{mdf@leftline}{\hspace*{\mdf@middlelinewidth@length}}{}% + \setlength\mdfboundingboxwidth{\wd\@tempboxa}% + \setlength\mdfboundingboxheight{\ht\@tempboxa+\dp\@tempboxa}% + \advance\mdfboundingboxheight by \mdf@innerbottommargin@length\relax% + \ifbool{mdf@bottomline}{\advance\mdfboundingboxheight by \mdf@middlelinewidth@length\relax}{}% + \advance\mdfboundingboxwidth by \mdf@innerleftmargin@length\relax% + \advance\mdfboundingboxwidth by \mdf@innerrightmargin@length\relax% + \expandafter\psset\expandafter{\mdf@psset@local} + \psset{linearc=\mdf@roundcorner@length,cornersize=absolute}% + \psset{unit=1truecm}% + \begin{pspicture}(0,0)(\mdfboundingboxwidth,\mdfboundingboxheight) + %Hintergrund + \psline[linecolor=\mdf@backgroundcolor,fillstyle=solid,linestyle=solid, + linearc={\dimexpr\mdf@roundcorner@length-\mdf@middlelinewidth@length\relax}, + fillcolor=\mdf@backgroundcolor,linewidth=\mdf@middlelinewidth@length]%% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul \ptTps{\mdfboundingboxheight} )% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul + \ifbool{mdf@bottomline}% + {\ptTps{\mdf@middlelinewidth@length} neg 1.5 mul neg}% + {\ptTps{\mdf@middlelinewidth@length} neg 0.5 mul neg} )% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add + \ifbool{mdf@bottomline}% + {\ptTps{\mdf@middlelinewidth@length} neg 1.5 mul neg}% + {\ptTps{\mdf@middlelinewidth@length} neg 0.5 mul neg} )% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add + \ptTps{\mdfboundingboxheight} ) + %%%%%%%%%%%% + \ifboolexpr{ test {\md@test@ltrb} or test {\md@test@lrb}}{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdfboundingboxheight})% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X + \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X + \ptTps{\mdfboundingboxheight}) + }{} + \ifboolexpr{ test {\md@test@ltb} or test {\md@test@lb}}{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdfboundingboxheight})% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) + }{} + \ifboolexpr{ test {\md@test@trb} or test {\md@test@rb}}{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! 0 \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X + \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X + \ptTps{\mdfboundingboxheight}) + }{} + \ifboolexpr{ test {\md@test@single} or test {\md@test@ltr} or test {\md@test@tr} or test {\md@test@lt}}{% + \ifbool{mdf@bottomline}{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! 0 \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) + }{}% + \ifbool{mdf@leftline}{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% + (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul \ptTps{\mdfboundingboxheight} )% + }{}% + \ifbool{mdf@rightline}{% + \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add 0)% + (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add + \ptTps{\mdfboundingboxheight} )% + }{}% + }{}% + %Ausgabe + \rput[b](!\ptTps{\mdfboundingboxwidth} 0.5 mul % X-Koordinate + \ptTps{\mdf@innerbottommargin@length} + \ifbool{mdf@bottomline}{\ptTps{\mdf@middlelinewidth@length} add}{} + ){\box\@tempboxa} \end{pspicture}% }% } \endinput %eof -%eof -%eof -%eof -%eof + diff --git a/Master/texmf-dist/tex/latex/mdframed/md-framepre-0.mdf b/Master/texmf-dist/tex/latex/mdframed/md-framepre-0.mdf new file mode 100644 index 00000000000..62fd11d01bf --- /dev/null +++ b/Master/texmf-dist/tex/latex/mdframed/md-framepre-0.mdf @@ -0,0 +1,436 @@ +%%==================================================%% +%%= Ausgabe der Box nach Vorgabe der Ausgaberoutine=%% +%%==================================================%% +%% Styledatei fuer das Paket mdframed erstellt durch +%% Marco Daniel und Elke Schubert +%% +%% This package may be distributed under the terms of the LaTeX Project +%% 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 105 2010-12-22 16:50:44Z marco $ +%%$Rev: 105 $ +%%$Author: marco $ +%%$Date: 2010-12-22 17:50:44 +0100 (Mi, 22. Dez 2010) $ + +\def\mdversion{v0.6a} +\def\mdframedOpackagename{md-frame-0} +\def\md@frameOdate@svn$#1: #2 #3 #4-#5-#6 #7 #8${#4/#5/#6\space } + +\ProvidesFile{md-frame-3.mdf}[\md@frameOdate@svn$Id: md-frame-0.mdf 105 2010-12-22 16:50:44Z marco $ \mdversion: \mdframedOpackagename] + + +\let\md@textwidth\textwidth + + + + +%%=single=%% +\def\md@frame@background@single{% + \rlap{\color{\mdf@backgroundcolor}% + \setlength{\mdfboundingboxheight}{\ht\@tempboxa+\dp\@tempboxa}% + \addtolength{\mdfboundingboxheight}{% + \mdf@innertopmargin@length% + +\mdf@innerbottommargin@length% + }% + \rule[-\mdf@innerbottommargin@length]% + {\wd\@tempboxa% + +\mdf@innerleftmargin@length% + +\mdf@innerrightmargin@length% + }{\mdfboundingboxheight}% + }% +}% +% +\def\md@frame@leftandbottomandtopline@single{% + \setlength{\mdfboundingboxheight}{\ht\@tempboxa+\dp\@tempboxa}% + \addtolength{\mdfboundingboxheight}{% + \mdf@innertopmargin@length% + +\mdf@innerbottommargin@length% + +\mdf@middlelinewidth@length% + +\mdf@middlelinewidth@length% + }% + \rlap{\color{\mdf@middlelinecolor}% + \ifbool{mdf@leftline}% + {\rule[-\mdf@innerbottommargin@length]% + {\mdf@middlelinewidth}{\mdfboundingboxheight-2\mdf@middlelinewidth@length}% + }{}% + }% + \rlap{\color{\mdf@middlelinecolor}% + \ifmdf@bottomline% + \ifboolexpr{ bool {mdf@leftline} and bool {mdf@rightline} }% + {%\hspace*{\mdf@middlelinewidth@length}% + \rule[-\mdf@innerbottommargin@length-\mdf@middlelinewidth@length]% + {\wd\@tempboxa% + +\mdf@innerleftmargin@length% + +\mdf@innerrightmargin@length% + +\mdf@middlelinewidth@length% + +\mdf@middlelinewidth@length% + }{\mdf@linewidth}% + }{}% + \ifboolexpr{ bool {mdf@leftline} and not( bool {mdf@rightline}) }% + {%\hspace*{\mdf@middlelinewidth@length}% + \rule[-\mdf@innerbottommargin@length-\mdf@middlelinewidth@length]% + {\wd\@tempboxa% + +\mdf@innerleftmargin@length% + +\mdf@innerrightmargin@length% + +\mdf@middlelinewidth@length% + % +\mdf@middlelinewidth@length% + }{\mdf@linewidth}% + }{}% + \ifboolexpr{ not(bool {mdf@leftline}) and bool {mdf@rightline} }% + {%\hspace*{\mdf@middlelinewidth@length}% + \rule[-\mdf@innerbottommargin@length-\mdf@middlelinewidth@length]% + {\wd\@tempboxa% + +\mdf@innerleftmargin@length% + +\mdf@innerrightmargin@length% + +\mdf@middlelinewidth@length% + % +\mdf@middlelinewidth@length% + }{\mdf@linewidth}% + }{}% + \ifboolexpr{ not(bool {mdf@leftline}) and not( bool {mdf@rightline}) }% + {%\hspace*{\mdf@middlelinewidth@length}% + \rule[-\mdf@innerbottommargin@length-\mdf@middlelinewidth@length]% + {\wd\@tempboxa% + +\mdf@innerleftmargin@length% + +\mdf@innerrightmargin@length% + % +\mdf@middlelinewidth@length% + % +\mdf@middlelinewidth@length% + }{\mdf@linewidth}% + }{}% + \fi% + }% + \rlap{\color{\mdf@middlelinecolor}% + \ifmdf@topline% + \ifboolexpr{ bool {mdf@leftline} and bool {mdf@rightline} }% + {%\hspace*{\mdf@middlelinewidth@length}% + \rule[% + \mdf@innertopmargin@length + +\ht\@tempboxa+\dp\@tempboxa]% + {\wd\@tempboxa% + +\mdf@innerleftmargin@length% + +\mdf@innerrightmargin@length% + +\mdf@middlelinewidth@length% + +\mdf@middlelinewidth@length% + }{\mdf@linewidth}% + }{}% + \ifboolexpr{ bool {mdf@leftline} and not( bool {mdf@rightline}) }% + {%\hspace*{\mdf@middlelinewidth@length}% + \rule[% + \mdf@innertopmargin@length + +\ht\@tempboxa+\dp\@tempboxa]% + {\wd\@tempboxa% + +\mdf@innerleftmargin@length% + +\mdf@innerrightmargin@length% +% +\mdf@middlelinewidth@length% + +\mdf@middlelinewidth@length% + }{\mdf@linewidth}% + }{}% + \ifboolexpr{ not(bool {mdf@leftline}) and bool {mdf@rightline} }% + {%\hspace*{\mdf@middlelinewidth@length}% + \rule[% + \mdf@innertopmargin@length + +\ht\@tempboxa+\dp\@tempboxa]% + {\wd\@tempboxa% + +\mdf@innerleftmargin@length% + +\mdf@innerrightmargin@length% +% +\mdf@middlelinewidth@length% + +\mdf@middlelinewidth@length% + }{\mdf@linewidth}% + }{}% + \ifboolexpr{ not(bool {mdf@leftline}) and not( bool {mdf@rightline}) }% + {%\hspace*{\mdf@middlelinewidth@length}% + \rule[% + \mdf@innertopmargin@length + +\ht\@tempboxa+\dp\@tempboxa]% + {\wd\@tempboxa% + +\mdf@innerleftmargin@length% + +\mdf@innerrightmargin@length% +% +\mdf@middlelinewidth@length% +% +\mdf@middlelinewidth@length% + }{\mdf@linewidth}% + }{}% + \fi% + }% +}% + +\def\md@frame@rightline@single{% + \llap{\color{\mdf@middlelinecolor} + \ifmdf@rightline% + \rule[-\mdf@innerbottommargin@length]% + {\mdf@linewidth}% + {\mdfboundingboxheight-2\mdf@middlelinewidth@length}% + \fi% + }% +}% + + +\def\md@putbox@single{%%%%% Ausgabe der ungesplitteten Gesamtbox + \ifvoid\@tempboxa + \else + \leftline{% + \null\hspace*{\mdf@leftmargin@length}% + \md@frame@leftandbottomandtopline@single% + \ifbool{mdf@leftline}% + {\hspace*{\mdf@middlelinewidth@length}}{}% + \md@frame@background@single% + \hspace*{\mdf@innerleftmargin@length}% + {\box\@tempboxa}% + \hspace*{\mdf@innerrightmargin@length}% + \hspace*{\mdf@middlelinewidth@length}% + \md@frame@rightline@single% + }% + \fi +} + + +%%=first=%% + +\def\md@frame@background@first{% + \setlength{\mdfboundingboxheight}{\ht\tw@+\dp\tw@}% + \addtolength{\mdfboundingboxheight}{% + \mdf@innertopmargin@length% + +\mdf@splitbottomskip@length% + }% + \rlap{\color{\mdf@backgroundcolor}% + \rule[-\dp\tw@-\mdf@splitbottomskip@length]% + {\wd\tw@+\mdf@innerleftmargin@length+\mdf@innerrightmargin@length}% + {\mdfboundingboxheight}% + }% +}% + +\def\md@frame@topandleftline@first{% + \setlength{\mdfboundingboxheight}{\ht\tw@+\dp\tw@}% + \addtolength{\mdfboundingboxheight}{% + 1\mdf@innertopmargin@length% + +1\mdf@middlelinewidth@length% + +\mdf@splitbottomskip@length% + }% + \rlap{\color{\mdf@middlelinecolor} + \ifbool{mdf@leftline}% + {% + \rule[-\dp\tw@-\mdf@splitbottomskip@length]% + {\mdf@middlelinewidth@length}% + {\mdfboundingboxheight-\mdf@middlelinewidth@length}% + }{}% + }% + \rlap{\color{\mdf@middlelinecolor}% + \ifmdf@topline + \ifboolexpr{ bool {mdf@leftline} and bool {mdf@rightline}}% + {\rule[\mdfboundingboxheight-\mdf@middlelinewidth@length-\dp\tw@-\mdf@splitbottomskip@length]% + {\wd\tw@% + +\mdf@innerleftmargin@length% + +\mdf@innerrightmargin@length% + +\mdf@middlelinewidth@length% + +\mdf@middlelinewidth@length% + }{\mdf@linewidth@length}% + }{}% + \ifboolexpr{ bool {mdf@leftline} and not(bool {mdf@rightline}) }% + {\rule[\mdfboundingboxheight-\mdf@middlelinewidth@length-\dp\tw@-\mdf@splitbottomskip@length]% + {\wd\tw@% + +\mdf@innerleftmargin@length% + +\mdf@innerrightmargin@length% + +\mdf@middlelinewidth@length% +% +\mdf@middlelinewidth@length% + }{\mdf@linewidth@length}% + }{}% + \ifboolexpr{ not (bool {mdf@leftline}) and bool {mdf@rightline} }% + {%\hspace*{\mdf@middlelinewidth@length}% + \rule[\mdfboundingboxheight-\mdf@middlelinewidth@length-\dp\tw@-\mdf@splitbottomskip@length]% + {\wd\tw@% + +\mdf@innerleftmargin@length% + +\mdf@innerrightmargin@length% + +\mdf@middlelinewidth@length% +% +\mdf@middlelinewidth@length% + }{\mdf@linewidth@length}% + }{}% + \ifboolexpr{ not (bool {mdf@leftline}) and not( bool {mdf@rightline}) }% + {%\hspace*{\mdf@middlelinewidth@length}% + \rule[\mdfboundingboxheight-\mdf@middlelinewidth@length-\dp\tw@-\mdf@splitbottomskip@length]% + {\wd\tw@% + +\mdf@innerleftmargin@length% + +\mdf@innerrightmargin@length% +% +\mdf@middlelinewidth@length% +% +\mdf@middlelinewidth@length% + }{\mdf@linewidth@length}% + }{}% + \fi% + \ifmdf@rightline + \ifmdf@topline\else% + \deflength\@tempskipb{\wd\tw@% + +\mdf@innerleftmargin@length% + +\mdf@innerrightmargin@length% + +2\mdf@middlelinewidth@length% + }% + \hspace*{\@tempskipb}% + \fi% + \llap{\color{\mdf@middlelinecolor}% + \rule[-\dp\tw@-\mdf@splitbottomskip@length]{\mdf@middlelinewidth@length}% + {\mdfboundingboxheight-\mdf@middlelinewidth@length}% + }% + \fi% + }% +}% + + + + +\def\md@putbox@first{%%%% Ausgabe der Teilbox 1 + \leftline{% + \null\hspace*{\mdf@leftmargin@length}% + \md@frame@topandleftline@first% + \ifbool{mdf@leftline}% + {\hspace*{\mdf@middlelinewidth@length}}{}% + \md@frame@background@first% + \hspace*{\mdf@innerleftmargin@length}% + {\box\tw@}% + }% +} + +%%=second=%% + +\def\md@frame@background@second{% + \setlength{\mdfboundingboxheight}{\ht\@tempboxa+\dp\@tempboxa}% + \addtolength{\mdfboundingboxheight}{% + +\mdf@innerbottommargin@length% + }% + \rlap{\color{\mdf@backgroundcolor}% + \rule[\dp\@tempboxa-\mdf@innerbottommargin@length]% + {\wd\@tempboxa+\mdf@innerleftmargin@length% + +\mdf@innerrightmargin@length}% + {\mdfboundingboxheight}% + }% +}% + +\def\md@frame@lines@second{% + \setlength{\mdfboundingboxheight}{\ht\@tempboxa+\dp\@tempboxa}% + \addtolength{\mdfboundingboxheight}{% + +\mdf@innerbottommargin@length% + +\mdf@middlelinewidth@length% + }% + \rlap{\color{\mdf@middlelinecolor}% + \ifbool{mdf@leftline}% + {\rule[\dp\@tempboxa-\mdf@innerbottommargin@length]% + {\mdf@middlelinewidth@length}% + {\mdfboundingboxheight-\mdf@middlelinewidth@length}% + }{}% + }% + \rlap{\color{\mdf@middlelinecolor}% + \ifbool{mdf@bottomline}% + {% + \ifboolexpr{ bool {mdf@leftline} and bool {mdf@rightline} }% + {\rule[\dp\@tempboxa-\mdf@innerbottommargin@length-\mdf@middlelinewidth@length]% + {\wd\@tempboxa+\mdf@innerleftmargin@length% + +\mdf@innerrightmargin@length+2\mdf@middlelinewidth@length}% + {\mdf@middlelinewidth@length}% + }{}% + \ifboolexpr{ not (bool {mdf@leftline}) and not(bool {mdf@rightline}) }% + {% + \rule[\dp\@tempboxa-\mdf@innerbottommargin@length-\mdf@middlelinewidth@length]% + {\wd\@tempboxa+\mdf@innerleftmargin@length% + +\mdf@innerrightmargin@length}% + {\mdf@middlelinewidth@length}% + }{}% + \ifboolexpr{ bool {mdf@leftline} and not( bool {mdf@rightline}) }% + {% + \rule[\dp\@tempboxa-\mdf@innerbottommargin@length-\mdf@middlelinewidth@length]% + {\wd\@tempboxa+\mdf@innerleftmargin@length% + +\mdf@innerrightmargin@length+\mdf@middlelinewidth@length}% + {\mdf@middlelinewidth@length}% + }{}% + \ifboolexpr{ not(bool {mdf@leftline}) and bool {mdf@rightline} }% + {% + \rule[\dp\@tempboxa-\mdf@innerbottommargin@length-\mdf@middlelinewidth@length]% + {\wd\@tempboxa+\mdf@innerleftmargin@length% + +\mdf@innerrightmargin@length+\mdf@middlelinewidth@length}% + {\mdf@middlelinewidth@length}% + }{}% + }{}% + \llap{\color{\mdf@middlelinecolor}% + \ifbool{mdf@rightline}% + {\rule[\dp\@tempboxa-\mdf@innerbottommargin@length]% + {\mdf@middlelinewidth@length}% + {\mdfboundingboxheight-\mdf@middlelinewidth@length}% + \ifbool{mdf@bottomline}{}% + {\deflength\@tempskipb{\wd\@tempboxa% + +\mdf@innerleftmargin@length% + +\mdf@innerrightmargin@length% + +2\mdf@middlelinewidth@length% + }% + \hspace*{-\@tempskipb}% + }% + }{}% + }% + }% +}% + + +\def\md@putbox@second{%%%%% Ausgabe der mittleren Teilbox + \ifvoid\@tempboxa% + \else + \leftline{% + \null\hspace*{\mdf@leftmargin@length}% + \md@frame@lines@second% + \ifbool{mdf@leftline}% + {\hspace*{\mdf@middlelinewidth@length}}{}% + \md@frame@background@second% + \hspace*{\mdf@innerleftmargin@length}% + {\box\@tempboxa}% + }% + \fi% +}% + + +%%=middle=%% + +\def\md@frame@background@middle{% + \setlength{\mdfboundingboxheight}{\ht\tw@+\dp\tw@}% + \addtolength{\mdfboundingboxheight}{% + \mdf@splitbottomskip@length% + }% + \rlap{\color{\mdf@backgroundcolor}% + \rule[-\dp\tw@-\mdf@splitbottomskip@length]% + {\wd\tw@+\mdf@innerleftmargin@length+\mdf@innerrightmargin@length}% + {\mdfboundingboxheight}% + }% +}% + +\def\md@frame@lines@middle{% + \setlength{\mdfboundingboxheight}{\ht\tw@+\dp\tw@}% + \addtolength{\mdfboundingboxheight}{% + \mdf@splitbottomskip@length% + }% + \rlap{\color{\mdf@middlelinecolor}% + \ifbool{mdf@leftline}% + {% + \rule[-\dp\tw@-\mdf@splitbottomskip@length]{\mdf@middlelinewidth@length}{\mdfboundingboxheight}% + }{}% + \ifbool{mdf@rightline}% + {% + \deflength{\mdfpositionx}{\wd\tw@% + +\mdf@innerleftmargin@length% + +\mdf@innerrightmargin@length% + +\mdf@middlelinewidth@length% + }% + \hspace*{\mdfpositionx}% + \llap{\color{\mdf@middlelinecolor}% + \rule[-\dp\tw@-\mdf@splitbottomskip@length]{\mdf@middlelinewidth@length}{\mdfboundingboxheight}% + \ifbool{mdf@leftline}{}{}% + }% + }{}% + }% +}% + + + + +\def\md@putbox@middle{%%%% Ausgabe der Teilbox 1 + \leftline{% + \null\hspace*{\mdf@leftmargin@length}% + \md@frame@lines@middle% + \ifbool{mdf@leftline}% + {\hspace*{\mdf@middlelinewidth@length}}{}% + \md@frame@background@middle% + \hspace*{\mdf@innerleftmargin@length}% + {\box\tw@}% + }% +} diff --git a/Master/texmf-dist/tex/latex/mdframed/md-framepre-1.mdf b/Master/texmf-dist/tex/latex/mdframed/md-framepre-1.mdf new file mode 100644 index 00000000000..8d5f16d9c74 --- /dev/null +++ b/Master/texmf-dist/tex/latex/mdframed/md-framepre-1.mdf @@ -0,0 +1,193 @@ +%%==================================================%% +%%= Ausgabe der Box nach Vorgabe der Ausgaberoutine=%% +%%==================================================%% +%% Styledatei fuer das Paket mdframed erstellt durch +%% Marco Daniel und Elke Schubert +%% +%% This package may be distributed under the terms of the LaTeX Project +%% 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 105 2010-12-22 16:50:44Z marco $ +%%$Rev: 105 $ +%%$Author: marco $ +%%$Date: 2010-12-22 17:50:44 +0100 (Mi, 22. Dez 2010) $ + +\def\mdversion{v0.6a} +\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 105 2010-12-22 16:50:44Z marco $ \mdversion: \mdframedIpackagename] + +%%Allgemeine Einstellungen fuer tikz + +\def\md@tikz@settings{% + %wenn das Innere der Doppellinie 0pt breit ist, + %muss Grenze zwischen innerer und aeusserer Linie + %einer Farbe zugeordnet werden + \ifdimequal{\mdf@middlelinewidth@length}{\z@}% + {\ifdimequal{\mdf@innerlinewidth@length}{\z@}% + {\ifdimequal{\mdf@outerlinewidth@length}{\z@}% + {\let\mdf@middlelinecolor\mdf@backgroundcolor}% + {\let\mdf@middlelinecolor\mdf@outerlinecolor}% + }% + {\let\mdf@middlelinecolor\mdf@innerlinecolor}% + }{}% + \ifdimequal{\mdf@innerlinewidth@length}{\z@}% + {\ifdimequal{\mdf@outerlinewidth@length}{\z@}% + {\ifdimequal{\mdf@middlelinewidth@length}{\z@}% + {}% + {\let\mdf@middlelinecolor\mdf@linecolor}% + }% + {}% + }{}% + \tikzset{mdftext/.style={inner sep=0pt,outer sep=0pt}}% + \tikzset{mdfcorners/.style={rounded corners=\mdf@roundcorner@length}}% + \tikzset{mdfbackground/.style={fill=\mdf@backgroundcolor}}% + \ifdimgreater{\mdf@outerlinewidth@length}{\z@}% + {\tikzset{mdfborderA/.style={% + draw=\mdf@outerlinecolor,% + line width=2\mdf@outerlinewidth@length+\mdf@middlelinewidth@length% + }% + }% + }% + {\tikzset{mdfborderA/.style={}}}% + \ifdimgreater{\mdf@innerlinewidth@length}{\z@}% + {\tikzset{mdfborderI/.style={% + draw=\mdf@innerlinecolor,% + line width=2\mdf@innerlinewidth@length+\mdf@middlelinewidth@length% + }% + }% + }% + {\tikzset{mdfborderI/.style={}}}% + \tikzset{mdfmiddle/.style={draw=\mdf@middlelinecolor,line width=\mdf@middlelinewidth@length}}% +}% + + + +\def\md@putbox@single{% + \leftline{\null\hspace*{\mdf@leftmargin@length}%% + \md@tikz@settings% + \setlength\mdfboxwidth{\wd\@tempboxa}% + \setlength\mdfboxheight{\ht\@tempboxa+\dp\@tempboxa}% + \begin{tikzpicture} + \coordinate(O)at(0,0); + \pgfmathsetlengthmacro\x{\mdfboxwidth+\mdf@innerrightmargin@length% + +\mdf@innerleftmargin@length+% + 2\mdf@innerlinewidth@length+\mdf@middlelinewidth@length} + \pgfmathsetlengthmacro\xp{\mdf@innerleftmargin@length+% + 1*\mdf@innerlinewidth@length+0.5*\mdf@middlelinewidth@length} + \pgfmathsetlengthmacro\y{\mdfboxheight+\mdf@innertopmargin@length% + +\mdf@innerbottommargin@length% + +2*\mdf@innerlinewidth@length+\mdf@middlelinewidth@length} + \pgfmathsetlengthmacro\yp{\mdf@innerbottommargin@length% + +1*\mdf@innerlinewidth@length+0.5*\mdf@middlelinewidth@length} + \coordinate(P)at(\x,\y); + \begin{scope} + \clip[preaction=mdfborderA]% + [postaction={mdfbackground,mdfborderI}]% + [mdfcorners](O)--(O|-P)--(P)--(P|-O)--cycle; + \end{scope} + \path[mdfmiddle,mdfcorners](O)--(O|-P)--(P)--(P|-O)--cycle; + \node[mdftext,anchor=south west]at(\xp,\yp){\box\@tempboxa}; + \end{tikzpicture}% + }% +}% + +\def\md@putbox@first{% + \leftline{\null\hspace*{\mdf@leftmargin@length}%% + \md@tikz@settings% + \setlength\mdfboxwidth{\wd\tw@}% + \setlength\mdfboxheight{\ht\tw@+\dp\tw@}% + \ifdimequal{\pagegoal}{\maxdimen}{\enlargethispage{\baselineskip}}{}% + \begin{tikzpicture} + \coordinate(O) at (0,0); + \pgfmathsetlengthmacro\x{\mdfboxwidth+\mdf@innerrightmargin@length% + +\mdf@innerleftmargin@length+% + 2*\mdf@innerlinewidth@length+1*\mdf@middlelinewidth@length} + \pgfmathsetlengthmacro\xp{\mdf@innerleftmargin@length+% + 1*\mdf@innerlinewidth@length+0.5*\mdf@middlelinewidth@length} + \pgfmathsetlengthmacro\y{-\mdfboxheight-\mdf@innertopmargin@length% + -1*\mdf@innerlinewidth@length-0.5*\mdf@middlelinewidth@length+0.0cm} + \pgfmathsetlengthmacro\yp{-\mdf@innertopmargin@length% + -1*\mdf@innerlinewidth@length-0.5*\mdf@middlelinewidth@length% + -0.5\mdfboxheight} + \coordinate(P)at(\x,\y); + \clip(-\mdf@outerlinewidth@length-0.5*\mdf@middlelinewidth@length,% + \mdf@outerlinewidth@length+0.5*\mdf@middlelinewidth@length)% + rectangle(\x+\mdf@outerlinewidth@length+0.5*\mdf@middlelinewidth@length,\y); + \begin{scope} + \clip[preaction=mdfborderA]% + [postaction={mdfbackground,mdfborderI}]% + [mdfcorners](O|-P)--(O)--(P|-O)--(P); + \end{scope} + \path[mdfmiddle,mdfcorners,](O|-P)--(O)--(P|-O)--(P); + \node[mdftext,anchor=west,inner sep=0pt,outer sep=0pt]at(\xp,\yp){\box\tw@}; +% \draw[fill] (0,0) circle (.1cm); +% \draw[fill,yellow] (\x,\y) circle (.1cm); +% \draw[fill,orange] (\xp,\yp) circle (.05cm); + \end{tikzpicture}% + }% +}% + + +\def\md@putbox@middle{% + \leftline{\null\hspace*{\mdf@leftmargin@length}%% + \md@tikz@settings% + \setlength\mdfboxwidth{\wd\tw@}% + \setlength\mdfboxheight{\ht\tw@}% + \setlength{\mdf@ymargin@length}{0.4\baselineskip}% + \begin{tikzpicture} + \coordinate(O)at(0,0); + \pgfmathsetlengthmacro\x{\mdfboxwidth+\mdf@innerrightmargin@length% + +\mdf@innerleftmargin@length+% + 2*\mdf@innerlinewidth@length+1*\mdf@middlelinewidth@length} + \pgfmathsetlengthmacro\xp{\mdf@innerleftmargin@length+% + 1*\mdf@innerlinewidth@length+0.5*\mdf@middlelinewidth@length} + \pgfmathsetlengthmacro\y{\mdfboxheight} + \pgfmathsetlengthmacro\yp{0cm} + \coordinate(P)at(\x,\y); + \clip(-\mdf@outerlinewidth@length-0.5*\mdf@middlelinewidth@length,0)% + rectangle(\x+\mdf@outerlinewidth@length+0.5*\mdf@middlelinewidth@length,\y); + \begin{scope} + \path[mdfborderA](O)--(O|-P)(P)--(P|-O); + \clip[postaction=mdfbackground](O)--(O|-P)--(P)--(P|-O); + \path[mdfborderI](O)--(O|-P)(P)--(P|-O); + \end{scope} + \path[mdfmiddle](O)--(O|-P)(P)--(P|-O); + \node[mdftext,anchor=south west]at(\xp,\yp){\box\tw@}; + \end{tikzpicture}% + } +} + +\def\md@putbox@second{% + \leftline{\null\hspace*{\mdf@leftmargin@length}%% + \md@tikz@settings% + \setlength\mdfboxwidth{\wd\@tempboxa}% + \setlength\mdfboxheight{\ht\@tempboxa}% + \begin{tikzpicture} + \coordinate(O)at(0,0); + \pgfmathsetlengthmacro\x{\mdfboxwidth+\mdf@innerrightmargin@length% + +\mdf@innerleftmargin@length+% + 2*\mdf@innerlinewidth@length+1*\mdf@middlelinewidth@length} + \pgfmathsetlengthmacro\xp{\mdf@innerleftmargin@length+% + 1*\mdf@innerlinewidth@length+0.5*\mdf@middlelinewidth@length} + \pgfmathsetlengthmacro\y{\mdfboxheight% + +\mdf@innerbottommargin@length% + +1*\mdf@innerlinewidth@length+0.5*\mdf@middlelinewidth@length} + \pgfmathsetlengthmacro\yp{\mdf@innerbottommargin@length% + +1*\mdf@innerlinewidth@length+0.5*\mdf@middlelinewidth@length} + \coordinate(P)at(\x,\y); + \clip(-\mdf@outerlinewidth@length-0.5*\mdf@middlelinewidth@length,% + -\mdf@outerlinewidth@length-0.5*\mdf@middlelinewidth@length)% + rectangle(\x+\mdf@outerlinewidth@length+0.5*\mdf@middlelinewidth@length,\y); + \begin{scope} + \clip[preaction=mdfborderA]% + [postaction={mdfbackground,mdfborderI}]% + [mdfcorners](P-|O)--(O)--(O-|P)--(P); + \end{scope} + \path[mdfmiddle,mdfcorners](P-|O)--(O)--(O-|P)--(P); + \node[mdftext,anchor=south west] at (\xp,\yp){\box\@tempboxa}; + \end{tikzpicture}% + } +} diff --git a/Master/texmf-dist/tex/latex/mdframed/md-framepre-3.mdf b/Master/texmf-dist/tex/latex/mdframed/md-framepre-3.mdf new file mode 100644 index 00000000000..ff65c795a84 --- /dev/null +++ b/Master/texmf-dist/tex/latex/mdframed/md-framepre-3.mdf @@ -0,0 +1,943 @@ +%%==================================================%% +%%= Ausgabe der Box nach Vorgabe der Ausgaberoutine=%% +%%==================================================%% +%% Styledatei fuer das Paket mdframed erstellt durch +%% Marco Daniel + +%% This package may be distributed under the terms of the LaTeX Project +%% 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 105 2010-12-22 16:50:44Z marco $ +%%$Rev: 105 $ +%%$Author: marco $ +%%$Date: 2010-12-22 17:50:44 +0100 (Mi, 22. Dez 2010) $ + + +%%Allgemeine Einstellungen fuer pstricks +%%Hier nur einfacher Rahmen mit Einstellungen + +\def\mdversion{v0.6a} +\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 105 2010-12-22 16:50:44Z marco $ \mdversion: \mdframedIIIpackagename] + +\def\md@ptlength@to@pscode#1{\pst@number{#1} \pst@number\psxunit div} +\let\ptTps\md@ptlength@to@pscode\relax + + +\def\md@putbox@single{% + \leftline{\null\hspace*{\mdf@leftmargin@length}%% + \setlength\mdfboxwidth{\wd\@tempboxa}% + \setlength\mdfboxheight{\ht\@tempboxa+\dp\@tempboxa}% + \setlength{\mdfboundingboxheight}{% + \mdfboxheight% + +\mdf@innertopmargin@length% + +\mdf@innerbottommargin@length% +% +\mdf@middlelinewidth@length% +% +\mdf@middlelinewidth@length% + }% + \ifbool{mdf@topline}{\addtolength{\mdfboundingboxheight}{\mdf@middlelinewidth@length}}{}% + \ifbool{mdf@bottomline}{\addtolength{\mdfboundingboxheight}{\mdf@middlelinewidth@length}}{}% + \setlength{\mdfboundingboxwidth}{% + \mdfboxwidth% + +\mdf@innerleftmargin@length% + +\mdf@innerrightmargin@length% +% +\mdf@middlelinewidth@length% +% +\mdf@middlelinewidth@length% + }% + \ifbool{mdf@leftline}{\addtolength{\mdfboundingboxwidth}{\mdf@middlelinewidth@length}}{}% + \ifbool{mdf@rightline}{\addtolength{\mdfboundingboxwidth}{\mdf@middlelinewidth@length}}{}% + \psset{linearc=\mdf@roundcorner@length,cornersize=absolute,}% + \expandafter\psset\expandafter{\mdf@psset@local}% + \psset{unit=1truecm}% + \begin{pspicture}(0,0)(\mdfboundingboxwidth,\mdfboundingboxheight) + \ifboolexpr{ bool {mdf@topline} and bool {mdf@bottomline} + and bool {mdf@leftline} and bool {mdf@rightline} + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (\mdf@middlelinewidth@length,\mdf@middlelinewidth@length)% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord + \ptTps{\mdfboundingboxheight} + \ptTps{\mdf@middlelinewidth@length} neg add %Y-Koord + ) + \psframe[linewidth=\mdf@middlelinewidth@length, + linecolor=\mdf@linecolor, + cornersize=absolute, + fillstyle=none,]% + (0,0)(\mdfboundingboxwidth,\mdfboundingboxheight)% + \rput(! \ptTps{\mdf@middlelinewidth@length} + \ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord + \ptTps{\mdf@middlelinewidth@length} + \ptTps{\mdf@innerbottommargin@length} + \ptTps{\mdfboxheight} 0.5 mul add add %Y-Koord + ){\box\@tempboxa} + }{}% + \ifboolexpr{ bool {mdf@topline} and bool {mdf@bottomline} + and not (bool {mdf@leftline}) and bool {mdf@rightline} + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (0,\mdf@middlelinewidth@length)% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord + \ptTps{\mdfboundingboxheight} + \ptTps{\mdf@middlelinewidth@length} neg add %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! 0 %X-Koord + \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + \ptTps{\mdfboundingboxheight} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord + )% + (! 0 %X-Koord + \ptTps{\mdfboundingboxheight} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord + )% + \rput(!\ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord + \ptTps{\mdf@middlelinewidth@length} + \ptTps{\mdf@innerbottommargin@length} + \ptTps{\mdfboxheight} 0.5 mul add add %Y-Koord + ){\box\@tempboxa} + }{}% + \ifboolexpr{ bool {mdf@topline} and bool {mdf@bottomline} + and bool {mdf@leftline} and not( bool {mdf@rightline}) + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (\mdf@middlelinewidth@length,\mdf@middlelinewidth@length)% + (! \ptTps{\mdfboundingboxwidth} %X-Koord + \ptTps{\mdfboundingboxheight} + \ptTps{\mdf@middlelinewidth@length} neg add %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdfboundingboxwidth} %X-Koord + \ptTps{\mdfboundingboxheight} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord + )% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + \ptTps{\mdfboundingboxheight} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord + )% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} %X-Koord + \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord + )% + \rput(! \ptTps{\mdf@middlelinewidth@length} + \ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord + \ptTps{\mdf@middlelinewidth@length} + \ptTps{\mdf@innerbottommargin@length} + \ptTps{\mdfboxheight} 0.5 mul add add %Y-Koord + ){\box\@tempboxa} + }{}% + \ifboolexpr{ not( bool {mdf@topline}) and bool {mdf@bottomline} + and bool {mdf@leftline} and bool {mdf@rightline} + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (\mdf@middlelinewidth@length,\mdf@middlelinewidth@length)% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + )% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + )% + \rput(! \ptTps{\mdf@middlelinewidth@length} + \ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord + \ptTps{\mdf@middlelinewidth@length} + \ptTps{\mdf@innerbottommargin@length} + \ptTps{\mdfboxheight} 0.5 mul add add %Y-Koord + ){\box\@tempboxa} + }{}% + \ifboolexpr{ bool {mdf@topline} and not (bool {mdf@bottomline}) + and bool {mdf@leftline} and bool {mdf@rightline} + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (\mdf@middlelinewidth@length,0)% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord + \ptTps{\mdfboundingboxheight} + \ptTps{\mdf@middlelinewidth@length} neg add %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + 0 %Y-Koord + )% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + \ptTps{\mdfboundingboxheight} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + \ptTps{\mdfboundingboxheight} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + 0 %Y-Koord + )% + \rput(! \ptTps{\mdf@middlelinewidth@length} + \ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord + \ptTps{\mdf@innerbottommargin@length} + \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord + ){\box\@tempboxa} + }{}% + \ifboolexpr{ not( bool {mdf@topline}) and not (bool {mdf@bottomline}) + and bool {mdf@leftline} and bool {mdf@rightline} + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (\mdf@middlelinewidth@length,0)% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + 0 %Y-Koord + )% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + \ptTps{\mdfboundingboxheight} + )% + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + 0 %Y-Koord + )% + \rput(! \ptTps{\mdf@middlelinewidth@length} + \ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord + \ptTps{\mdf@innerbottommargin@length} + \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord + ){\box\@tempboxa} + }{}% + \ifboolexpr{ bool {mdf@topline} and bool {mdf@bottomline} + and not (bool {mdf@leftline}) and not(bool {mdf@rightline}) + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (0,\mdf@middlelinewidth@length)% + (! \ptTps{\mdfboundingboxwidth} %X-Koord + \ptTps{\mdfboundingboxheight} + \ptTps{\mdf@middlelinewidth@length} neg add %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! 0 %X-Koord + \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} %X-Koord + \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord + )% + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdfboundingboxwidth} %X-Koord + \ptTps{\mdfboundingboxheight} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord + )% + (! 0 %X-Koord + \ptTps{\mdfboundingboxheight} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord + )% + \rput(!\ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord + \ptTps{\mdf@middlelinewidth@length} + \ptTps{\mdf@innerbottommargin@length} + \ptTps{\mdfboxheight} 0.5 mul add add %Y-Koord + ){\box\@tempboxa} + }{}% + \ifboolexpr{ not( bool {mdf@topline}) and not (bool {mdf@bottomline}) + and bool {mdf@leftline} and not( bool {mdf@rightline}) + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (\mdf@middlelinewidth@length,0)% + (! \ptTps{\mdfboundingboxwidth} %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + 0 %Y-Koord + )% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + \ptTps{\mdfboundingboxheight} + )% + \rput(! \ptTps{\mdf@middlelinewidth@length} + \ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord + \ptTps{\mdf@innerbottommargin@length} + \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord + ){\box\@tempboxa} + }{}% + \ifboolexpr{ not( bool {mdf@topline}) and not (bool {mdf@bottomline}) + and not(bool {mdf@leftline}) and bool {mdf@rightline} + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (!0 0)% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + 0 %Y-Koord + )% + \rput(! \ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord + \ptTps{\mdf@innerbottommargin@length} + \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord + ){\box\@tempboxa} + }{}% + \ifboolexpr{ not( bool {mdf@topline}) and bool {mdf@bottomline} + and not (bool {mdf@leftline}) and not(bool {mdf@rightline}) + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (0,\mdf@middlelinewidth@length)% + (! \ptTps{\mdfboundingboxwidth} %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! 0 %X-Koord + \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} %X-Koord + \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord + )% + \rput(!\ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord + \ptTps{\mdf@middlelinewidth@length} + \ptTps{\mdf@innerbottommargin@length} + \ptTps{\mdfboxheight} 0.5 mul add add %Y-Koord + ){\box\@tempboxa} + }{}% + \ifboolexpr{ bool {mdf@topline} and not (bool {mdf@bottomline}) + and not (bool {mdf@leftline}) and not(bool {mdf@rightline}) + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (0,0)% + (! \ptTps{\mdfboundingboxwidth} %X-Koord + \ptTps{\mdfboundingboxheight} + \ptTps{\mdf@middlelinewidth@length} neg add %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdfboundingboxwidth} %X-Koord + \ptTps{\mdfboundingboxheight} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord + )% + (! 0 %X-Koord + \ptTps{\mdfboundingboxheight} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord + )% + \rput(!\ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord + \ptTps{\mdf@innerbottommargin@length} + \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord + ){\box\@tempboxa} + }{}% \psgrid + \end{pspicture}% + }% +} + + + + + + +\def\md@putbox@first{% + \leftline{\null\hspace*{\mdf@leftmargin@length}%% + \setlength\mdfboxwidth{\wd\tw@}% + \setlength\mdfboxheight{\ht\tw@+\dp\tw@}% + \setlength{\mdfboundingboxheight}{% + +\mdfboxheight% + +\mdf@innertopmargin@length% + +\mdf@splitbottomskip@length% + }% + \ifbool{mdf@topline}{\addtolength{\mdfboundingboxheight}{\mdf@middlelinewidth@length}}{}% + \setlength{\mdfboundingboxwidth}{% + +\mdf@innerleftmargin@length% + +\mdfboxwidth + +\mdf@innerrightmargin@length% + }% + \ifbool{mdf@leftline}{\addtolength{\mdfboundingboxwidth}{\mdf@middlelinewidth@length}}{}% + \ifbool{mdf@rightline}{\addtolength{\mdfboundingboxwidth}{\mdf@middlelinewidth@length}}{}% + \psset{linearc=\mdf@roundcorner@length}% + \expandafter\psset\expandafter{\mdf@psset@local}% + \psset{unit=1truecm}% + \ifdimgreater{\mdfboundingboxheight}{\vsize} + {\begin{pspicture}(0,0)(\mdfboundingboxwidth,\vsize)} + {\begin{pspicture}(0,0)(\mdfboundingboxwidth,\mdfboundingboxheight)} + \ifboolexpr{ bool {mdf@topline} and bool {mdf@rightline} + and bool {mdf@leftline} + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (\mdf@middlelinewidth@length,0)% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord + \ptTps{\mdfboundingboxheight} + \ptTps{\mdf@middlelinewidth@length} neg add %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + 0 %Y-Koord + )% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + \ptTps{\mdfboundingboxheight} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + \ptTps{\mdfboundingboxheight} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + 0 %Y-Koord + )% + \rput(! \ptTps{\mdf@middlelinewidth@length} + \ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord + \ptTps{\mdf@splitbottomskip@length} + \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord + ){\box\tw@} + }{}% + \ifboolexpr{ not( bool {mdf@topline}) and bool {mdf@rightline} + and bool {mdf@leftline} + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (\mdf@middlelinewidth@length,0)% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + 0 %Y-Koord + )% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + )% + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + 0 %Y-Koord + )% + \rput(! \ptTps{\mdf@middlelinewidth@length} + \ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord + \ptTps{\mdf@splitbottomskip@length} + \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord + ){\box\tw@} + }{}% + \ifboolexpr{ not( bool {mdf@topline}) and not(bool {mdf@rightline}) + and bool {mdf@leftline} + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (\mdf@middlelinewidth@length,0)% + (! \ptTps{\mdfboundingboxwidth} %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + 0 %Y-Koord + )% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + )% + \rput(! \ptTps{\mdf@middlelinewidth@length} + \ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord + \ptTps{\mdf@splitbottomskip@length} + \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord + ){\box\tw@} + }{}% + \ifboolexpr{ not( bool {mdf@topline}) and bool {mdf@rightline} + and not( bool {mdf@leftline} ) + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (0,0)% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + 0 %Y-Koord + )% + \rput(!\ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord + \ptTps{\mdf@splitbottomskip@length} + \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord + ){\box\tw@} + }{}% + \ifboolexpr{ bool {mdf@topline} and not(bool {mdf@rightline}) + and not(bool {mdf@leftline} ) + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (0,0)% + (! \ptTps{\mdfboundingboxwidth} %X-Koord + \ptTps{\mdfboundingboxheight} + \ptTps{\mdf@middlelinewidth@length} neg add %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! 0 %X-Koord + \ptTps{\mdfboundingboxheight} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} %X-Koord + \ptTps{\mdfboundingboxheight} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %Y-Koord + )% + \rput(! \ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord + \ptTps{\mdf@splitbottomskip@length} + \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord + ){\box\tw@} + }{}% + \ifboolexpr{ not(bool {mdf@topline}) and not(bool {mdf@rightline}) + and not(bool {mdf@leftline} ) + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (0,0)% + (! \ptTps{\mdfboundingboxwidth} %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + ) + \rput(! \ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord + \ptTps{\mdf@splitbottomskip@length} + \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord + ){\box\tw@} + }{}% + \end{pspicture}% + }% +} + + + +\def\md@putbox@middle{% + \leftline{\null\hspace*{\mdf@leftmargin@length}%% + \setlength\mdfboxwidth{\wd\tw@}% + \setlength\mdfboxheight{\ht\tw@+\dp\tw@}% + \setlength{\mdfboundingboxheight}{% + +\mdfboxheight% + +\mdf@splitbottomskip@length% + }% + \setlength{\mdfboundingboxwidth}{% + +\mdf@innerleftmargin@length% + +\mdfboxwidth% + +\mdf@innerrightmargin@length% + }% + \ifbool{mdf@leftline}{\addtolength{\mdfboundingboxwidth}{\mdf@middlelinewidth@length}}{}% + \ifbool{mdf@rightline}{\addtolength{\mdfboundingboxwidth}{\mdf@middlelinewidth@length}}{}% + \expandafter\psset\expandafter{\mdf@psset@local}% + \psset{linearc=\mdf@roundcorner@length}% + \psset{unit=1truecm}% + \ifdimgreater{\mdfboundingboxheight}{\vsize} + {\begin{pspicture}(0,0)(\mdfboundingboxwidth,\vsize)} + {\begin{pspicture}(0,0)(\mdfboundingboxwidth,\mdfboundingboxheight)} + \ifboolexpr{ bool {mdf@rightline} and bool {mdf@leftline} + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (\mdf@middlelinewidth@length,0)% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + 0 %Y-Koord + )% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + )% + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + 0 %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + )% + \rput(! \ptTps{\mdf@middlelinewidth@length} + \ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord + \ptTps{\mdf@splitbottomskip@length} + \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord + ){\box\tw@} + }{}% + \ifboolexpr{ bool {mdf@rightline} and not(bool {mdf@leftline}) + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (0,0)% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + 0 %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + )% + \rput(! \ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord + \ptTps{\mdf@splitbottomskip@length} + \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord + ){\box\tw@} + }{}% + \ifboolexpr{ not( bool {mdf@rightline}) and bool {mdf@leftline} + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (\mdf@middlelinewidth@length,0)% + (! \ptTps{\mdfboundingboxwidth} %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + 0 %Y-Koord + )% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + )% + \rput(! \ptTps{\mdf@middlelinewidth@length} + \ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord + \ptTps{\mdf@splitbottomskip@length} + \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord + ){\box\tw@} + }{}% + \ifboolexpr{( + not(bool {mdf@rightline}) and not(bool {mdf@leftline}) + and bool {mdf@topline} and not( bool {mdf@bottomline}) + ) + or + ( + not(bool {mdf@rightline}) and not(bool {mdf@leftline}) + and not (bool {mdf@topline}) and not( bool {mdf@bottomline}) + ) + or + ( + not(bool {mdf@rightline}) and not(bool {mdf@leftline}) + and not (bool {mdf@topline}) and bool {mdf@bottomline} + ) + or + ( + not(bool {mdf@rightline}) and not(bool {mdf@leftline}) + and bool {mdf@topline} and bool {mdf@bottomline} + ) + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (0,0)% + (! \ptTps{\mdfboundingboxwidth} %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + ) + \rput(! \ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord + \ptTps{\mdf@splitbottomskip@length} + \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord + ){\box\tw@} + }{}% + \end{pspicture}% + }% +} + +\def\md@putbox@second{ + \leftline{\null\hspace*{\mdf@leftmargin@length}%% + \setlength\mdfboxwidth{\wd\@tempboxa}% + \setlength\mdfboxheight{\ht\@tempboxa+\dp\@tempboxa}% + \setlength{\mdfboundingboxheight}{% + +\mdfboxheight% + +\mdf@innerbottommargin@length% + }% + \ifbool{mdf@bottomline}{\addtolength{\mdfboundingboxheight}{\mdf@middlelinewidth@length}}{}% + \setlength{\mdfboundingboxwidth}{% + +\mdf@innerleftmargin@length% + +\mdfboxwidth + +\mdf@innerrightmargin@length% + }% + \ifbool{mdf@leftline}{\addtolength{\mdfboundingboxwidth}{\mdf@middlelinewidth@length}}{}% + \ifbool{mdf@rightline}{\addtolength{\mdfboundingboxwidth}{\mdf@middlelinewidth@length}}{}% + \expandafter\psset\expandafter{\mdf@psset@local} + \psset{linearc=\mdf@roundcorner@length}% + \psset{unit=1truecm}% + \begin{pspicture}(0,0)(\mdfboundingboxwidth,\mdfboundingboxheight) + \ifboolexpr{ bool {mdf@bottomline} and bool {mdf@rightline} + and bool {mdf@leftline} + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (\mdf@middlelinewidth@length,\mdf@middlelinewidth@length)% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + )% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + )% + \rput(! \ptTps{\mdf@middlelinewidth@length} + \ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord + \ptTps{\mdf@middlelinewidth@length} + \ptTps{\mdf@innerbottommargin@length} + \ptTps{\mdfboxheight} 0.5 mul add add %Y-Koord + ){\box\@tempboxa} + }{}% + \ifboolexpr{ not( bool {mdf@bottomline}) and bool {mdf@rightline} + and bool {mdf@leftline} + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (\mdf@middlelinewidth@length,0)% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + )% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + 0 %Y-Koord + )% + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + 0 %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + )% + \rput(! \ptTps{\mdf@middlelinewidth@length} + \ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord + \ptTps{\mdf@innerbottommargin@length} + \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord + ){\box\@tempboxa} + }{}% + \ifboolexpr{ not( bool {mdf@bottomline}) and not(bool {mdf@rightline}) + and bool {mdf@leftline} + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (\mdf@middlelinewidth@length,0)% + (! \ptTps{\mdfboundingboxwidth} %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + )% + (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul %X-Koord + 0 %Y-Koord + )% + \rput(! \ptTps{\mdf@middlelinewidth@length} + \ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add add %X-Koord + \ptTps{\mdf@innerbottommargin@length} + \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord + ){\box\@tempboxa} + }{}% + \ifboolexpr{ not( bool {mdf@bottomline}) and bool {mdf@rightline} + and not(bool {mdf@leftline}) + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (0,0)% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} neg add %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + 0 %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + )% + \rput(! \ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord + \ptTps{\mdf@innerbottommargin@length} + \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord + ){\box\@tempboxa} + }{}% + \ifboolexpr{ bool {mdf@bottomline} and not(bool {mdf@rightline}) + and not(bool {mdf@leftline}) + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (0,\mdf@middlelinewidth@length)% + (! \ptTps{\mdfboundingboxwidth} %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + ) + \psline[linewidth=\mdf@middlelinewidth, + linecolor=\mdf@linecolor,fillstyle=none,]% + (! 0 %X-Koord + \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord + )% + (! \ptTps{\mdfboundingboxwidth} %X-Koord + \ptTps{\mdf@middlelinewidth@length} 0.5 mul %Y-Koord + )% + \rput(! \ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord + \ptTps{\mdf@middlelinewidth@length} + \ptTps{\mdf@innerbottommargin@length} + \ptTps{\mdfboxheight} 0.5 mul add add %Y-Koord + ){\box\@tempboxa} + }{}% + \ifboolexpr{ not(bool {mdf@bottomline}) and not(bool {mdf@rightline}) + and not(bool {mdf@leftline}) + }% + {\psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% + fillcolor=\mdf@backgroundcolor,linestyle=solid, + linewidth=\mdf@middlelinewidth@length]% + (0,0)% + (! \ptTps{\mdfboundingboxwidth} %X-Koord + \ptTps{\mdfboundingboxheight} %Y-Koord + ) + \rput(! \ptTps{\mdf@innerleftmargin@length} + \ptTps{\mdfboxwidth} 0.5 mul add %X-Koord + \ptTps{\mdf@innerbottommargin@length} + \ptTps{\mdfboxheight} 0.5 mul add %Y-Koord + ){\box\@tempboxa} + }{}% + \end{pspicture}% + }% +} + +\endinput +%eof +%eof +%eof +%eof +%eof diff --git a/Master/texmf-dist/tex/latex/mdframed/mdframed.sty b/Master/texmf-dist/tex/latex/mdframed/mdframed.sty index e93dbda1ffe..ee5ab20348c 100644 --- a/Master/texmf-dist/tex/latex/mdframed/mdframed.sty +++ b/Master/texmf-dist/tex/latex/mdframed/mdframed.sty @@ -32,23 +32,21 @@ %% %% %%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>%% - -%%$Id: mdframed.sty 103 2010-12-22 16:46:10Z marco $ -%%$Rev: 103 $ +%%$Id: mdframed.sty 161 2011-08-06 11:28:15Z marco $ +%%$Rev: 161 $ %%$Author: marco $ -%%$Date: 2010-12-22 17:46:10 +0100 (Mi, 22. Dez 2010) $ +%%$Date: 2011-08-06 13:28:15 +0200 (Sa, 06. Aug 2011) $ %% Allgemeine Angaben -\def\mdversion{v0.6a} +\def\mdversion{v0.7a} \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 103 2010-12-22 16:46:10Z marco $ \mdversion: \mdframedpackagename] +\ProvidesPackage{mdframed}[\md@maindate@svn$Id: mdframed.sty 161 2011-08-06 11:28:15Z marco $ \mdversion: \mdframedpackagename] %%==================================================%% %%=============== Benoetigte Pakete ================%% %%==================================================%% - \newcommand*\md@PackageWarning[1]{\PackageWarning{\mdframedpackagename}{#1}} \newcommand*\md@PackageInfo[1]{\PackageInfo{\mdframedpackagename}{#1}} \newcommand*\md@LoadFile@IfExist[1]{% @@ -56,29 +54,21 @@ \RequirePackage{#1}% }{% \md@PackageWarning{The package #1 does not exist\MessageBreak - but it is required by \mdframedpackagename}% + but it is required by \mdframedpackagename\MessageBreak + see documentation fo further information + }% } } \md@LoadFile@IfExist{kvoptions} - \md@LoadFile@IfExist{etex} - \md@LoadFile@IfExist{calc} - \md@LoadFile@IfExist{color} - - -%Eingearbeitet in Optionen -%\md@LoadFile@IfExist{pstricks} -%\md@LoadFile@IfExist{pstricks} - \md@LoadFile@IfExist{etoolbox} \SetupKeyvalOptions{family=mdf,prefix=mdf@} %%==================================================%% -%%========Hilfsmakro zur Bestimmung ob Laenge=======%% -%%============= IDEE: Martin Scharrer ==============%% +%%============Hilfsmakros fuer Optionen=============%% %%==================================================%% %%%\md@iflength{<EINGABE>}{<IST LAENGE>}{<IST KEINE LAENGE>} @@ -99,23 +89,31 @@ } \def\md@iflength@cleanup#1\relax{} -%%\def\md@@iflength#1{ -%% \begingroup -%% \def\@tempa{#1} -%% \md@iflength{\@tempa}{% -%% \expandafter\global\expandafter% -%% \edef\csname #1\endcsname{\the\md@templength}% -%% }{% -%% \expandafter\global\expandafter% -%% \edef\csname #1\endcsname{\the\md@templength}% -%% }% -%% \endgroup% -%%} - -%%==================================================%% -%%==================== Optionen ====================%% -%%==================================================%% +%%\mdf@option@length{<Laengenbezeichnung>}{<Defaultwert>} +\newrobustcmd*{\mdf@option@length}[2]{% + \expandafter\newlength\csname mdf@#1@length\endcsname% + \expandafter\setlength\csname mdf@#1@length\endcsname{#2}% + } +%%\mdf@define@key@length{<Bezeichnungder Option der Laenge>} +\newrobustcmd*{\mdf@define@key@length}[1]{% + \define@key{mdf}{#1}{% + \def\@tempa{##1} + \md@iflength{\@tempa}% + {\csxdef{mdfl@#1}{\the\md@templength}}% + {\csxdef{mdfl@#1}{\the\md@templength}}% + \expandafter\setlength\csname mdf@#1@length\endcsname{\csname mdfl@#1\endcsname}% + }% +} +%%Schleifenmakro zur Optioneneingabe Option==Laenge +\DeclareListParser*{\mdf@dolist}{,} +\def\mdf@do#1{% + \mdf@doubledo#1\@nil% +} +\def\mdf@doubledo#1==#2\@nil{% + \mdf@option@length{#1}{#2}% + \mdf@define@key@length{#1}% +} %Festlegung welcher Stildatei %% 0 := tex-Kommandos -- rule @@ -123,254 +121,49 @@ %% 2 := tikz-erweitert %% 3 := pstricks-einfach %% 4 := pstricks-erweitert - \DeclareStringOption[0]{style} - \define@key{mdf}{globalstyle}[\mdf@style]{% - \renewcommand*{\do}[1]{% - \def\@tempa{##1} - \ifcase\number\@tempa\relax + \def\md@styledo##1{% + \def\@tempa{##1} + \ifcase\number\@tempa\relax %0 <- kein Grafikpaket - \or - \md@LoadFile@IfExist{tikz} - %1 <- tikz wird benoetigt - \or - \md@LoadFile@IfExist{tikz} - %2 <- tikz wird benoetigt - \or - \md@LoadFile@IfExist{pstricks-add} - %3 <- pstricks wird benoetigt - \or - \md@LoadFile@IfExist{pstricks-add} - %4 <- pstricks wird benoetigt - \else - \md@PackageWarning{Unknown global style \@tempa} - \fi + \or\md@LoadFile@IfExist{tikz}%1 <- tikz wird benoetigt + \or\md@LoadFile@IfExist{tikz}%2 <- tikz wird benoetigt + \or\md@LoadFile@IfExist{pstricks-add}%3 <- pstricks wird benoetigt + \or\md@LoadFile@IfExist{pstricks-add}%4 <- pstricks wird benoetigt + \else\md@PackageWarning{Unknown global style \@tempa}% + \fi }% - \docsvlist{\mdf@style,#1}% + \mdf@dolist{\md@styledo}{\mdf@style,#1}% } %%%%Optionen mit Laengen -\newcommand*\mdf@skipabove{\z@} -\newcommand*\mdfl@skipabove{} -\newlength\mdf@skipabove@length -\deflength\mdf@skipabove@length{\z@} -\define@key{mdf}{skipabove}[\z@]{% - \def\@tempa{#1} - \md@iflength{\@tempa}% - {\global\edef\mdfl@skipabove{\the\md@templength}}% - {\global\edef\mdfl@skipabove{\the\md@templength}} -\let\mdf@skipabove\mdfl@skipabove -\setlength\mdf@skipabove@length{\mdf@skipabove} -} - -\newcommand*\mdf@skipbelow{\z@} -\newcommand*\mdfl@skipbelow{} -\newlength\mdf@skipbelow@length -\deflength\mdf@skipbelow@length{\z@} -\define@key{mdf}{skipbelow}[\z@]{% - \def\@tempa{#1} - \md@iflength{\@tempa}% - {\global\edef\mdfl@skipbelow{\the\md@templength}}% - {\global\edef\mdfl@skipbelow{\the\md@templength}} -\let\mdf@skipbelow\mdfl@skipbelow -\setlength\mdf@skipbelow@length{\mdf@skipbelow} -} - -\newcommand*\mdf@leftmargin{\z@} -\newcommand*\mdfl@leftmargin{} -\newlength\mdf@leftmargin@length -\deflength\mdf@leftmargin@length{\z@} -\define@key{mdf}{leftmargin}[\z@]{% - \def\@tempa{#1} - \md@iflength{\@tempa}% - {\global\edef\mdfl@leftmargin{\the\md@templength}}% - {\global\edef\mdfl@leftmargin{\the\md@templength}} -\let\mdf@leftmargin\mdfl@leftmargin -\setlength\mdf@leftmargin@length{\mdf@leftmargin} -} - -\newcommand*\mdf@rightmargin{\z@} -\newcommand*\mdfl@rightmargin{} -\newlength\mdf@rightmargin@length -\deflength\mdf@rightmargin@length{\z@} -\define@key{mdf}{rightmargin}[\z@]{% - \def\@tempa{#1} - \md@iflength{\@tempa}% - {\global\edef\mdfl@rightmargin{\the\md@templength}}% - {\global\edef\mdfl@rightmargin{\the\md@templength}} -\let\mdf@rightmargin\mdfl@rightmargin -\setlength\mdf@rightmargin@length{\mdf@rightmargin} -} - -\newcommand*\mdf@margin{20pt} -\newcommand*\mdfl@margin{} -\newlength\mdf@margin@length -\deflength\mdf@margin@length{20pt} -\define@key{mdf}{margin}[20pt]{% - \md@PackageWarning{The option margin is obsolote and no longer used\MessageBreak - use instead innerleftmargin and innerrightmargin\MessageBreak - For more details look at the documentation \mdframedpackagename}% - \def\@tempa{#1} - \md@iflength{\@tempa}% - {\global\edef\mdfl@margin{\the\md@templength}}% - {\global\edef\mdfl@margin{\the\md@templength}} -\let\mdf@margin\mdfl@margin -\setlength\mdf@margin@length{\mdf@margin} -} - -\newcommand*\mdf@innerleftmargin{10pt} -\newcommand*\mdfl@innerleftmargin{} -\newlength\mdf@innerleftmargin@length -\deflength\mdf@innerleftmargin@length{10pt} -\define@key{mdf}{innerleftmargin}[10pt]{% - \def\@tempa{#1} - \md@iflength{\@tempa}% - {\global\edef\mdfl@innerleftmargin{\the\md@templength}}% - {\global\edef\mdfl@innerleftmargin{\the\md@templength}} -\let\mdf@innerleftmargin\mdfl@innerleftmargin -\setlength\mdf@innerleftmargin@length{\mdf@innerleftmargin} -} - -\newcommand*\mdf@innerrightmargin{10pt} -\newcommand*\mdfl@innerrightmargin{} -\newlength\mdf@innerrightmargin@length -\deflength\mdf@innerrightmargin@length{10pt} -\define@key{mdf}{innerrightmargin}[10pt]{% - \def\@tempa{#1} - \md@iflength{\@tempa}% - {\global\edef\mdfl@innerrightmargin{\the\md@templength}}% - {\global\edef\mdfl@innerrightmargin{\the\md@templength}} -\let\mdf@innerrightmargin\mdfl@innerrightmargin -\setlength\mdf@innerrightmargin@length{\mdf@innerrightmargin} -} - - - -\newcommand*\mdf@innertopmargin{0.4\baselineskip} -\newcommand*\mdfl@innertopmargin{} -\newlength\mdf@innertopmargin@length -\deflength\mdf@innertopmargin@length{0.4\baselineskip} -\define@key{mdf}{innertopmargin}[0.4\baselineskip]{% - \def\@tempa{#1} - \md@iflength{\@tempa}% - {\global\edef\mdfl@innertopmargin{\the\md@templength}}% - {\global\edef\mdfl@innertopmargin{\the\md@templength}} -\let\mdf@innertopmargin\mdfl@innertopmargin -\setlength\mdf@innertopmargin@length{\mdf@innertopmargin} -} - -\newcommand*\mdf@innerbottommargin{0.4\baselineskip} -\newcommand*\mdfl@innerbottommargin{} -\newlength\mdf@innerbottommargin@length -\deflength\mdf@innerbottommargin@length{0.4\baselineskip} -\define@key{mdf}{innerbottommargin}[0.4\baselineskip]{% - \def\@tempa{#1} - \md@iflength{\@tempa}% - {\global\edef\mdfl@innerbottommargin{\the\md@templength}}% - {\global\edef\mdfl@innerbottommargin{\the\md@templength}} -\let\mdf@innerbottommargin\mdfl@innerbottommargin -\setlength\mdf@innerbottommargin@length{\mdf@innerbottommargin} -} - - -\newcommand*\mdf@splittopskip{\z@} -\newcommand*\mdfl@splittopskip{} -\newlength\mdf@splittopskip@length -\deflength\mdf@splittopskip@length{\z@} -\define@key{mdf}{splittopskip}[\z@]{% - \def\@tempa{#1} - \md@iflength{\@tempa}% - {\global\edef\mdfl@splittopskip{\the\md@templength}}% - {\global\edef\mdfl@splittopskip{\the\md@templength}} -\let\mdf@splittopskip\mdfl@splittopskip -\setlength\mdf@splittopskip@length{\mdf@splittopskip} -} - - - -\newcommand*\mdf@splitbottomskip{\z@} -\newcommand*\mdfl@splitbottomskip{} -\newlength\mdf@splitbottomskip@length -\deflength\mdf@splitbottomskip@length{\z@} -\define@key{mdf}{splitbottomskip}[\z@]{% - \def\@tempa{#1} - \md@iflength{\@tempa}% - {\global\edef\mdfl@splitbottomskip{\the\md@templength}}% - {\global\edef\mdfl@splitbottomskip{\the\md@templength}} -\let\mdf@splitbottomskip\mdfl@splitbottomskip -\setlength\mdf@splitbottomskip@length{\mdf@splitbottomskip} -} - - -%% Linienstaerken -\newcommand*\mdf@linewidth{0.4pt} -\newcommand*\mdfl@linewidth{} -\newlength\mdf@linewidth@length -\deflength\mdf@linewidth@length{0.4pt} -\define@key{mdf}{linewidth}[0.4pt]{% - \def\@tempa{#1} - \md@iflength{\@tempa}% - {\global\edef\mdfl@linewidth{\the\md@templength}}% - {\global\edef\mdfl@linewidth{\the\md@templength}} -\let\mdf@linewidth\mdfl@linewidth -\setlength\mdf@linewidth@length{\mdf@linewidth}% -\ifnumequal{\mdf@style}{1}{% -\deflength\mdf@middlelinewidth@length{\mdf@linewidth@length}% -}{}% -} - -\newcommand*\mdf@innerlinewidth{\z@} -\newcommand*\mdfl@innerlinewidth{} -\newlength\mdf@innerlinewidth@length -\deflength\mdf@innerlinewidth@length{\z@} -\define@key{mdf}{innerlinewidth}[\z@]{% - \def\@tempa{#1} - \md@iflength{\@tempa}% - {\global\edef\mdfl@innerlinewidth{\the\md@templength}}% - {\global\edef\mdfl@innerlinewidth{\the\md@templength}} -\let\mdf@innerlinewidth\mdfl@innerlinewidth -\setlength\mdf@innerlinewidth@length{\mdf@innerlinewidth} -} - -\newcommand*\mdf@middlelinewidth{\mdf@linewidth} -\newcommand*\mdfl@middlelinewidth{} -\newlength\mdf@middlelinewidth@length -\deflength\mdf@middlelinewidth@length{\mdf@linewidth@length} -\define@key{mdf}{middlelinewidth}[\mdf@linewidth]{% - \def\@tempa{#1} - \md@iflength{\@tempa}% - {\global\edef\mdfl@middlelinewidth{\the\md@templength}}% - {\global\edef\mdfl@middlelinewidth{\the\md@templength}} -\let\mdf@middlelinewidth\mdfl@middlelinewidth -\setlength\mdf@middlelinewidth@length{\mdf@middlelinewidth} -} - -\newcommand*\mdf@outerlinewidth{\z@} -\newcommand*\mdfl@outerlinewidth{} -\newlength\mdf@outerlinewidth@length -\deflength\mdf@outerlinewidth@length{\z@} -\define@key{mdf}{outerlinewidth}[\z@]{% - \def\@tempa{#1} - \md@iflength{\@tempa}% - {\global\edef\mdfl@outerlinewidth{\the\md@templength}}% - {\global\edef\mdfl@outerlinewidth{\the\md@templength}} -\let\mdf@outerlinewidth\mdfl@outerlinewidth -\setlength\mdf@outerlinewidth@length{\mdf@outerlinewidth} -} - -\newcommand*\mdf@roundcorner{\z@} -\newcommand*\mdfl@roundcorner{} -\newlength\mdf@roundcorner@length -\deflength\mdf@roundcorner@length{\z@} -\define@key{mdf}{roundcorner}[\z@]{% - \def\@tempa{#1} - \md@iflength{\@tempa}% - {\global\edef\mdfl@roundcorner{\the\md@templength}}% - {\global\edef\mdfl@roundcorner{\the\md@templength}} -\let\mdf@roundcorner\mdfl@roundcorner -\setlength\mdf@roundcorner@length{\mdf@roundcorner} +\mdf@dolist{\mdf@do}{% + {skipabove==\z@},% + {skipbelow==\z@},% + {leftmargin==\z@},% + {rightmargin==\z@},% + {margin==20pt},% + {innerleftmargin==10pt},% + {innerrightmargin==10pt},% + {innertopmargin==0.4\baselineskip},% + {innerbottommargin==0.4\baselineskip},% + {splittopskip==\z@},% + {splitbottomskip==\z@},% + {outermargin==\z@},% + {innermargin==\z@},% + {linewidth==0.4pt},% + {innerlinewidth==\z@},% + {middlelinewidth==\expandafter\mdf@linewidth@length},% + {outerlinewidth==\z@},% + {roundcorner==\z@},% +} + +%Unterstuetzung der Optionen fuer tikz +\def\mdf@tikzset@local{\tikzset{tikzsetting/.style={}}} +\define@key{mdf}{tikzsetting}{% + \def\mdf@tikzset@local{\tikzset{tikzsetting/.style={#1}}} } %Unterstuetzung der Optionen fuer pstricks @@ -379,19 +172,15 @@ \def\mdf@psset@local{#1} } - -%%Defaulunit \DeclareStringOption[pt]{defaultunit} %%mdframed umfasst ntheorem-Umgebung ja/nein \DeclareBoolOption{ntheorem} - +%Linienausgabe \DeclareBoolOption[true]{topline} \DeclareBoolOption[true]{leftline} \DeclareBoolOption[true]{bottomline} \DeclareBoolOption[true]{rightline} - - %%FARBEN \DeclareStringOption[none]{xcolor} \DeclareStringOption[black]{linecolor} @@ -400,15 +189,14 @@ \DeclareStringOption[\mdf@linecolor]{innerlinecolor} \DeclareStringOption[\mdf@linecolor]{outerlinecolor} \DeclareStringOption[\mdf@backgroundcolor]{middlelinecolor} - +\DeclareStringOption[\mdf@backgroundcolor]{psroundlinecolor} \DeclareDefaultOption{% \md@PackageWarning{Unknown Option '\CurrentOption' for mdframed}} - -%%==================================================%% -%%========== ENDE DER OPTIONENDEKLARATION ==========%% -%%==================================================%% +%%Uberschriften +\DeclareStringOption{frametitle} +\DeclareStringOption[\bfseries\large]{frametitlefont} \ProcessKeyvalOptions* \newcommand*{\mdfsetup}{\setkeys{mdf}} @@ -430,78 +218,79 @@ } } +%%==================================================%% +%%========Angepasste lrbox sowie trivlist===========%% +%%==================================================%% +%Anpassung lrbox +\let\md@lrbox\lrbox +\let\endmd@lrbox\endlrbox +\patchcmd\md@lrbox\hbox\vbox{}{} +\patchcmd\md@lrbox\color@setgroup{% +\color@setgroup\color{\mdf@fontcolor}% +\hsize=\md@horizontalspaceofbox% +\columnwidth=\hsize% +\textwidth=\hsize% +\linewidth=\hsize% +\bgroup\md@@frametitle\egroup\noindent% +}{}{} + +%Anpassung trivlist +\let\md@trivlist\trivlist +\let\endmd@trivlist\endtrivlist +\patchcmd\endmd@trivlist\@endparenv\md@endparenv{}{} +\def\md@endparenv{% + \addpenalty\@endparpenalty\addvspace\mdf@skipbelow@length\@endpetrue} + +%%==================================================%% +%%=================== Frametitle ===================%% +%%==================================================%% +\providecommand*\mdframedtitleenv[1]{% + \@afterindentfalse + {\parindent \z@ + \setlength{\parfillskip}{\z@ plus 1fil}% + \raggedsection\nobreak\mdf@frametitlefont#1\relax% + \par}% + \@afterheading} +% +\newrobustcmd*\md@@frametitle{% + \ifx\mdf@frametitle\@empty\relax% + \else + \color@begingroup\@nobreaktrue% + \mdframedtitleenv{\mdf@frametitle}% + \color@endgroup + \fi% +} - -%%Farbabkuerzungen: -\newcommand*\mdf@@linecolor{\color{\mdf@linecolor}} -\newcommand*\mdf@@backgroundcolor{ - \ifx\mdf@backgroundcolor\@empty - \else - \color{\mdf@backgroundcolor} - \fi} -\newcommand*\mdf@@fontcolor{\color{\mdf@fontcolor}} -\newcommand*\mdf@@innerlinecolor{\color{\mdf@innerlinecolor}} -\newcommand*\mdf@@outerlinecolor{\color{\mdf@outerlinecolor}} -\newcommand*\mdf@@middlelinecolor{\color{\mdf@middlelinecolor}} - +\newrobustcmd*\md@checkntheorem{% + \ifbool{mdf@ntheorem}% %%% Pruefen ob ntheorem gesetzt ist + {\ifundef{\theorempreskipamount}% + {\md@PackageWarning{You have not loaded ntheorem yet}}% + {\setlength{\theorempreskipamount}{\z@}% + \setlength{\theorempostskipamount}{\z@}% + }% + }{}% +} %%==================================================%% %%======= Laden der gewuenschten Style-Datei =======%% %%==================================================%% \ifcase\mdf@style\relax% \input{md-frame-0.mdf}% - \or% - \input{md-frame-1.mdf}% - \or% - \md@PackageWarning{The style number\mdf@style does not exist\MessageBreak + \or\input{md-frame-1.mdf}% + \or\md@PackageWarning{The style number\mdf@style does not exist\MessageBreak mdframed ues instead style=0 \mdframedpackagename}% - \input{md-frame-1.mdf}% - \or% - \input{md-frame-3.mdf}% + \input{md-frame-0.mdf}% + \or\input{md-frame-3.mdf}% \else% - \IfFileExists{md-frame-\mdf@style.mdf}{% - \input{md-frame-\mdf@style.mdf}% - }{% - \input{md-frame-1.mdf}% + \IfFileExists{md-frame-\mdf@style.mdf}{\input{md-frame-\mdf@style.mdf}% + }{\input{md-frame-1.mdf}% \md@PackageWarning{The style number \mdf@style does not exist\MessageBreak mdframed ues instead style=0 \mdframedpackagename}% }% \fi% - - %%==================================================%% -%%===Globale Umgebung -- noch keine Modifikation ===%% +%%========= style-abhaengige Modifikation ==========%% %%==================================================%% -\def\md@margin@startenv{% latex.ltx -> \@startsection - \if@noskipsec \leavevmode \fi - \par%\kern-\lastskip% - \@tempskipa -\mdf@skipabove@length\relax - \@afterindenttrue - \ifdim \@tempskipa < \z@ - \@tempskipa -\@tempskipa \@afterindentfalse% - \fi - \if@nobreak - \everypar{}% - \else - \addpenalty\@secpenalty\addvspace\@tempskipa% - \par\kern-\ht\strutbox - \fi% -}% - - -\def\mdframed{% - \@ifnextchar[%] - \mdframed@i\mdframed@ii}% - -\def\mdframed@ii{\mdframed@i[]}% -\def\mdframed@i[#1]{% default-Umgebung - \mdfsetup{#1}%% - \md@margin@startenv% - \ifmdf@ntheorem% %%% Pruefen ob ntheorem gesetzt ist - \ifundef{\theorempreskipamount}% - {\md@PackageWarning{You have not loaded ntheorem yet}}% - {\setlength{\theorempreskipamount}{0pt}% - \setlength{\theorempostskipamount}{0pt}}% - \fi% +\newrobustcmd*\md@styledefinition{% \ifnumequal{\mdf@style}{0}% {\deflength{\mdf@innerlinewidth@length}{\z@}% \deflength{\mdf@middlelinewidth@length}{\mdf@linewidth@length}% @@ -512,283 +301,200 @@ }{}% \ifnumequal{\mdf@style}{3}% {\deflength{\mdf@innerlinewidth@length}{\z@}% - \deflength{\mdf@middlelinewidth@length}{\mdf@linewidth}% + \deflength{\mdf@middlelinewidth@length}{\mdf@linewidth@length}% \deflength{\mdf@outerlinewidth@length}{\z@}% \let\mdf@innerlinecolor\mdf@linecolor% }{}% - \mdframed@global@env% - }% - -\def\endmdframed{\endmdframed@global@env\endtrivlist% -\vspace{\mdf@skipbelow@length}}% +% \ifnumequal{\mdf@style}{1}% +% {\deflength{\mdf@innerlinewidth@length}{\z@}% +% \deflength{\mdf@middlelinewidth@length}{\mdf@linewidth@length}% +% \deflength{\mdf@outerlinewidth@length}{\z@}% +% \let\mdf@innerlinecolor\mdf@linecolor% +% }{}% +} %%==================================================%% %%==Deklaration diverser Eingabe und Hilfsparameter=%% %%==================================================%% - -\newskip\md@temp@skip@a \md@temp@skip@a\z@ %% Hilfslaenge - -\newlength\md@verticalmarginwhole@length - -\newlength\mdf@xmargin@length% -\newlength\mdf@ymargin@length% -\newlength\mdfboxheight% %% Berechnungsvariable tikz -\newlength\mdfboxwidth% %% Berechnungsvariable tikz - - \newlength\mdfboundingboxheight \newlength\mdfboundingboxwidth -\newlength\mdfpositionx -\newlength\mdfpositiony - +\newlength\md@freevspace@length +\newlength\md@horizontalwidthofbox@length +\newlength\md@verticalmarginwhole@length \providecommand*\ptTps{} - %%==================================================%% -%%=================== Kommentare ===================%% +%%==================Umgebung========================%% %%==================================================%% +\def\mdframed{\@ifnextchar[\mdframed@i\mdframed@ii}% +\def\mdframed@ii{\mdframed@i[]}% +\def\mdframed@i[#1]{% default-Umgebung +\begingroup +%check is needed? + \mdfsetup{#1}%% + \let\width\z@% + \let\height\z@% + \let\partopsep\z@ + \setlength{\topsep}{\mdf@skipabove@length}% + \begin{md@trivlist}\item\relax% + \md@checkntheorem% + \md@styledefinition% + \md@horizontalmargin@equation% + \begin{md@lrbox}{\@tempboxa}% + }% -\chardef\md@arrayparboxrestore=\catcode`\| % for debug -\catcode`\|=\catcode`\% % (debug: insert space after backslash) -%% Kommentare werden im Code mit | gekennzeichnet - +\def\endmdframed{% + \end{md@lrbox}% + \md@put@frame% + \end{md@trivlist}% + \hrule \@height\z@ \@width\hsize +\endgroup% +} %%==================================================%% %%================= Platz auf Seite ================%% %%==================================================%% -\newlength\md@freevspace@length -\def\md@freepagevspace{% +\newrobustcmd*\md@freepagevspace{% + \penalty\@M \vskip 2\baselineskip \vskip\height + \penalty9999 \vskip -2\baselineskip \vskip-\height + \penalty9999 \ifdimequal{\pagegoal}{\maxdimen}% - {% - \setlength{\md@freevspace@length}{\vsize}% - }{ - \setlength{\md@freevspace@length}{\pagegoal}% - \addtolength{\md@freevspace@length}{-\pagetotal}% + {\md@freevspace@length\vsize}% + {\md@freevspace@length=\pagegoal\relax% + \advance\md@freevspace@length by -\pagetotal\relax% }% } %%==================================================%% -%================= Breite der BOX =================%% +%================= Breite der Box =================%% %%==================================================%% +\newrobustcmd*\md@advancelength@orizontalmargin@add[1]{% + \advance\md@horizontalspaceofbox by -\csname mdf@#1@length\endcsname\relax% +} -% edge-leftmargin-outerlinewith-middlelinewidth-innerlinewidth-innerleftmargin-TEXTBREITE- -% innerrightmargin-innerlinewidth-middlelinewidth-outelinewith-edge \newlength\md@horizontalspaceofbox -\def\md@horizontalmargin@equation{% - \setlength{\md@horizontalspaceofbox}{\hsize} - \addtolength{\md@horizontalspaceofbox}{% - -\mdf@leftmargin@length% - -\mdf@outerlinewidth@length% - -\mdf@middlelinewidth@length% - -\mdf@innerlinewidth@length% - -\mdf@innerleftmargin@length% - -\mdf@innerrightmargin@length% - -\mdf@innerlinewidth@length% - -\mdf@middlelinewidth@length% - -\mdf@outerlinewidth@length% - -\mdf@rightmargin@length% - }% - \ifboolexpr{ test {\ifnumequal{\mdf@style}{0}} or test {\ifnumequal{\mdf@style}{3}}}% - { - \notbool{mdf@leftline}{\addtolength{\md@horizontalspaceofbox}{% - \mdf@innerlinewidth@length% - +\mdf@middlelinewidth@length% - +\mdf@outerlinewidth@length% - }}{}% - \notbool{mdf@rightline}{\addtolength{\md@horizontalspaceofbox}{% - \mdf@innerlinewidth@length% - +\mdf@middlelinewidth@length% - +\mdf@outerlinewidth@length% - }}{}% - }{}% - \advance\md@horizontalspaceofbox by - \width\md@arrayparboxrestore% +\newrobustcmd*\md@horizontalmargin@equation{% + \setlength{\md@horizontalspaceofbox}{\hsize}% + \mdf@dolist{\md@advancelength@orizontalmargin@add}{% + leftmargin,outerlinewidth,middlelinewidth,% + innerlinewidth,innerleftmargin,innerrightmargin,% + innerlinewidth,middlelinewidth,outerlinewidth,% + rightmargin}% + \notbool{mdf@leftline}{% + \advance\md@horizontalspaceofbox by \mdf@innerlinewidth@length\relax% + \advance\md@horizontalspaceofbox by \mdf@middlelinewidth@length\relax% + \advance\md@horizontalspaceofbox by \mdf@outerlinewidth@length\relax% + }{}% + \notbool{mdf@rightline}{% + \advance\md@horizontalspaceofbox by \mdf@innerlinewidth@length\relax% + \advance\md@horizontalspaceofbox by \mdf@middlelinewidth@length\relax% + \advance\md@horizontalspaceofbox by \mdf@outerlinewidth@length\relax% + }{}% + % \advance\md@horizontalspaceofbox by - \width\md@arrayparboxrestore% %%% Beruecksichtigung, dass Auszaehlung bzw. list-Umgebung enthalten \ifdimless{\md@horizontalspaceofbox}{3cm}{\md@PackageWarning{You have only a width of 3cm}}{} \hsize=\md@horizontalspaceofbox% } - - - %%==================================================%% -%%========= Seitenparameter und Strafpunkte ========%% -%%==================================================%% -\def\md@penalty@startenv{% - \begingroup% - \skip@\lastskip% %%% lastskip nur ungleich null nach section, list, figure, usw. - \if@nobreak% - \else - \penalty9999 % updates \page parameters <-pruefen - \ifdim\pagefilstretch=\z@ %%% pagefilstretch ist ein internes Register fuer den - %%% Seitenumbruch. Es entaehlt den akkumulierten (gespeicherten) fil-Anteil - %%% auf der aktuellen Seite - \ifdim\pagefillstretch=\z@ %%% pagefillstretch ist ein internes Register fuer den - %%% Seitenumbruch. Es entaehlt den akkumulierten (gespeicherten) fill-Anteil - %%% auf der aktuellen Seite - %%% nicht unendlich dehnbar, so hier foerdern eines Seitenumbruches - \edef\@tempa{\the\skip@}% - \edef\@tempb{\the\z@skip}% - \ifx\@tempa\@tempb %%% ??????? - \penalty-30% - \else - \vskip-\skip@% - \penalty-30% - \vskip\skip@% - \fi - \fi - \fi - \penalty\z@% - % Give a stretchy breakpoint that will always be taken in preference - % to the \penalty 9999 used to update page parameters. The cube root - % of 10000/100 indicates a multiplier of 0.21545, but the maximum - % calculated badness is really 8192, not 10000, so the multiplier - % is 0.2301. - \advance\skip@ \z@ plus-.5\baselineskip% - \advance\skip@ \z@ plus-.231\height% - \advance\skip@ \z@ plus-.231\skip@% - \advance\skip@ \z@ plus-.231\topsep% - \vskip-\skip@ \penalty 1800 \vskip\skip@% - \fi - \addvspace{\topsep}% - \endgroup% - % clear out pending page break - \nobreak \vskip 2\baselineskip \vskip\height% %%%\@M=10000 - \penalty9999 \vskip -2\baselineskip \vskip-\height% - \penalty9999 % updates \pagetotal -}% - +%%===========Beruecksichtige Linienausgabe==========%% +%%==================================================%% +\newrobustcmd*\md@keeplines@single{% + \notbool{mdf@topline}{% + \advance\md@verticalmarginwhole@length by -\mdf@middlelinewidth@length% + }{}% + \notbool{mdf@bottomline}{% + \advance\md@verticalmarginwhole@length by -\mdf@middlelinewidth@length% + }{}% +} %%==================================================%% -%%============Start der globalen Umgebung===========%% +%%===========Additionsalgorithmus fuer for==========%% %%==================================================%% -\newskip\md@temp@frame@hsize \md@temp@frame@hsize=0pt% -\newskip\md@temp@frame@vsize \md@temp@frame@vsize=0pt% +\newrobustcmd*\md@advancelength@verticalmarginwhole[1]{% + \advance\md@verticalmarginwhole@length by \csname mdf@#1@length\endcsname\relax% +} -\def\mdframed@global@env{\relax% - \let\width\z@% - \let\height\z@% - \md@penalty@startenv% - \def\@doendpe{\@endpetrue% %%% SIEHE LATEX.ltx -- ersten Absatz ignorieren - \def\par{\@restorepar\par\@endpefalse}% - \everypar{{\setbox\z@\lastbox}\everypar{}\@endpefalse}% - }% - \md@horizontalmargin@equation% - \setbox\@tempboxa% - \vbox\bgroup\@doendpe% - \begingroup% %%% zweites begingroup noetig, dass fontcolor gesetzt werden kann - \mdf@@fontcolor% %%% Setzen der Schriftfarbe - \textwidth\md@horizontalspaceofbox \columnwidth\md@horizontalspaceofbox% -}% - -\def\endmdframed@global@env{\par% - \kern\z@% - \hrule\@width\md@horizontalspaceofbox\@height\z@% - \penalty-100 % put depth into height - \endgroup% - \egroup% - \begingroup% - \mdf@@fontcolor% - \setbox\@tempboxa\vbox{\unvbox\@tempboxa} - \md@put@frame% - \endgroup% +\newrobustcmd*\md@advancelength@freevspace@sub[1]{% + \advance\dimen@ by -\csname mdf@#1@length\endcsname\relax% } +\newrobustcmd*\md@advancelength@freevspace@add[1]{% + \advance\dimen@ by \csname mdf@#1@length\endcsname\relax% +} %%==================================================%% -%%===========Ausgaberoutine -> Berechnung===========%% +%%====================Reset changes=================%% %%==================================================%% - -%% \md@put@frame nimmt den Inhalt der \@tempboxa und packt alles oder nur einen Teil -%% auf die Seite mit dem Rahmen. -%% Es ist rekursiv, solange alles von der \@tempboxa aufgebraucht ist (\@tempboxa muss die Tiefe 0 haben.) -%% Erste Iteration: Versuche alles in einen Rahmen zu bekommen. Falls es nicht passt, -%% splitte es fuer die erste Rahmenumgebung -%% Spaetere Iteration: Versuche alles in den letzten Rahmen zu bekommen. Falls es nicht passt, -%% splitte es erneut. (Versuchsstadium -- Da bisher nur Anfang und Ende enthalten) - +\protected@edef\md@reset{\boxmaxdepth\the\boxmaxdepth + \splittopskip\the\splittopskip}% +%%==================================================%% +%%===========Ausgaberoutine -> Berechnung===========%% +%%==================================================%% \def\md@put@frame{\relax% - \md@freepagevspace - \ifdimless{\md@freevspace@length}{1.999\baselineskip} +\ifvoid\@tempboxa\relax +\md@PackageWarning{The environment is empty\MessageBreak}% +\else + \md@freepagevspace% + \ifdimless{\md@freevspace@length}{2\baselineskip} {\md@PackageInfo{Not enough space on this page}%die Seite hat nur noch minimal Platz - \clearpage% + \vfill\eject% \md@put@frame }{% %Hier berechnung Box-Inhalt+Rahmen oben und unten \setlength{\md@verticalmarginwhole@length}{\ht\@tempboxa+\dp\@tempboxa}% - \addtolength{\md@verticalmarginwhole@length}{% - \mdf@outerlinewidth@length% - +\mdf@middlelinewidth@length% - +\mdf@innerlinewidth@length% - +\mdf@innertopmargin@length% - +\mdf@innerbottommargin@length% - +\mdf@innerlinewidth@length% - +\mdf@middlelinewidth@length% - +\mdf@outerlinewidth@length% - }% - \ifnumequal{\mdf@style}{0}% - {\ifbool{mdf@topline}{}% - {\addtolength{\md@verticalmarginwhole@length}{-\mdf@middlelinewidth@length}% - }% - \ifbool{mdf@bottomline}{}% - {\addtolength{\md@verticalmarginwhole@length}{-\mdf@middlelinewidth@length}% - }% - }{} - \ifnumequal{\mdf@style}{3}% - {\ifbool{mdf@topline}{}% - {\addtolength{\md@verticalmarginwhole@length}{-\mdf@middlelinewidth@length}% - }% - \ifbool{mdf@bottomline}{}% - {\addtolength{\md@verticalmarginwhole@length}{-\mdf@middlelinewidth@length}% - }% - }{} - \ifdimless{\md@verticalmarginwhole@length}{\md@freevspace@length}% + \mdf@dolist{\md@advancelength@verticalmarginwhole}{% + outerlinewidth,middlelinewidth,innerlinewidth,innertopmargin, + 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 - } + }% +\fi } \def\md@put@frame@i{%Box muss gesplittet werden -- Ausgabe der ersten Teilbox %Berechnung der Splittgroesse -- Linien und Abstand oben - \md@freepagevspace - \setlength{\dimen@}{\md@freevspace@length}% - \addtolength{\dimen@}{% - -\mdf@outerlinewidth@length% - -\mdf@middlelinewidth@length% - -\mdf@innerlinewidth@length% - -\mdf@innertopmargin@length% - -\mdf@splitbottomskip@length% - }% - \ifnumequal{\mdf@style}{0}% - {\ifbool{mdf@topline}{}% - {\addtolength{\dimen@}{+\mdf@middlelinewidth@length}% - }% - }{} - \ifnumequal{\mdf@style}{3}% - {\ifbool{mdf@topline}{}% - {\addtolength{\dimen@}{\mdf@middlelinewidth@length}% - }% - }{} - \ifdimless{\ht\@tempboxa+\dp\@tempboxa}{\dimen@}% + \md@freepagevspace% + \dimen@=\the\md@freevspace@length% + \dimen@i=\mdf@innertopmargin@length% + \advance\dimen@i by \mdf@linewidth@length% + \advance\dimen@i by 2\baselineskip% + \ifdim\dimen@<\dimen@i\relax + \hrule \@height\z@ \@width\hsize% + \vfill\eject% + \md@put@frame + \else% + \mdf@dolist{\md@advancelength@freevspace@sub}{% + outerlinewidth,middlelinewidth,innerlinewidth,% + innertopmargin,splitbottomskip}% + \ifbool{mdf@topline}{}{\advance\dimen@ by \mdf@middlelinewidth@length}% + \ifdimless{\ht\@tempboxa+\dp\@tempboxa}{\dimen@}% {\md@PackageWarning{You got a bad break\MessageBreak you have to change it manually\MessageBreak by changing the text, the space\MessageBreak or something else}% - \addtolength{\dimen@}{-1.8\baselineskip} + \advance\dimen@ by -1.8\baselineskip\relax% }{}% - \addtolength{\dimen@}{-\pageshrink}%Box darf nicht zu Groß werden. - \boxmaxdepth\z@ \splittopskip\mdf@splittopskip@length% + \advance\dimen@ by -1pt\relax%Box darf nicht zu Groß werden. + \splitmaxdepth\z@ \splittopskip\mdf@splittopskip@length% \setbox\tw@\vsplit\@tempboxa to \dimen@ - \setbox\tw@\vbox{\unvbox\tw@}% + \setbox\tw@\vbox{\unvbox\tw@}%needed? \ifdimgreater{\ht\tw@+\dp\tw@}{\dimen@}{%Falsch gesplittet - \setlength\dimen@i{\dimen@} - \addtolength{\dimen@}{-\ht\tw@-\dp\tw@} - \addtolength\dimen@i{0.5\dimen@} - \boxmaxdepth\z@ \splittopskip\z@% - \setbox\@tempboxa\vbox{\unvbox\tw@\unvbox\@tempboxa} - \boxmaxdepth\z@ \splittopskip\mdf@splittopskip@length% + \md@PackageInfo{Box was splittet wrong\MessageBreak}% + \dimen@i=\dimen@ + \advance\dimen@ by -\ht\tw@ + \advance\dimen@ by -\dp\tw@ + \advance\dimen@i by 0.5\dimen@ + \splittopskip\z@% + \setbox\@tempboxa\vbox{\unvbox\tw@% + \hrule \@height\dp\strutbox \@width\z@%benoetigt um Tiefe zu haben + \unvbox\@tempboxa} + \splittopskip\mdf@splittopskip@length% \setbox\tw@\vsplit\@tempboxa to \dimen@i \setbox\tw@\vbox{\unvbox\tw@}% }{}% @@ -798,39 +504,40 @@ because the splittet box is empty\MessageBreak You have to change the page settings\MessageBreak like enlargethispage or something else}% + \setbox\@tempboxa\vbox{\box\tw@\box\@tempboxa}% + \md@put@frame \fi - \ifdimequal{\wd\tw@}{0pt}%%pruefe, ob erste Box leer ist - {\clearpage% + \ifvoid\tw@%%pruefe, ob erste Box leer ist + \hrule \@height\z@ \@width\hsize + \vfill\eject% + \md@put@frame% + \else + \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 - \eject%\clearpage% - \md@put@frame@ii}% + {% + \md@putbox@first%%Groesse des Splittens passt + \hrule \@height\z@ \@width\hsize + \vfill\eject% + \md@put@frame@ii% + } + \fi% + \fi } - \def\md@put@frame@ii{%Ausgabe der mittleren Box(en) wenn vorhanden \setlength{\md@freevspace@length}{\vsize}% \setlength{\dimen@}{\ht\@tempboxa+\dp\@tempboxa}% - \addtolength{\dimen@}{%%Addition der Linien unten - \mdf@outerlinewidth@length% - +\mdf@middlelinewidth@length% - +\mdf@innerlinewidth@length% - +\mdf@innerbottommargin@length% - }% - \ifboolexpr{( bool {mdf@bottomline} ) - and - ( test {\ifnumequal{\mdf@style}{0}} - or - test {\ifnumequal{\mdf@style}{3}} - ) - }% - {}{\addtolength{\dimen@}{-\mdf@middlelinewidth@length}}% - \ifdimgreater{\dimen@}{\md@freevspace@length}% + \mdf@dolist{\md@advancelength@freevspace@add}{% + outerlinewidth,middlelinewidth,innerlinewidth,% + innerbottommargin}%%%Addition der Linien unten + \ifbool{mdf@bottomline}{}{\advance\dimen@ by -\mdf@middlelinewidth@length\relax}% + \ifdimgreater{\dimen@}{\md@freevspace@length}% {% - \addtolength{\md@freevspace@length}{%%Abzug der Linien unten - -\mdf@splitbottomskip@length% - }% - \boxmaxdepth\z@ \splittopskip\mdf@splittopskip@length% + \advance\md@freevspace@length by -\mdf@splitbottomskip@length + \splitmaxdepth\z@ \splittopskip\mdf@splittopskip@length% \setbox\tw@\vsplit\@tempboxa to \md@freevspace@length% \setbox\tw@\vbox{\unvbox\tw@}%PRUEFEN!!! \setbox\@tempboxa\vbox{\unvbox\@tempboxa}%PRUEFEN!!!! @@ -840,79 +547,30 @@ You have to change the settings}% \fi% \md@putbox@middle% - \clearpage\md@put@frame@ii% + \hrule \@height\z@ \@width\hsize + \vfill\eject + \md@put@frame@ii% }%Hier die Ausgabe der mittleren Box - {\ifdimequal{\wd\@tempboxa}{\z@}{\md@PackageWarning{You got a bad break\MessageBreak - because the splittet box is empty\MessageBreak + {\ifvoid\@tempboxa + \md@PackageWarning{You got a bad break\MessageBreak + because the last splittet box is empty\MessageBreak You have to change the settings}% - }{}% - \md@putbox@second}%Hier kommt die Ausgabe der letzten Box -} - - - - -\catcode`\|=\md@arrayparboxrestore %%%???? - - - - -% \md@arrayparboxrestore has parts of \@parboxrestore, performing a similar but -% less complete restoration of a default layout. See how it is used in the -% "settings" argument of \MakeFrame. Though not a parameter, \hsize -% should be set to the desired total line width available inside the -% frame before invoking \md@arrayparboxrestore. -\def\md@arrayparboxrestore{% - %%%AUS ltboxes.dtx -> \@arrayparboxrestore - \let\if@nobreak\iffalse - \let\if@noskipsec\iffalse - \let\-\@dischyph %%%Default \let\@dischyph=\- - \let\'\@acci\let\`\@accii\let\=\@acciii %%%Default: \let\@acci\' \let\@accii\` \let\@acciii\= <- Sicher gehen - %%%dass Defaultwerte erhalten sind - %%%Scheinen Mathesymbole zu sein ??? - % Test ob Listenumgebung enthalten ist - \ifnum \ifdim\@totalleftmargin>\z@ 1\fi %%%In latex.ltx->totalleftmargin=\z@, ausser in list-Umgebung: - %%%\advance\@totalleftmargin \leftmargin - \ifdim\rightmargin >\z@ 1\fi %%%Default \rightmargin=\z@, Ausnahme: quote usw. - \ifnum\@listdepth >0 1\fi %%%Zaehler fuer Listentiefe -> Keine Liste \@listdepth=0 sonst, je Ebene +1 - 0>\z@ %%%Ist ein Parameter erfuellt, dann ist es eine Listenumgebung - \@setminipage %%%Passform rund um das Element - % Nun wird versucht, Aenderungen der Breite von \hsize entsprechend der Listenparameter zu uebergeben. - % Dies ist defizitaer, denn eine erweiterte Moeglichkeit, Aenderungen der Textdimension anzugegeben - % ist (noch) nicht vorgesehen, insbesondere keine getrennte linke / rechte Einstellung. - \advance\linewidth-\columnwidth \advance\linewidth\md@horizontalspaceofbox - \parshape\@ne \@totalleftmargin \linewidth %%% parshape definiert das Aussehen eines Absatzes Zeile fuer Zeile. - %%% Seine Parameterversorgung geschieht mittels der folgenden Syntax: - %%% \parshape = n i1 l1 i2 l2 ... in ln. - %%% Dabei gibt der Parameter n an, fuer wieviele Zeilen Definitionspaare folgen. - %%% Jedes Definitionspaar besteht aus der Angabe i_j fuer den Einzug und - %%% der Laengenangabe l_j fuer die entsprechende Zeile. Sind mehr als n Zeilen - %%% vorhanden, so wird die letzte Angabe stets weiter verwendet - \else % Not in list - \linewidth=\md@horizontalspaceofbox - \fi - \sloppy + \fi% + \md@putbox@second% + }%Hier kommt die Ausgabe der letzten Box } %%==================================================%% %%= Sicherstellen, dass Optionen nur global setzbar=%% %%==================================================%% - \DisableKeyvalOption[% action=warning, package=mdframed, ]{mdf}{globalstyle}% - \DisableKeyvalOption[% action=warning, package=mdframed, ]{mdf}{xcolor}% - - \endinput %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -EOF -EOF -EOF - diff --git a/Master/texmf-dist/tex/latex/mdframed/mdframedpre.sty b/Master/texmf-dist/tex/latex/mdframed/mdframedpre.sty new file mode 100644 index 00000000000..1dff9fa4ac8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/mdframed/mdframedpre.sty @@ -0,0 +1,918 @@ +%%==================================================%% +%%========Is based on the idea of framed.sty========%% +%%==================================================%% +%%===== Currently the package has a beta-Status ====%% +%%==================================================%% +%% WITH THANKS TO (alphabetically): +%% ROLF NIEPRASCHK +%% HEIKO OBERDIEK +%% HERBERT VOSS + +%% Copyright (c) 2010 Marco Daniel +% +%% This package may be distributed under the terms of the LaTeX Project +%% Public License, as described in lppl.txt in the base LaTeX distribution. +%% Either version 1.0 or, at your option, any later version. +%% +%% +%%==================================================%% +%% Erstellung eines Rahmens, der am Seitenende keine +%% horizontale Linie einfuegt +%%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>%% +%% _______________ %% +%% | page 1 | %% +%% | Text | %% +%% | __Text__ | %% +%% | | Text | | %% +%% P A G E B R E A K %% +%% | | Text | | %% +%% | |_Text_| | %% +%% | Text | %% +%% |____page 2___| %% +%% %% +%%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>%% + + +%%$Id: mdframed.sty 103 2010-12-22 16:46:10Z marco $ +%%$Rev: 103 $ +%%$Author: marco $ +%%$Date: 2010-12-22 17:46:10 +0100 (Mi, 22. Dez 2010) $ + +%% Allgemeine Angaben +\def\mdversion{v0.6a} +\def\mdframedpackagename{mdframedpre} +\def\md@maindate@svn$#1: #2 #3 #4-#5-#6 #7 #8${#4/#5/#6\space } +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{mdframedpre}[\md@maindate@svn$Id: mdframed.sty 103 2010-12-22 16:46:10Z marco $ \mdversion: \mdframedpackagename] + +%%==================================================%% +%%=============== Benoetigte Pakete ================%% +%%==================================================%% + +\newcommand*\md@PackageWarning[1]{\PackageWarning{\mdframedpackagename}{#1}} +\newcommand*\md@PackageInfo[1]{\PackageInfo{\mdframedpackagename}{#1}} +\newcommand*\md@LoadFile@IfExist[1]{% + \IfFileExists{#1.sty}{% + \RequirePackage{#1}% + }{% + \md@PackageWarning{The package #1 does not exist\MessageBreak + but it is required by \mdframedpackagename}% + } +} +\md@LoadFile@IfExist{kvoptions} + +\md@LoadFile@IfExist{etex} + +\md@LoadFile@IfExist{calc} + +\md@LoadFile@IfExist{color} + + +%Eingearbeitet in Optionen +%\md@LoadFile@IfExist{pstricks} +%\md@LoadFile@IfExist{pstricks} + +\md@LoadFile@IfExist{etoolbox} + +\SetupKeyvalOptions{family=mdf,prefix=mdf@} + +%%==================================================%% +%%========Hilfsmakro zur Bestimmung ob Laenge=======%% +%%============= IDEE: Martin Scharrer ==============%% +%%==================================================%% + +%%%\md@iflength{<EINGABE>}{<IST LAENGE>}{<IST KEINE LAENGE>} +\newlength{\md@templength} +\def\md@iflength#1{% + \afterassignment\md@iflength@check% + \md@templength=#1\mdf@defaultunit\relax\relax + \expandafter\endgroup\next +} +\def\md@iflength@check#1{% + \begingroup + \ifx\relax#1\@empty + \def\next{\@secondoftwo} + \else + \def\next{\@firstoftwo} + \expandafter\md@iflength@cleanup + \fi +} +\def\md@iflength@cleanup#1\relax{} + +%%\def\md@@iflength#1{ +%% \begingroup +%% \def\@tempa{#1} +%% \md@iflength{\@tempa}{% +%% \expandafter\global\expandafter% +%% \edef\csname #1\endcsname{\the\md@templength}% +%% }{% +%% \expandafter\global\expandafter% +%% \edef\csname #1\endcsname{\the\md@templength}% +%% }% +%% \endgroup% +%%} + +%%==================================================%% +%%==================== Optionen ====================%% +%%==================================================%% + + +%Festlegung welcher Stildatei +%% 0 := tex-Kommandos -- rule +%% 1 := tikz +%% 2 := tikz-erweitert +%% 3 := pstricks-einfach +%% 4 := pstricks-erweitert + +\DeclareStringOption[0]{style} + +\define@key{mdf}{globalstyle}[\mdf@style]{% + \renewcommand*{\do}[1]{% + \def\@tempa{##1} + \ifcase\number\@tempa\relax + %0 <- kein Grafikpaket + \or + \md@LoadFile@IfExist{tikz} + %1 <- tikz wird benoetigt + \or + \md@LoadFile@IfExist{tikz} + %2 <- tikz wird benoetigt + \or + \md@LoadFile@IfExist{pstricks-add} + %3 <- pstricks wird benoetigt + \or + \md@LoadFile@IfExist{pstricks-add} + %4 <- pstricks wird benoetigt + \else + \md@PackageWarning{Unknown global style \@tempa} + \fi + }% + \docsvlist{\mdf@style,#1}% + } + +%%%%Optionen mit Laengen + +\newcommand*\mdf@skipabove{\z@} +\newcommand*\mdfl@skipabove{} +\newlength\mdf@skipabove@length +\deflength\mdf@skipabove@length{\z@} +\define@key{mdf}{skipabove}[\z@]{% + \def\@tempa{#1} + \md@iflength{\@tempa}% + {\global\edef\mdfl@skipabove{\the\md@templength}}% + {\global\edef\mdfl@skipabove{\the\md@templength}} +\let\mdf@skipabove\mdfl@skipabove +\setlength\mdf@skipabove@length{\mdf@skipabove} +} + +\newcommand*\mdf@skipbelow{\z@} +\newcommand*\mdfl@skipbelow{} +\newlength\mdf@skipbelow@length +\deflength\mdf@skipbelow@length{\z@} +\define@key{mdf}{skipbelow}[\z@]{% + \def\@tempa{#1} + \md@iflength{\@tempa}% + {\global\edef\mdfl@skipbelow{\the\md@templength}}% + {\global\edef\mdfl@skipbelow{\the\md@templength}} +\let\mdf@skipbelow\mdfl@skipbelow +\setlength\mdf@skipbelow@length{\mdf@skipbelow} +} + +\newcommand*\mdf@leftmargin{\z@} +\newcommand*\mdfl@leftmargin{} +\newlength\mdf@leftmargin@length +\deflength\mdf@leftmargin@length{\z@} +\define@key{mdf}{leftmargin}[\z@]{% + \def\@tempa{#1} + \md@iflength{\@tempa}% + {\global\edef\mdfl@leftmargin{\the\md@templength}}% + {\global\edef\mdfl@leftmargin{\the\md@templength}} +\let\mdf@leftmargin\mdfl@leftmargin +\setlength\mdf@leftmargin@length{\mdf@leftmargin} +} + +\newcommand*\mdf@rightmargin{\z@} +\newcommand*\mdfl@rightmargin{} +\newlength\mdf@rightmargin@length +\deflength\mdf@rightmargin@length{\z@} +\define@key{mdf}{rightmargin}[\z@]{% + \def\@tempa{#1} + \md@iflength{\@tempa}% + {\global\edef\mdfl@rightmargin{\the\md@templength}}% + {\global\edef\mdfl@rightmargin{\the\md@templength}} +\let\mdf@rightmargin\mdfl@rightmargin +\setlength\mdf@rightmargin@length{\mdf@rightmargin} +} + +\newcommand*\mdf@margin{20pt} +\newcommand*\mdfl@margin{} +\newlength\mdf@margin@length +\deflength\mdf@margin@length{20pt} +\define@key{mdf}{margin}[20pt]{% + \md@PackageWarning{The option margin is obsolote and no longer used\MessageBreak + use instead innerleftmargin and innerrightmargin\MessageBreak + For more details look at the documentation \mdframedpackagename}% + \def\@tempa{#1} + \md@iflength{\@tempa}% + {\global\edef\mdfl@margin{\the\md@templength}}% + {\global\edef\mdfl@margin{\the\md@templength}} +\let\mdf@margin\mdfl@margin +\setlength\mdf@margin@length{\mdf@margin} +} + +\newcommand*\mdf@innerleftmargin{10pt} +\newcommand*\mdfl@innerleftmargin{} +\newlength\mdf@innerleftmargin@length +\deflength\mdf@innerleftmargin@length{10pt} +\define@key{mdf}{innerleftmargin}[10pt]{% + \def\@tempa{#1} + \md@iflength{\@tempa}% + {\global\edef\mdfl@innerleftmargin{\the\md@templength}}% + {\global\edef\mdfl@innerleftmargin{\the\md@templength}} +\let\mdf@innerleftmargin\mdfl@innerleftmargin +\setlength\mdf@innerleftmargin@length{\mdf@innerleftmargin} +} + +\newcommand*\mdf@innerrightmargin{10pt} +\newcommand*\mdfl@innerrightmargin{} +\newlength\mdf@innerrightmargin@length +\deflength\mdf@innerrightmargin@length{10pt} +\define@key{mdf}{innerrightmargin}[10pt]{% + \def\@tempa{#1} + \md@iflength{\@tempa}% + {\global\edef\mdfl@innerrightmargin{\the\md@templength}}% + {\global\edef\mdfl@innerrightmargin{\the\md@templength}} +\let\mdf@innerrightmargin\mdfl@innerrightmargin +\setlength\mdf@innerrightmargin@length{\mdf@innerrightmargin} +} + + + +\newcommand*\mdf@innertopmargin{0.4\baselineskip} +\newcommand*\mdfl@innertopmargin{} +\newlength\mdf@innertopmargin@length +\deflength\mdf@innertopmargin@length{0.4\baselineskip} +\define@key{mdf}{innertopmargin}[0.4\baselineskip]{% + \def\@tempa{#1} + \md@iflength{\@tempa}% + {\global\edef\mdfl@innertopmargin{\the\md@templength}}% + {\global\edef\mdfl@innertopmargin{\the\md@templength}} +\let\mdf@innertopmargin\mdfl@innertopmargin +\setlength\mdf@innertopmargin@length{\mdf@innertopmargin} +} + +\newcommand*\mdf@innerbottommargin{0.4\baselineskip} +\newcommand*\mdfl@innerbottommargin{} +\newlength\mdf@innerbottommargin@length +\deflength\mdf@innerbottommargin@length{0.4\baselineskip} +\define@key{mdf}{innerbottommargin}[0.4\baselineskip]{% + \def\@tempa{#1} + \md@iflength{\@tempa}% + {\global\edef\mdfl@innerbottommargin{\the\md@templength}}% + {\global\edef\mdfl@innerbottommargin{\the\md@templength}} +\let\mdf@innerbottommargin\mdfl@innerbottommargin +\setlength\mdf@innerbottommargin@length{\mdf@innerbottommargin} +} + + +\newcommand*\mdf@splittopskip{\z@} +\newcommand*\mdfl@splittopskip{} +\newlength\mdf@splittopskip@length +\deflength\mdf@splittopskip@length{\z@} +\define@key{mdf}{splittopskip}[\z@]{% + \def\@tempa{#1} + \md@iflength{\@tempa}% + {\global\edef\mdfl@splittopskip{\the\md@templength}}% + {\global\edef\mdfl@splittopskip{\the\md@templength}} +\let\mdf@splittopskip\mdfl@splittopskip +\setlength\mdf@splittopskip@length{\mdf@splittopskip} +} + + + +\newcommand*\mdf@splitbottomskip{\z@} +\newcommand*\mdfl@splitbottomskip{} +\newlength\mdf@splitbottomskip@length +\deflength\mdf@splitbottomskip@length{\z@} +\define@key{mdf}{splitbottomskip}[\z@]{% + \def\@tempa{#1} + \md@iflength{\@tempa}% + {\global\edef\mdfl@splitbottomskip{\the\md@templength}}% + {\global\edef\mdfl@splitbottomskip{\the\md@templength}} +\let\mdf@splitbottomskip\mdfl@splitbottomskip +\setlength\mdf@splitbottomskip@length{\mdf@splitbottomskip} +} + + +%% Linienstaerken +\newcommand*\mdf@linewidth{0.4pt} +\newcommand*\mdfl@linewidth{} +\newlength\mdf@linewidth@length +\deflength\mdf@linewidth@length{0.4pt} +\define@key{mdf}{linewidth}[0.4pt]{% + \def\@tempa{#1} + \md@iflength{\@tempa}% + {\global\edef\mdfl@linewidth{\the\md@templength}}% + {\global\edef\mdfl@linewidth{\the\md@templength}} +\let\mdf@linewidth\mdfl@linewidth +\setlength\mdf@linewidth@length{\mdf@linewidth}% +\ifnumequal{\mdf@style}{1}{% +\deflength\mdf@middlelinewidth@length{\mdf@linewidth@length}% +}{}% +} + +\newcommand*\mdf@innerlinewidth{\z@} +\newcommand*\mdfl@innerlinewidth{} +\newlength\mdf@innerlinewidth@length +\deflength\mdf@innerlinewidth@length{\z@} +\define@key{mdf}{innerlinewidth}[\z@]{% + \def\@tempa{#1} + \md@iflength{\@tempa}% + {\global\edef\mdfl@innerlinewidth{\the\md@templength}}% + {\global\edef\mdfl@innerlinewidth{\the\md@templength}} +\let\mdf@innerlinewidth\mdfl@innerlinewidth +\setlength\mdf@innerlinewidth@length{\mdf@innerlinewidth} +} + +\newcommand*\mdf@middlelinewidth{\mdf@linewidth} +\newcommand*\mdfl@middlelinewidth{} +\newlength\mdf@middlelinewidth@length +\deflength\mdf@middlelinewidth@length{\mdf@linewidth@length} +\define@key{mdf}{middlelinewidth}[\mdf@linewidth]{% + \def\@tempa{#1} + \md@iflength{\@tempa}% + {\global\edef\mdfl@middlelinewidth{\the\md@templength}}% + {\global\edef\mdfl@middlelinewidth{\the\md@templength}} +\let\mdf@middlelinewidth\mdfl@middlelinewidth +\setlength\mdf@middlelinewidth@length{\mdf@middlelinewidth} +} + +\newcommand*\mdf@outerlinewidth{\z@} +\newcommand*\mdfl@outerlinewidth{} +\newlength\mdf@outerlinewidth@length +\deflength\mdf@outerlinewidth@length{\z@} +\define@key{mdf}{outerlinewidth}[\z@]{% + \def\@tempa{#1} + \md@iflength{\@tempa}% + {\global\edef\mdfl@outerlinewidth{\the\md@templength}}% + {\global\edef\mdfl@outerlinewidth{\the\md@templength}} +\let\mdf@outerlinewidth\mdfl@outerlinewidth +\setlength\mdf@outerlinewidth@length{\mdf@outerlinewidth} +} + +\newcommand*\mdf@roundcorner{\z@} +\newcommand*\mdfl@roundcorner{} +\newlength\mdf@roundcorner@length +\deflength\mdf@roundcorner@length{\z@} +\define@key{mdf}{roundcorner}[\z@]{% + \def\@tempa{#1} + \md@iflength{\@tempa}% + {\global\edef\mdfl@roundcorner{\the\md@templength}}% + {\global\edef\mdfl@roundcorner{\the\md@templength}} +\let\mdf@roundcorner\mdfl@roundcorner +\setlength\mdf@roundcorner@length{\mdf@roundcorner} +} + +%Unterstuetzung der Optionen fuer pstricks +\def\mdf@psset@local{} +\define@key{mdf}{pstrickssetting}{% + \def\mdf@psset@local{#1} +} + + +%%Defaulunit +\DeclareStringOption[pt]{defaultunit} + +%%mdframed umfasst ntheorem-Umgebung ja/nein +\DeclareBoolOption{ntheorem} + +\DeclareBoolOption[true]{topline} +\DeclareBoolOption[true]{leftline} +\DeclareBoolOption[true]{bottomline} +\DeclareBoolOption[true]{rightline} + + +%%FARBEN +\DeclareStringOption[none]{xcolor} +\DeclareStringOption[black]{linecolor} +\DeclareStringOption[white]{backgroundcolor} +\DeclareStringOption[black]{fontcolor} +\DeclareStringOption[\mdf@linecolor]{innerlinecolor} +\DeclareStringOption[\mdf@linecolor]{outerlinecolor} +\DeclareStringOption[\mdf@backgroundcolor]{middlelinecolor} + + +\DeclareDefaultOption{% + \md@PackageWarning{Unknown Option '\CurrentOption' for mdframed}} + + +%%==================================================%% +%%========== ENDE DER OPTIONENDEKLARATION ==========%% +%%==================================================%% + +\ProcessKeyvalOptions* +\newcommand*{\mdfsetup}{\setkeys{mdf}} +\mdfsetup{globalstyle=0} + +%%==================================================%% +%%========Sicherstellen der key-value-Syntax========%% +%%==================================================%% +\AtBeginDocument{ + \@ifpackageloaded{xcolor}{% + \let\mdf@xcolor\@empty %ignoriere die Eingabe der Optionen + }{% + \def\@tempa{none} + \ifx\mdf@xcolor\@tempa + \else + \PassOptionsToPackage{\mdf@xcolor}{xcolor} + \RequirePackage{xcolor} + \fi + } +} + + + +%%Farbabkuerzungen: +\newcommand*\mdf@@linecolor{\color{\mdf@linecolor}} +\newcommand*\mdf@@backgroundcolor{ + \ifx\mdf@backgroundcolor\@empty + \else + \color{\mdf@backgroundcolor} + \fi} +\newcommand*\mdf@@fontcolor{\color{\mdf@fontcolor}} +\newcommand*\mdf@@innerlinecolor{\color{\mdf@innerlinecolor}} +\newcommand*\mdf@@outerlinecolor{\color{\mdf@outerlinecolor}} +\newcommand*\mdf@@middlelinecolor{\color{\mdf@middlelinecolor}} + +%%==================================================%% +%%======= Laden der gewuenschten Style-Datei =======%% +%%==================================================%% +\ifcase\mdf@style\relax% + \input{md-framepre-0.mdf}% + \or% + \input{md-framepre-1.mdf}% + \or% + \md@PackageWarning{The style number\mdf@style does not exist\MessageBreak + mdframed ues instead style=0 \mdframedpackagename}% + \input{md-framepre-1.mdf}% + \or% + \input{md-framepre-3.mdf}% + \else% + \IfFileExists{md-frame-\mdf@style.mdf}{% + \input{md-frame-\mdf@style.mdf}% + }{% + \input{md-framepre-1.mdf}% + \md@PackageWarning{The style number \mdf@style does not exist\MessageBreak + mdframed ues instead style=0 \mdframedpackagename}% + }% +\fi% + + +%%==================================================%% +%%===Globale Umgebung -- noch keine Modifikation ===%% +%%==================================================%% +\def\md@margin@startenv{% latex.ltx -> \@startsection + \if@noskipsec \leavevmode \fi + \par%\kern-\lastskip% + \@tempskipa -\mdf@skipabove@length\relax + \@afterindenttrue + \ifdim \@tempskipa < \z@ + \@tempskipa -\@tempskipa \@afterindentfalse% + \fi + \if@nobreak + \everypar{}% + \else + \addpenalty\@secpenalty\addvspace\@tempskipa% + \par\kern-\ht\strutbox + \fi% +}% + + +\def\mdframed{% + \@ifnextchar[%] + \mdframed@i\mdframed@ii}% + +\def\mdframed@ii{\mdframed@i[]}% +\def\mdframed@i[#1]{% default-Umgebung + \mdfsetup{#1}%% + \md@margin@startenv% + \ifmdf@ntheorem% %%% Pruefen ob ntheorem gesetzt ist + \ifundef{\theorempreskipamount}% + {\md@PackageWarning{You have not loaded ntheorem yet}}% + {\setlength{\theorempreskipamount}{0pt}% + \setlength{\theorempostskipamount}{0pt}}% + \fi% + \ifnumequal{\mdf@style}{0}% + {\deflength{\mdf@innerlinewidth@length}{\z@}% + \deflength{\mdf@middlelinewidth@length}{\mdf@linewidth@length}% + \deflength{\mdf@outerlinewidth@length}{\z@}% + \let\mdf@innerlinecolor\mdf@linecolor% + \let\mdf@middlelinecolor\mdf@linecolor% + \let\mdf@outerlinecolor\mdf@linecolor% + }{}% + \ifnumequal{\mdf@style}{3}% + {\deflength{\mdf@innerlinewidth@length}{\z@}% + \deflength{\mdf@middlelinewidth@length}{\mdf@linewidth}% + \deflength{\mdf@outerlinewidth@length}{\z@}% + \let\mdf@innerlinecolor\mdf@linecolor% + }{}% + \mdframed@global@env% + }% + +\def\endmdframed{\endmdframed@global@env\endtrivlist% +\vspace{\mdf@skipbelow@length}}% + +%%==================================================%% +%%==Deklaration diverser Eingabe und Hilfsparameter=%% +%%==================================================%% + +\newskip\md@temp@skip@a \md@temp@skip@a\z@ %% Hilfslaenge + +\newlength\md@verticalmarginwhole@length + +\newlength\mdf@xmargin@length% +\newlength\mdf@ymargin@length% +\newlength\mdfboxheight% %% Berechnungsvariable tikz +\newlength\mdfboxwidth% %% Berechnungsvariable tikz + + +\newlength\mdfboundingboxheight +\newlength\mdfboundingboxwidth +\newlength\mdfpositionx +\newlength\mdfpositiony + + + +\providecommand*\ptTps{} + + +%%==================================================%% +%%=================== Kommentare ===================%% +%%==================================================%% + +\chardef\md@arrayparboxrestore=\catcode`\| % for debug +\catcode`\|=\catcode`\% % (debug: insert space after backslash) +%% Kommentare werden im Code mit | gekennzeichnet + + +%%==================================================%% +%%================= Platz auf Seite ================%% +%%==================================================%% +\newlength\md@freevspace@length +\def\md@freepagevspace{% + \ifdimequal{\pagegoal}{\maxdimen}% + {% + \setlength{\md@freevspace@length}{\vsize}% + }{ + \setlength{\md@freevspace@length}{\pagegoal}% + \addtolength{\md@freevspace@length}{-\pagetotal}% + }% +} + +%%==================================================%% +%================= Breite der BOX =================%% +%%==================================================%% + +% edge-leftmargin-outerlinewith-middlelinewidth-innerlinewidth-innerleftmargin-TEXTBREITE- +% innerrightmargin-innerlinewidth-middlelinewidth-outelinewith-edge +\newlength\md@horizontalspaceofbox +\def\md@horizontalmargin@equation{% + \setlength{\md@horizontalspaceofbox}{\hsize} + \addtolength{\md@horizontalspaceofbox}{% + -\mdf@leftmargin@length% + -\mdf@outerlinewidth@length% + -\mdf@middlelinewidth@length% + -\mdf@innerlinewidth@length% + -\mdf@innerleftmargin@length% + -\mdf@innerrightmargin@length% + -\mdf@innerlinewidth@length% + -\mdf@middlelinewidth@length% + -\mdf@outerlinewidth@length% + -\mdf@rightmargin@length% + }% + \ifboolexpr{ test {\ifnumequal{\mdf@style}{0}} or test {\ifnumequal{\mdf@style}{3}}}% + { + \notbool{mdf@leftline}{\addtolength{\md@horizontalspaceofbox}{% + \mdf@innerlinewidth@length% + +\mdf@middlelinewidth@length% + +\mdf@outerlinewidth@length% + }}{}% + \notbool{mdf@rightline}{\addtolength{\md@horizontalspaceofbox}{% + \mdf@innerlinewidth@length% + +\mdf@middlelinewidth@length% + +\mdf@outerlinewidth@length% + }}{}% + }{}% + \advance\md@horizontalspaceofbox by - \width\md@arrayparboxrestore% + %%% Beruecksichtigung, dass Auszaehlung bzw. list-Umgebung enthalten + \ifdimless{\md@horizontalspaceofbox}{3cm}{\md@PackageWarning{You have only a width of 3cm}}{} + \hsize=\md@horizontalspaceofbox% +} + + + + +%%==================================================%% +%%========= Seitenparameter und Strafpunkte ========%% +%%==================================================%% +\def\md@penalty@startenv{% + \begingroup% + \skip@\lastskip% %%% lastskip nur ungleich null nach section, list, figure, usw. + \if@nobreak% + \else + \penalty9999 % updates \page parameters <-pruefen + \ifdim\pagefilstretch=\z@ %%% pagefilstretch ist ein internes Register fuer den + %%% Seitenumbruch. Es entaehlt den akkumulierten (gespeicherten) fil-Anteil + %%% auf der aktuellen Seite + \ifdim\pagefillstretch=\z@ %%% pagefillstretch ist ein internes Register fuer den + %%% Seitenumbruch. Es entaehlt den akkumulierten (gespeicherten) fill-Anteil + %%% auf der aktuellen Seite + %%% nicht unendlich dehnbar, so hier foerdern eines Seitenumbruches + \edef\@tempa{\the\skip@}% + \edef\@tempb{\the\z@skip}% + \ifx\@tempa\@tempb %%% ??????? + \penalty-30% + \else + \vskip-\skip@% + \penalty-30% + \vskip\skip@% + \fi + \fi + \fi + \penalty\z@% + % Give a stretchy breakpoint that will always be taken in preference + % to the \penalty 9999 used to update page parameters. The cube root + % of 10000/100 indicates a multiplier of 0.21545, but the maximum + % calculated badness is really 8192, not 10000, so the multiplier + % is 0.2301. + \advance\skip@ \z@ plus-.5\baselineskip% + \advance\skip@ \z@ plus-.231\height% + \advance\skip@ \z@ plus-.231\skip@% + \advance\skip@ \z@ plus-.231\topsep% + \vskip-\skip@ \penalty 1800 \vskip\skip@% + \fi + \addvspace{\topsep}% + \endgroup% + % clear out pending page break + \nobreak \vskip 2\baselineskip \vskip\height% %%%\@M=10000 + \penalty9999 \vskip -2\baselineskip \vskip-\height% + \penalty9999 % updates \pagetotal +}% + + +%%==================================================%% +%%============Start der globalen Umgebung===========%% +%%==================================================%% +\newskip\md@temp@frame@hsize \md@temp@frame@hsize=0pt% +\newskip\md@temp@frame@vsize \md@temp@frame@vsize=0pt% + +\def\mdframed@global@env{\relax% + \let\width\z@% + \let\height\z@% + \md@penalty@startenv% + \def\@doendpe{\@endpetrue% %%% SIEHE LATEX.ltx -- ersten Absatz ignorieren + \def\par{\@restorepar\par\@endpefalse}% + \everypar{{\setbox\z@\lastbox}\everypar{}\@endpefalse}% + }% + \md@horizontalmargin@equation% + \setbox\@tempboxa% + \vbox\bgroup\@doendpe% + \begingroup% %%% zweites begingroup noetig, dass fontcolor gesetzt werden kann + \mdf@@fontcolor% %%% Setzen der Schriftfarbe + \textwidth\md@horizontalspaceofbox \columnwidth\md@horizontalspaceofbox% +}% + +\def\endmdframed@global@env{\par% + \kern\z@% + \hrule\@width\md@horizontalspaceofbox\@height\z@% + \penalty-100 % put depth into height + \endgroup% + \egroup% + \begingroup% + \mdf@@fontcolor% + \setbox\@tempboxa\vbox{\unvbox\@tempboxa} + \md@put@frame% + \endgroup% +} + +%%==================================================%% +%%===========Ausgaberoutine -> Berechnung===========%% +%%==================================================%% + +%% \md@put@frame nimmt den Inhalt der \@tempboxa und packt alles oder nur einen Teil +%% auf die Seite mit dem Rahmen. +%% Es ist rekursiv, solange alles von der \@tempboxa aufgebraucht ist (\@tempboxa muss die Tiefe 0 haben.) +%% Erste Iteration: Versuche alles in einen Rahmen zu bekommen. Falls es nicht passt, +%% splitte es fuer die erste Rahmenumgebung +%% Spaetere Iteration: Versuche alles in den letzten Rahmen zu bekommen. Falls es nicht passt, +%% splitte es erneut. (Versuchsstadium -- Da bisher nur Anfang und Ende enthalten) + + + +\def\md@put@frame{\relax% + \md@freepagevspace + \ifdimless{\md@freevspace@length}{1.999\baselineskip} + {\md@PackageInfo{Not enough space on this page}%die Seite hat nur noch minimal Platz + \clearpage% + \md@put@frame + }{% + %Hier berechnung Box-Inhalt+Rahmen oben und unten + \setlength{\md@verticalmarginwhole@length}{\ht\@tempboxa+\dp\@tempboxa}% + \addtolength{\md@verticalmarginwhole@length}{% + \mdf@outerlinewidth@length% + +\mdf@middlelinewidth@length% + +\mdf@innerlinewidth@length% + +\mdf@innertopmargin@length% + +\mdf@innerbottommargin@length% + +\mdf@innerlinewidth@length% + +\mdf@middlelinewidth@length% + +\mdf@outerlinewidth@length% + }% + \ifnumequal{\mdf@style}{0}% + {\ifbool{mdf@topline}{}% + {\addtolength{\md@verticalmarginwhole@length}{-\mdf@middlelinewidth@length}% + }% + \ifbool{mdf@bottomline}{}% + {\addtolength{\md@verticalmarginwhole@length}{-\mdf@middlelinewidth@length}% + }% + }{} + \ifnumequal{\mdf@style}{3}% + {\ifbool{mdf@topline}{}% + {\addtolength{\md@verticalmarginwhole@length}{-\mdf@middlelinewidth@length}% + }% + \ifbool{mdf@bottomline}{}% + {\addtolength{\md@verticalmarginwhole@length}{-\mdf@middlelinewidth@length}% + }% + }{} + \ifdimless{\md@verticalmarginwhole@length}{\md@freevspace@length}% + {\md@putbox@single}%passt auf Seite + {\md@put@frame@i}%passt nicht auf Seite + } +} + +\def\md@put@frame@i{%Box muss gesplittet werden -- Ausgabe der ersten Teilbox + %Berechnung der Splittgroesse -- Linien und Abstand oben + \md@freepagevspace + \setlength{\dimen@}{\md@freevspace@length}% + \addtolength{\dimen@}{% + -\mdf@outerlinewidth@length% + -\mdf@middlelinewidth@length% + -\mdf@innerlinewidth@length% + -\mdf@innertopmargin@length% + -\mdf@splitbottomskip@length% + }% + \ifnumequal{\mdf@style}{0}% + {\ifbool{mdf@topline}{}% + {\addtolength{\dimen@}{+\mdf@middlelinewidth@length}% + }% + }{} + \ifnumequal{\mdf@style}{3}% + {\ifbool{mdf@topline}{}% + {\addtolength{\dimen@}{\mdf@middlelinewidth@length}% + }% + }{} + \ifdimless{\ht\@tempboxa+\dp\@tempboxa}{\dimen@}% + {\md@PackageWarning{You got a bad break\MessageBreak + you have to change it manually\MessageBreak + by changing the text, the space\MessageBreak + or something else}% + \addtolength{\dimen@}{-1.8\baselineskip} + }{}% + \addtolength{\dimen@}{-\pageshrink}%Box darf nicht zu Groß werden. + \boxmaxdepth\z@ \splittopskip\mdf@splittopskip@length% + \setbox\tw@\vsplit\@tempboxa to \dimen@ + \setbox\tw@\vbox{\unvbox\tw@}% + \ifdimgreater{\ht\tw@+\dp\tw@}{\dimen@}{%Falsch gesplittet + \setlength\dimen@i{\dimen@} + \addtolength{\dimen@}{-\ht\tw@-\dp\tw@} + \addtolength\dimen@i{0.5\dimen@} + \boxmaxdepth\z@ \splittopskip\z@% + \setbox\@tempboxa\vbox{\unvbox\tw@\unvbox\@tempboxa} + \boxmaxdepth\z@ \splittopskip\mdf@splittopskip@length% + \setbox\tw@\vsplit\@tempboxa to \dimen@i + \setbox\tw@\vbox{\unvbox\tw@}% + }{}% + \setbox\@tempboxa\vbox{\unvbox\@tempboxa}%PRUEFEN!!!! + \ifvoid\@tempboxa + \md@PackageWarning{You got a bad break\MessageBreak + because the splittet box is empty\MessageBreak + You have to change the page settings\MessageBreak + like enlargethispage or something else}% + \fi + \ifdimequal{\wd\tw@}{0pt}%%pruefe, ob erste Box leer ist + {\clearpage% + \md@put@frame}% + {\md@putbox@first%%Groesse des Splittens passt + \eject%\clearpage% + \md@put@frame@ii}% +} + + +\def\md@put@frame@ii{%Ausgabe der mittleren Box(en) wenn vorhanden + \setlength{\md@freevspace@length}{\vsize}% + \setlength{\dimen@}{\ht\@tempboxa+\dp\@tempboxa}% + \addtolength{\dimen@}{%%Addition der Linien unten + \mdf@outerlinewidth@length% + +\mdf@middlelinewidth@length% + +\mdf@innerlinewidth@length% + +\mdf@innerbottommargin@length% + }% + \ifboolexpr{( bool {mdf@bottomline} ) + and + ( test {\ifnumequal{\mdf@style}{0}} + or + test {\ifnumequal{\mdf@style}{3}} + ) + }% + {}{\addtolength{\dimen@}{-\mdf@middlelinewidth@length}}% + \ifdimgreater{\dimen@}{\md@freevspace@length}% + {% + \addtolength{\md@freevspace@length}{%%Abzug der Linien unten + -\mdf@splitbottomskip@length% + }% + \boxmaxdepth\z@ \splittopskip\mdf@splittopskip@length% + \setbox\tw@\vsplit\@tempboxa to \md@freevspace@length% + \setbox\tw@\vbox{\unvbox\tw@}%PRUEFEN!!! + \setbox\@tempboxa\vbox{\unvbox\@tempboxa}%PRUEFEN!!!! + \ifvoid\@tempboxa\relax% + \md@PackageWarning{You got a bad break\MessageBreak + because the splittet box is empty\MessageBreak + You have to change the settings}% + \fi% + \md@putbox@middle% + \clearpage\md@put@frame@ii% + }%Hier die Ausgabe der mittleren Box + {\ifdimequal{\wd\@tempboxa}{\z@}{\md@PackageWarning{You got a bad break\MessageBreak + because the splittet box is empty\MessageBreak + You have to change the settings}% + }{}% + \md@putbox@second}%Hier kommt die Ausgabe der letzten Box +} + + + + +\catcode`\|=\md@arrayparboxrestore %%%???? + + + + +% \md@arrayparboxrestore has parts of \@parboxrestore, performing a similar but +% less complete restoration of a default layout. See how it is used in the +% "settings" argument of \MakeFrame. Though not a parameter, \hsize +% should be set to the desired total line width available inside the +% frame before invoking \md@arrayparboxrestore. +\def\md@arrayparboxrestore{% + %%%AUS ltboxes.dtx -> \@arrayparboxrestore + \let\if@nobreak\iffalse + \let\if@noskipsec\iffalse + \let\-\@dischyph %%%Default \let\@dischyph=\- + \let\'\@acci\let\`\@accii\let\=\@acciii %%%Default: \let\@acci\' \let\@accii\` \let\@acciii\= <- Sicher gehen + %%%dass Defaultwerte erhalten sind + %%%Scheinen Mathesymbole zu sein ??? + % Test ob Listenumgebung enthalten ist + \ifnum \ifdim\@totalleftmargin>\z@ 1\fi %%%In latex.ltx->totalleftmargin=\z@, ausser in list-Umgebung: + %%%\advance\@totalleftmargin \leftmargin + \ifdim\rightmargin >\z@ 1\fi %%%Default \rightmargin=\z@, Ausnahme: quote usw. + \ifnum\@listdepth >0 1\fi %%%Zaehler fuer Listentiefe -> Keine Liste \@listdepth=0 sonst, je Ebene +1 + 0>\z@ %%%Ist ein Parameter erfuellt, dann ist es eine Listenumgebung + \@setminipage %%%Passform rund um das Element + % Nun wird versucht, Aenderungen der Breite von \hsize entsprechend der Listenparameter zu uebergeben. + % Dies ist defizitaer, denn eine erweiterte Moeglichkeit, Aenderungen der Textdimension anzugegeben + % ist (noch) nicht vorgesehen, insbesondere keine getrennte linke / rechte Einstellung. + \advance\linewidth-\columnwidth \advance\linewidth\md@horizontalspaceofbox + \parshape\@ne \@totalleftmargin \linewidth %%% parshape definiert das Aussehen eines Absatzes Zeile fuer Zeile. + %%% Seine Parameterversorgung geschieht mittels der folgenden Syntax: + %%% \parshape = n i1 l1 i2 l2 ... in ln. + %%% Dabei gibt der Parameter n an, fuer wieviele Zeilen Definitionspaare folgen. + %%% Jedes Definitionspaar besteht aus der Angabe i_j fuer den Einzug und + %%% der Laengenangabe l_j fuer die entsprechende Zeile. Sind mehr als n Zeilen + %%% vorhanden, so wird die letzte Angabe stets weiter verwendet + \else % Not in list + \linewidth=\md@horizontalspaceofbox + \fi + \sloppy +} + +%%==================================================%% +%%= Sicherstellen, dass Optionen nur global setzbar=%% +%%==================================================%% + +\DisableKeyvalOption[% + action=warning, + package=mdframed, +]{mdf}{globalstyle}% + + +\DisableKeyvalOption[% + action=warning, + package=mdframed, +]{mdf}{xcolor}% + + +\endinput +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +EOF +EOF +EOF + |