From 17c64171472e3210951167496fe1a0a3d82f79ab Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 23 Dec 2010 23:33:55 +0000 Subject: mdframed 0.6a (23dec10) git-svn-id: svn://tug.org/texlive/trunk@20841 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/mdframed/md-frame-0.mdf | 436 ++++++++ .../texmf-dist/tex/latex/mdframed/md-frame-1.mdf | 193 ++++ .../texmf-dist/tex/latex/mdframed/md-frame-3.mdf | 943 ++++++++++++++++ Master/texmf-dist/tex/latex/mdframed/md-tikz-0.mdf | 203 ---- Master/texmf-dist/tex/latex/mdframed/md-tikz-1.mdf | 143 --- Master/texmf-dist/tex/latex/mdframed/mdframed.sty | 1145 +++++++++++--------- 6 files changed, 2203 insertions(+), 860 deletions(-) create mode 100644 Master/texmf-dist/tex/latex/mdframed/md-frame-0.mdf create mode 100644 Master/texmf-dist/tex/latex/mdframed/md-frame-1.mdf create mode 100644 Master/texmf-dist/tex/latex/mdframed/md-frame-3.mdf delete mode 100644 Master/texmf-dist/tex/latex/mdframed/md-tikz-0.mdf delete mode 100644 Master/texmf-dist/tex/latex/mdframed/md-tikz-1.mdf (limited to 'Master/texmf-dist/tex/latex') diff --git a/Master/texmf-dist/tex/latex/mdframed/md-frame-0.mdf b/Master/texmf-dist/tex/latex/mdframed/md-frame-0.mdf new file mode 100644 index 00000000000..62fd11d01bf --- /dev/null +++ b/Master/texmf-dist/tex/latex/mdframed/md-frame-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-frame-1.mdf b/Master/texmf-dist/tex/latex/mdframed/md-frame-1.mdf new file mode 100644 index 00000000000..8d5f16d9c74 --- /dev/null +++ b/Master/texmf-dist/tex/latex/mdframed/md-frame-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-frame-3.mdf b/Master/texmf-dist/tex/latex/mdframed/md-frame-3.mdf new file mode 100644 index 00000000000..ff65c795a84 --- /dev/null +++ b/Master/texmf-dist/tex/latex/mdframed/md-frame-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/md-tikz-0.mdf b/Master/texmf-dist/tex/latex/mdframed/md-tikz-0.mdf deleted file mode 100644 index 7fe8a26fd0d..00000000000 --- a/Master/texmf-dist/tex/latex/mdframed/md-tikz-0.mdf +++ /dev/null @@ -1,203 +0,0 @@ -%%==================================================%% -%%= 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. - -\let\md@textwidth\textwidth - - -%%=single=%% -\def\md@frame@background@single{% - \rlap{\color{\mdf@backgroundcolor}% - \setlength{\fp@putboxa@length@md}{\ht\@tempboxa}% - \addtolength{\fp@putboxa@length@md}{0.8\baselineskip}% - %\addtolength{\fp@putboxa@length@md}{\mdf@linewidth}% - \rule[-0.4\baselineskip]% - {\md@textwidth-\mdf@leftmargin-\mdf@rightmargin-\mdf@linewidth-\mdf@linewidth}% - {\fp@putboxa@length@md}% - }% -}% - -\def\md@frame@leftandbottomline@single{% - \setlength{\fp@putboxa@length@md}{\ht\@tempboxa}% - \addtolength{\fp@putboxa@length@md}{0.4\baselineskip}% - %\addtolength{\fp@putboxa@length@md}{\mdf@linewidth}% - \rlap{\color{\mdf@linecolor}\vrule width \mdf@linewidth% - height \fp@putboxa@length@md% - depth 0.4\baselineskip}% - \rlap{\color{\mdf@linecolor}\rule[-0.4\baselineskip-\mdf@linewidth]% - {\md@textwidth-\mdf@leftmargin-\mdf@rightmargin}{\mdf@linewidth}% - }% -}% - -\def\md@frame@topandrightline@single{% - \llap{\color{\mdf@linecolor}\vrule width \mdf@linewidth% - height \fp@putboxa@length@md% - depth 0.4\baselineskip}% - \llap{\color{\mdf@linecolor}\rule[\fp@putboxa@length@md]% - {\md@textwidth-\mdf@leftmargin-\mdf@rightmargin}{\mdf@linewidth}}% -}% - - -\def\md@putbox@single{%%%%% Ausgabe der ungesplitteten Gesamtbox - \ifvoid\@tempboxa - \else - \leftline{% - \null\hspace*{\mdf@leftmargin}% - \md@frame@leftandbottomline@single% - \hspace*{\mdf@linewidth}% - \md@frame@background@single% - \hspace*{\mdf@margin}% - {\box\@tempboxa}% - \hspace*{\mdf@margin}% - \hspace*{\mdf@linewidth}% - \md@frame@topandrightline@single% - }% - \fi -} - - -%%=first=%% - -\def\md@frame@background@first{% - \rlap{\color{\mdf@backgroundcolor}% - \setlength{\fp@putboxa@length@md}{\ht\tw@}% - \addtolength{\fp@putboxa@length@md}{.8\baselineskip}% - % \addtolength{\fp@putboxa@length@md}{\mdf@linewidth}% - \rule[-0.4\baselineskip]{\md@textwidth-\mdf@leftmargin-\mdf@rightmargin-\mdf@linewidth-\mdf@linewidth}% - {\fp@putboxa@length@md}% - }% -}% - -\def\md@frame@topandleftline@first{% - \setlength{\fp@putboxa@length@md}{\ht\tw@}% - \addtolength{\fp@putboxa@length@md}{0.4\baselineskip}% - \addtolength{\fp@putboxa@length@md}{\mdf@linewidth}% - % \addtolength{\fp@putboxa@length@md}{\mdf@linewidth}% - \rlap{\color{\mdf@linecolor} \vrule width \mdf@linewidth% - height \fp@putboxa@length@md% - depth 0.4\baselineskip% - }% - \rlap{\color{\mdf@linecolor}\rule[\fp@putboxa@length@md-\mdf@linewidth]{\md@textwidth-\mdf@leftmargin-\mdf@rightmargin}% - {\mdf@linewidth}% - }% -}% - -\def\md@frame@rightline@first{% - \llap{\color{\mdf@linecolor}\vrule width \mdf@linewidth% - height \fp@putboxa@length@md% - depth 0.4\baselineskip% - }% -}% - - - -\def\md@putbox@first{%%%% Ausgabe der Teilbox 1 - \leftline{% - \null\hspace*{\mdf@leftmargin}% - \md@frame@topandleftline@first% - \hspace*{\mdf@linewidth}% - \md@frame@background@first% - \hspace*{\mdf@margin}% - {\box\tw@}% - \hspace*{\mdf@margin}% - \hspace*{\mdf@linewidth}% - \md@frame@rightline@first% - }% -} - -%%=second=%% - -\def\md@frame@background@second{% - \rlap{\color{\mdf@backgroundcolor}% - \setlength{\fp@putboxa@length@md}{\ht\@tempboxa}% - \addtolength{\fp@putboxa@length@md}{\baselineskip}% - \rule[-0.5\baselineskip]{\md@textwidth-\mdf@leftmargin-\mdf@rightmargin-\mdf@linewidth-\mdf@linewidth}% - {\fp@putboxa@length@md}% - }% -}% - -\def\md@frame@leftandbottomline@second{% - \setlength{\fp@putboxa@length@md}{\ht\@tempboxa}% - \addtolength{\fp@putboxa@length@md}{0.5\baselineskip}% %Linienueberschuss auf zweiter Seite -- derzeit 0pt - \rlap{\color{\mdf@linecolor}\vrule width \mdf@linewidth% - height \fp@putboxa@length@md% - depth 0.5\baselineskip% - }% - \rlap{\color{\mdf@linecolor}\rule[-0.5\baselineskip-\mdf@linewidth]% - {\md@textwidth-\mdf@leftmargin-\mdf@rightmargin}% - {\mdf@linewidth}}% -}% - -\def\md@frame@rightline@second{% - \llap{\color{\mdf@linecolor}\vrule width \mdf@linewidth% - height \fp@putboxa@length@md% - depth 0.5\baselineskip}% -}% - -\def\md@putbox@second{%%%%% Ausgabe der mittleren Teilbox - \ifvoid\@tempboxa% - \else - \leftline{% - \null\hspace*{\mdf@leftmargin}% - \md@frame@leftandbottomline@second% - \hspace*{\mdf@linewidth}% - \md@frame@background@second% - \hspace*{\mdf@margin}% - {\box\@tempboxa}% - \hspace*{\mdf@margin}% - \hspace*{\mdf@linewidth}% - \md@frame@rightline@second% - }% - \fi% -}% - - -%%=middle=%% - -\def\md@frame@background@middle{% - \rlap{\color{\mdf@backgroundcolor}% - \setlength{\fp@putboxa@length@md}{\ht\tw@}% - \addtolength{\fp@putboxa@length@md}{0.9\baselineskip}% - %\addtolength{\fp@putboxa@length@md}{\mdf@linewidth}% - \rule[-0.4\baselineskip]{\md@textwidth-\mdf@leftmargin-\mdf@rightmargin-\mdf@linewidth-\mdf@linewidth}% - {\fp@putboxa@length@md}% - }% -}% - -\def\md@frame@leftline@middle{% - \setlength{\fp@putboxa@length@md}{\ht\tw@}% - \addtolength{\fp@putboxa@length@md}{0.5\baselineskip}% - \rlap{\color{\mdf@linecolor} \vrule width \mdf@linewidth% - height \fp@putboxa@length@md% - depth 0.4\baselineskip% - }% -}% - -\def\md@frame@rightline@middle{% - \llap{\color{\mdf@linecolor}\vrule width \mdf@linewidth% - height \fp@putboxa@length@md% - depth 0.4\baselineskip% - }% -}% - - - -\def\md@putbox@middle{%%%% Ausgabe der Teilbox 1 - \leftline{% - \null\hspace*{\mdf@leftmargin}% - \md@frame@leftline@middle% - \hspace*{\mdf@linewidth}% - \md@frame@background@middle% - \hspace*{\mdf@margin}% - {\box\tw@}% - \hspace*{\mdf@margin}% - \hspace*{\mdf@linewidth}% - \md@frame@rightline@middle% - }% -} diff --git a/Master/texmf-dist/tex/latex/mdframed/md-tikz-1.mdf b/Master/texmf-dist/tex/latex/mdframed/md-tikz-1.mdf deleted file mode 100644 index e4e0b653864..00000000000 --- a/Master/texmf-dist/tex/latex/mdframed/md-tikz-1.mdf +++ /dev/null @@ -1,143 +0,0 @@ -%%==================================================%% -%%= 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. - - -%%Allgemeine Einstellungen fuer tikz -\def\md@tikz@settings{% - \setlength{\mdf@innerlinewidth@tikz}{\mdf@innerlinewidth}% - \setlength{\mdf@outerlinewidth@tikz}{\mdf@outerlinewidth}% - \setlength{\mdf@middlelinewidth@tikz}{\mdf@middlelinewidth}% -%wenn das Innere der Doppellinie 0pt breit ist, muss Grenze zwischen innerer und äußerer Linie einer Farbe zugeordnet werden - \ifdimequal{\mdf@middlelinewidth@tikz}{\z@}% - {\ifdimequal{\mdf@innerlinewidth@tikz}{\z@}% - {\ifdimequal{\mdf@outerlinewidth@tikz}{\z@}% - {\let\mdf@middlelinecolor\mdf@backgroundcolor}% - {\let\mdf@middlelinecolor\mdf@outerlinecolor}% - }% - {\let\mdf@middlelinecolor\mdf@innerlinecolor}% - }{}% - \ifdimequal{\mdf@innerlinewidth@tikz}{\z@}% - {\ifdimequal{\mdf@outerlinewidth@tikz}{\z@}% - {\ifdimequal{\mdf@middlelinewidth@tikz}{\z@}% - {}% - {\let\mdf@middlelinecolor\mdf@linecolor}% - }% - {}% - }{}% - \setlength\mdf@xmargin@tikz{\mdf@margin}% % links und rechts - \setlength\mdf@ymargin@tikz{0.4\baselineskip}% % oben und unten - \tikzset{mdftext/.style={inner sep=0pt,outer sep=0pt}}%,font=\color{\mdf@fontcolor} - \tikzset{mdfcorners/.style={rounded corners=\mdf@roundcorner}}% - \tikzset{mdfbackground/.style={fill=\mdf@backgroundcolor}}% - \ifdimgreater{\mdf@outerlinewidth@tikz}{\z@}% - {\tikzset{mdfborderA/.style={draw=\mdf@outerlinecolor,line width=2\mdf@outerlinewidth@tikz+\mdf@middlelinewidth@tikz}}}% - {\tikzset{mdfborderA/.style={}}}% - \ifdimgreater{\mdf@innerlinewidth@tikz}{\z@}% - {\tikzset{mdfborderI/.style={draw=\mdf@innerlinecolor,line width=2\mdf@innerlinewidth@tikz+\mdf@middlelinewidth@tikz}}}% - {\tikzset{mdfborderI/.style={}}}% - \tikzset{mdfmiddle/.style={draw=\mdf@middlelinecolor,line width=\mdf@middlelinewidth@tikz}}% - % bei abgerundeten Ecken Kontrolle, dass der Rahmen nicht zu dicht an der Textbox ist - \setlength{\mdf@rounded@tikz}{\mdf@roundcorner}% - \pgfmathsetlengthmacro\r{\mdf@rounded@tikz/3}% - \ifdimless{\mdf@ymargin@tikz}{\r}{\setlength\mdf@ymargin@tikz{\r}}{}% - %\ifdimless{\mdf@xmargin@tikz}{\r}{\setlength\mdf@xmargin@tikz{\r}}{}% -} -% -\def\md@putbox@single{% - \leftline{\null\hspace*{\mdf@leftmargin}%% - \md@tikz@settings% - \setlength\mdfboxwidth{\wd\@tempboxa}% - \setlength\mdfboxheight{\ht\@tempboxa}% - \begin{tikzpicture} - \coordinate(O)at(0,0); - \pgfmathsetlengthmacro\x{\mdfboxwidth+2*\mdf@xmargin@tikz+2*\mdf@innerlinewidth@tikz+\mdf@middlelinewidth@tikz} - \pgfmathsetlengthmacro\y{\mdfboxheight+2*\mdf@ymargin@tikz+2*\mdf@innerlinewidth@tikz+\mdf@middlelinewidth@tikz} - \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]at(0.5*\x,0.5*\y){\box\@tempboxa}; - \end{tikzpicture}% - } -} - -\def\md@putbox@first{% - \leftline{\null\hspace*{\mdf@leftmargin}%% - \md@tikz@settings% - \setlength\mdfboxwidth{\wd\tw@}% - \setlength\mdfboxheight{\ht\tw@}% - \begin{tikzpicture} -% \draw[use as bounding box,white] (0,0) rectangle (% -% \mdfboxwidth+2*\mdf@xmargin@tikz+2*\mdf@innerlinewidth@tikz+\mdf@middlelinewidth@tikz+\mdf@outerlinewidth@tikz,% -% \mdfboxheight+2\mdf@ymargin@tikz+\mdf@innerlinewidth@tikz+0.5\mdf@middlelinewidth@tikz); - \coordinate(O) at (0,0); - \pgfmathsetlengthmacro\x{\mdfboxwidth+2*\mdf@xmargin@tikz+2*\mdf@innerlinewidth@tikz+\mdf@middlelinewidth@tikz} - \pgfmathsetlengthmacro\y{\mdfboxheight+2\mdf@ymargin@tikz+\mdf@innerlinewidth@tikz+0.5*\mdf@middlelinewidth@tikz} - \coordinate(P)at(\x,\y-0.8\mdf@ymargin@tikz); - \clip(-\mdf@outerlinewidth@tikz-0.5*\mdf@middlelinewidth@tikz,0)% - rectangle(\x+\mdf@outerlinewidth@tikz+0.5*\mdf@middlelinewidth@tikz,% - \y+\mdf@outerlinewidth@tikz+0.5*\mdf@middlelinewidth@tikz); - \begin{scope} - \clip[preaction=mdfborderA][postaction={mdfbackground,mdfborderI}][mdfcorners](O)--(O|-P)--(P)--(P|-O); - \end{scope} - \path[mdfmiddle,mdfcorners](O)--(O|-P)--(P)--(P|-O); - \node[mdftext]at(0.5*\x,0.5*\y-0.5*\mdf@innerlinewidth@tikz-0.25*\mdf@middlelinewidth@tikz-0.8\mdf@ymargin@tikz){\box\tw@}; - \end{tikzpicture}% - } -} - - -\def\md@putbox@middle{% - \leftline{\null\hspace*{\mdf@leftmargin}%% - \md@tikz@settings% - \setlength\mdfboxwidth{\wd\tw@}% - \setlength\mdfboxheight{\ht\tw@}% - \setlength{\mdf@ymargin@tikz}{0.4\baselineskip} - \begin{tikzpicture} - \coordinate(O)at(0,0); - \pgfmathsetlengthmacro\x{\mdfboxwidth+2*\mdf@xmargin@tikz+2*\mdf@innerlinewidth@tikz+\mdf@middlelinewidth@tikz} - \pgfmathsetlengthmacro\y{\mdfboxheight% - +2*\mdf@ymargin@tikz% - +4*\mdf@innerlinewidth@tikz% - +2*\mdf@middlelinewidth@tikz% - +0*\mdf@outerlinewidth@tikz} - \coordinate(P)at(\x,\y); - \clip(-\mdf@outerlinewidth@tikz-0.5*\mdf@middlelinewidth@tikz,2*\mdf@outerlinewidth@tikz+\mdf@middlelinewidth@tikz)% - rectangle(\x+\mdf@outerlinewidth@tikz+0.5*\mdf@middlelinewidth@tikz,\y-2*\mdf@outerlinewidth@tikz-\mdf@middlelinewidth@tikz); - \begin{scope} - \clip[preaction=mdfborderA][postaction={mdfbackground,mdfborderI}](O)--(O|-P)--(P)--(P|-O); - \end{scope} - \path[mdfmiddle](O)--(O|-P)--(P)--(P|-O); - \node[mdftext,]at(0.5*\x,0.5*\y){\box\tw@}; - \end{tikzpicture}% - } -} - -\def\md@putbox@second{% - \leftline{\null\hspace*{\mdf@leftmargin}%% - \md@tikz@settings - \setlength\mdfboxwidth{\wd\@tempboxa}% - \setlength\mdfboxheight{\ht\@tempboxa}% - \begin{tikzpicture} - \coordinate(O)at(0,0); - \pgfmathsetlengthmacro\x{\mdfboxwidth+2*\mdf@xmargin@tikz+2*\mdf@innerlinewidth@tikz+\mdf@middlelinewidth@tikz} - \pgfmathsetlengthmacro\y{\mdfboxheight+1*\mdf@ymargin@tikz+\mdf@innerlinewidth@tikz+0.5*\mdf@middlelinewidth@tikz} - \coordinate(P)at(\x,\y+\mdf@ymargin@tikz); - \clip(-\mdf@outerlinewidth@tikz-0.5*\mdf@middlelinewidth@tikz,-\mdf@outerlinewidth@tikz-0.5*\mdf@middlelinewidth@tikz)% - rectangle(\x+\mdf@outerlinewidth@tikz+0.5*\mdf@middlelinewidth@tikz,\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] at (0.5*\x,0.5*\y+0.5*\mdf@innerlinewidth@tikz+0.25*\mdf@middlelinewidth@tikz+0.25*\mdf@ymargin@tikz){\box\@tempboxa}; - \end{tikzpicture}% - } -} diff --git a/Master/texmf-dist/tex/latex/mdframed/mdframed.sty b/Master/texmf-dist/tex/latex/mdframed/mdframed.sty index c4501813fd9..e93dbda1ffe 100644 --- a/Master/texmf-dist/tex/latex/mdframed/mdframed.sty +++ b/Master/texmf-dist/tex/latex/mdframed/mdframed.sty @@ -32,15 +32,25 @@ %% %% %%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>%% + +%%$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{mdframed} +\def\md@maindate@svn$#1: #2 #3 #4-#5-#6 #7 #8${#4/#5/#6\space } \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{mdframed}[2010/05/14 v4a: mdframed] +\ProvidesPackage{mdframed}[\md@maindate@svn$Id: mdframed.sty 103 2010-12-22 16:46:10Z marco $ \mdversion: \mdframedpackagename] %%==================================================%% %%=============== Benoetigte Pakete ================%% %%==================================================%% -\newcommand*\mdframedpackagename{mdframed} + \newcommand*\md@PackageWarning[1]{\PackageWarning{\mdframedpackagename}{#1}} +\newcommand*\md@PackageInfo[1]{\PackageInfo{\mdframedpackagename}{#1}} \newcommand*\md@LoadFile@IfExist[1]{% \IfFileExists{#1.sty}{% \RequirePackage{#1}% @@ -57,43 +67,15 @@ \md@LoadFile@IfExist{color} -\md@LoadFile@IfExist{tikz} + +%Eingearbeitet in Optionen +%\md@LoadFile@IfExist{pstricks} +%\md@LoadFile@IfExist{pstricks} \md@LoadFile@IfExist{etoolbox} \SetupKeyvalOptions{family=mdf,prefix=mdf@} -%%==================================================%% -%%=============== Globale Optionen ================%% -%%==================================================%% -\DeclareStringOption[0.4pt]{linewidth} -\DeclareStringOption[black]{linecolor} -\DeclareStringOption[white]{backgroundcolor} -\DeclareStringOption[black]{fontcolor} -\DeclareStringOption[20pt]{margin} -\DeclareStringOption[\z@]{skipabove} -\DeclareStringOption[\z@]{skipbelow} -\DeclareStringOption[none]{xcolor} - -\DeclareStringOption[pt]{defaultunit} - -\DeclareStringOption[\z@]{leftmargin} -\DeclareStringOption[\z@]{rightmargin} - -\DeclareBoolOption{ntheorem} - -%%Optionen fuer tikz -\DeclareStringOption[0]{style} -\DeclareStringOption[\z@]{roundcorner} -\DeclareStringOption[\z@]{innerlinewidth} -\DeclareStringOption[\z@]{outerlinewidth} -\DeclareStringOption[\mdf@linewidth]{middlelinewidth} - -\DeclareStringOption[\mdf@linecolor]{innerlinecolor} -\DeclareStringOption[\mdf@linecolor]{outerlinecolor} -\DeclareStringOption[\mdf@backgroundcolor]{middlelinecolor} - -\ProcessKeyvalOptions* %%==================================================%% %%========Hilfsmakro zur Bestimmung ob Laenge=======%% %%============= IDEE: Martin Scharrer ==============%% @@ -117,311 +99,452 @@ } \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% +%%} %%==================================================%% -%%========Sicherstellen der key-value-Syntax========%% +%%==================== Optionen ====================%% %%==================================================%% -\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 - } -} +%Festlegung welcher Stildatei +%% 0 := tex-Kommandos -- rule +%% 1 := tikz +%% 2 := tikz-erweitert +%% 3 := pstricks-einfach +%% 4 := pstricks-erweitert +\DeclareStringOption[0]{style} -%%%Laengentests -%%\mdf@linewidth -\begingroup -\let\@tempa\mdf@linewidth -\md@iflength{\@tempa}{}{\global\edef\mdf@linewidth{\the\md@templength}} -\endgroup - -%%\mdf@margin -\begingroup -\let\@tempa\mdf@margin -\md@iflength{\@tempa}{}{\global\edef\mdf@margin{\the\md@templength}} -\endgroup - -%%\mdf@skipabove -\begingroup -\let\@tempa\mdf@skipabove -\md@iflength{\@tempa}{}{\global\edef\mdf@skipabove{\the\md@templength}} -\endgroup - -%%\mdf@skipbelow -\begingroup -\let\@tempa\mdf@skipbelow -\md@iflength{\@tempa}{}{\global\edef\mdf@skipbelow{\the\md@templength}} -\endgroup - -%%\mdf@leftmargin -\begingroup -\let\@tempa\mdf@leftmargin -\md@iflength{\@tempa}{}{\global\edef\mdf@leftmargin{\the\md@templength}} -\endgroup - -%%\mdf@rightmargin -\begingroup -\let\@tempa\mdf@rightmargin -\md@iflength{\@tempa}{}{\global\edef\mdf@rightmargin{\the\md@templength}} -\endgroup - -%%\mdf@roundcorner -\begingroup -\let\@tempa\mdf@roundcorner -\md@iflength{\@tempa}{}{\global\edef\mdf@roundcorner{\the\md@templength}} -\endgroup - -%%\mdf@innerlinewidth -\begingroup -\let\@tempa\mdf@innerlinewidth -\md@iflength{\@tempa}{}{\global\edef\mdf@innerlinewidth{\the\md@templength}} -\endgroup - -%%\mdf@outerlinewidth -\begingroup -\let\@tempa\mdf@outerlinewidth -\md@iflength{\@tempa}{}{\global\edef\mdf@outerlinewidth{\the\md@templength}} -\endgroup - -%%\mdf@middlelinewidth -\begingroup -\let\@tempa\mdf@middlelinewidth -\md@iflength{\@tempa}{}{\global\edef\mdf@middlelinewidth{\the\md@templength}} -\endgroup +\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}% + } -%%==================================================%% -%%========Sicherstellen der key-value-Syntax========%% -%%================ HIER DIE LOKALEN ================%% -%%==================================================%% -\define@key{mdfl}{linewidth}[\mdf@linewidth]{% -\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 +%%%%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} } -\define@key{mdfl}{rightmargin}[\mdf@rightmargin]{% -\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 +\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} } -\define@key{mdfl}{leftmargin}[\mdf@leftmargin]{% -\def\@tempa{#1} -\md@iflength{\@tempa}% - {\global\edef\mdfl@leftmargin{\the\md@templength}}% - {\global\edef\mdfl@leftmargin{\the\md@templength}} +\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} } -\define@key{mdfl}{margin}[\mdf@margin]{% -\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 +\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} +} -\define@key{mdfl}{skipbelow}[\mdf@skipbelow]{% -\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 +\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} } -\define@key{mdfl}{skipabove}[\mdf@skipabove]{% -\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 +\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} } -\define@key{mdfl}{backgroundcolor}[\mdf@backgroundcolor]{% -\def\@tempa{#1} -\let\mdf@backgroundcolor\@tempa\relax -} -\define@key{mdfl}{linecolor}[\mdf@linecolor]{% -\def\@tempa{#1} -\let\mdf@linecolor\@tempa\relax +\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} } -\define@key{mdfl}{fontcolor}[\mdf@fontcolor]{% -\def\@tempa{#1} -\let\mdf@fontcolor\@tempa\relax +\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} } -\define@key{mdfl}{defaultunit}[\mdf@defaultunit]{% -\def\@tempa{#1} -\let\mdf@defaultunit\@tempa\relax -} -\define@key{mdfl}{ntheorem}[false]{% - \def\@tempa{#1} - \def\md@true{true} - \ifx\@tempa\md@true\relax - \mdf@ntheoremtrue% - \fi +\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} } -\define@key{mdfl}{roundcorner}[\mdf@roundcorner]{% -\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 -} -\define@key{mdfl}{style}[\mdf@style]{% - \def\@tempa{#1} - \let\mdf@style\@tempa\relax +\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} } -\define@key{mdfl}{innerlinewidth}[\mdf@innerlinewidth]{% -\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 + +%% 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}% +}{}% } -\define@key{mdfl}{outerlinewidth}[\mdf@outerlinewidth]{% -\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 +\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} } -\define@key{mdfl}{middlelinewidth}[\mdf@middlelinewidth]{% -\def\@tempa{#1} -\md@iflength{\@tempa}% - {\global\edef\mdfl@middlelinewidth{\the\md@templength}}% - {\global\edef\mdfl@middlelinewidth{\the\md@templength}} +\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} } -\define@key{mdfl}{middlelinecolor}[\mdf@middlelinecolor]{% -\def\@tempa{#1} -\let\mdf@middlelinecolor\@tempa\relax +\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} } -\define@key{mdfl}{outerlinecolor}[\mdf@outerlinecolor]{% -\def\@tempa{#1} -\let\mdf@outerlinecolor\@tempa\relax +\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} } -\define@key{mdfl}{innerlinecolor}[\mdf@innerlinecolor]{% -\def\@tempa{#1} -\let\mdf@innerlinecolor\@tempa\relax +%Unterstuetzung der Optionen fuer pstricks +\def\mdf@psset@local{} +\define@key{mdf}{pstrickssetting}{% + \def\mdf@psset@local{#1} } +%%Defaulunit +\DeclareStringOption[pt]{defaultunit} -%%==================================================%% -%%======= Laden der gewuenschten Style-Datei =======%% -%%==================================================%% -\ifcase\mdf@style\relax - \input{md-tikz-0.mdf}% - \or - \input{md-tikz-1.mdf}% - \else - \IfFileExists{md-tikz-\mdf@style.mdf}{% - \input{md-tikz-\mdf@style.mdf}% - }{% - \input{md-tikz-1.mdf}% - \md@PackageWarning{The style number \mdf@style does not exist\MessageBreak - mdframed ues instead style=1 \mdframedpackagename}% - }% -\fi% - +%%mdframed umfasst ntheorem-Umgebung ja/nein +\DeclareBoolOption{ntheorem} -%%==================================================%% -%%==Deklaration diverser Eingabe und Hilfsparameter=%% -%%==================================================%% +\DeclareBoolOption[true]{topline} +\DeclareBoolOption[true]{leftline} +\DeclareBoolOption[true]{bottomline} +\DeclareBoolOption[true]{rightline} -\newcommand\mdframedabovespace[1]{\def\md@space@above@frame{#1}} -\mdframedabovespace{0pt} %% Abstand vor der Frame-Umgebung +%%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} -\newskip\md@temp@skip@a \md@temp@skip@a\z@ %% Hilfslaenge -\newlength{\fp@putboxa@length@md} -\setlength{\fp@putboxa@length@md}{\z@} %% Hilfslaenge -\newif\ifmd@content@split \md@content@splitfalse %% If-Abfrage, die prueft, ob der Inhalt von mdframed geteilt wird - %% default - wird nicht geteilt +\DeclareDefaultOption{% + \md@PackageWarning{Unknown Option '\CurrentOption' for mdframed}} -\newif\ifmd@box@empty \md@box@emptyfalse %% If-Abfrage, die prueft, ob der Inhalt einer Box leer ist - %% default - ist nicht leer -\newif\ifmd@more@two \md@more@twofalse %% If-Abfrage ob ueber mehr als zwei Seiten gespittet wird +%%==================================================%% +%%========== ENDE DER OPTIONENDEKLARATION ==========%% +%%==================================================%% +\ProcessKeyvalOptions* +\newcommand*{\mdfsetup}{\setkeys{mdf}} +\mdfsetup{globalstyle=0} -\newlength{\mdf@tikz@linewidth} %% Liniendicke fuer tikz +%%==================================================%% +%%========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 + } +} -\newlength\mdf@xmargin@tikz %% Berechnungsvariable tikz -\newlength\mdf@ymargin@tikz %% Berechnungsvariable tikz -\newlength\mdfboxheight %% Berechnungsvariable tikz -\newlength\mdfboxwidth %% Berechnungsvariable tikz -\newlength{\mdf@rounded@tikz} %% Rundungsparameter tikz +%%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-frame-0.mdf}% + \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}% + \else% + \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% -\newlength\mdf@outerlinewidth@tikz %% Laengenparameter tikz -\newlength\mdf@innerlinewidth@tikz %% Laengenparameter tikz -\newlength\mdf@middlelinewidth@tikz %% Laengenparameter tikz %%==================================================%% %%===Globale Umgebung -- noch keine Modifikation ===%% %%==================================================%% - -\newenvironment{mdframed}[1][]% default-Umgebung - {\trivlist\item\relax\endtrivlist% - \vskip -2\topsep% - \vskip -2\parskip% - \vskip -2\partopsep% - \vskip -2\lineskip% - \vskip -0.6\baselineskip% - \setkeys{mdfl}{#1}% - \vspace*{\mdf@skipabove}% - \ifmdf@ntheorem% - \ifdefined\theorempreskipamount% - \theorempreskipamount0pt% - \theorempostskipamount0pt% - \else% - {\md@PackageWarning{You have not loaded ntheorem yet}}% - \fi% +\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% - \ifnumless{\mdf@style}{1}% - {\renewcommand{\mdf@innerlinewidth}{\z@}% - \renewcommand{\mdf@middlelinewidth}{\mdf@linewidth}% - \renewcommand{\mdf@outerlinewidth}{\z@}% + \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% }% - {\endmdframed@global@env\addvspace{\mdf@skipbelow}} +\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 ===================%% @@ -433,51 +556,69 @@ %%==================================================%% -%%================= Breite der BOX =================%% -%%==================================================%% -\def\md@margin@equation{% %% Berechnung der moeglichen Breite fuer den Rahmeninhalt - \advance\hsize by - \mdf@margin% %% hsize minus Randvorgabe - \advance\hsize by - \mdf@margin% %% hsize minus Randvorgabe - \advance\hsize by - \mdf@middlelinewidth% %% hsize minus Linienbreite (mitte) - \advance\hsize by - \mdf@middlelinewidth% %% hsize minus Linienbreite (mitte) - \ifnumequal{1}{\mdf@style}{% - \advance\hsize by - \mdf@innerlinewidth% %% hsize minus Linienbreite (innen) - \advance\hsize by - \mdf@innerlinewidth% %% hsize minus Linienbreite (innen) - \advance\hsize by - \mdf@outerlinewidth% %% hsize minus Linienbreite (aussen) - \advance\hsize by - \mdf@outerlinewidth% %% hsize minus Linienbreite (aussen) - }{}% - \advance\hsize by - \mdf@leftmargin% %% hsize minus gewuenschten linken Abstand - \advance\hsize by - \mdf@rightmargin% %% hsize minus gewuenschten rechten Abstand - \advance\hsize by - \width\md@arrayparboxrestore}%% Beruecksichtigung, dass Auszaehlung bzw. list-Umgebung enthalten - -%%==================================================%% -%%===Bestimmung des Platzbedarfes fuer den Rahmen===%% -%%==================================================%% -\newskip\md@temp@frame@hsize -\newskip\md@temp@frame@vsize -\def\md@sizeofframe{\begingroup - \setbox\z@\vbox{% - \vskip-5in \hbox{\hskip-5in - \fboxsep2\baselineskip\fboxrule\mdf@linewidth\fbox% - {\hbox{\vrule \@height 4.7in \@depth.3in \@width 5in}}}% - \vskip\z@skip}% - \global\md@temp@frame@hsize\wd\z@ \global\md@temp@frame@vsize\ht\z@ - \endgroup +%%================= 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}% + }% } %%==================================================%% -%%============Start der globalen Umgebung===========%% -%%==================================================%% +%================= 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% +} + + -\let\md@hsize\hsize -\def\mdframed@global@env{\par% -% %Bestimmung zusatzlichen Freiraumes gemaess Vorgabe des Rahmens - \let\width\md@temp@frame@hsize - \let\height\md@temp@frame@vsize - % Einfuegen von Strafpunkten und Abstaenden - \begingroup - \skip@\lastskip - \if@nobreak + +%%==================================================%% +%%========= 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 @@ -490,59 +631,70 @@ \edef\@tempa{\the\skip@}% \edef\@tempb{\the\z@skip}% \ifx\@tempa\@tempb %%% ??????? - \penalty-30 + \penalty-30% \else - \vskip-\skip@ - \penalty-30 - \vskip\skip@ + \vskip-\skip@% + \penalty-30% + \vskip\skip@% \fi \fi \fi - \penalty\z@ + \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@ + \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 + \nobreak \vskip 2\baselineskip \vskip\height% %%%\@M=10000 + \penalty9999 \vskip -2\baselineskip \vskip-\height% \penalty9999 % updates \pagetotal -%%%%SIEHE LATEX.ltx -- ersten Absatz ignorieren -\def\@doendpe{\@endpetrue - \def\par{\@restorepar\par\@endpefalse}\everypar - {{\setbox\z@\lastbox}\everypar{}\@endpefalse}} -%%%%%%%%%%%%%%%%%%%%%%%%%%% - \md@adjheight% - \md@margin@equation% - \setbox\@tempboxa\vbox\bgroup\@doendpe% - \begingroup% %%% zweites begingroup noetig, dass fontcolor gesetzt werden kann - \color{\mdf@fontcolor}% %%% Setzen der Schriftfarbe - \textwidth\hsize \columnwidth\hsize% -} +}% + + +%%==================================================%% +%%============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@ %%%\z@=0 - \hrule\@width\md@hsize\@height\z@% + \kern\z@% + \hrule\@width\md@horizontalspaceofbox\@height\z@% \penalty-100 % put depth into height \endgroup% \egroup% \begingroup% - \color{\mdf@fontcolor} + \mdf@@fontcolor% + \setbox\@tempboxa\vbox{\unvbox\@tempboxa} \md@put@frame% \endgroup% } - - %%==================================================%% %%===========Ausgaberoutine -> Berechnung===========%% %%==================================================%% @@ -555,188 +707,147 @@ %% 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 - \ifdim\pagegoal=\maxdimen \pagegoal\vsize \fi %%%% \pagegoal aktuelle Seitenhoehe für den Seitenumbruch - %%%% Der Wert wird mit \vsize initialisiert - %%%% \pagegoal - \pagetotal ist dann der noch freie Raum auf einer Seite - %%%% - \ifinner %Rekursion-sind in der Box %%%% testet auf internal mode: Dieser ist im internal vertical mode, - %%%% also im Innern einer \vbox, oder im restricted horizontal mode, - %%%% also im Innern einer \hbox, gesetzt. - \md@putbox@second %%%% Rahmen um den zweiten Teil der Box "noch zu bearbeiten" -% \md@afterframe %%%% siehe Anweisung - \else %Noch keinen Teil der Box gesetzt. - \dimen@\pagegoal - \advance\dimen@-\pagetotal %%% \dimen@ hat jetzt den noch freien Platz auf der Seite gespeichert - \advance\dimen@-\topskip %%% \dime@ Minus \topskip -%%%Beginn der Beruecksichtigung fuer den Platz der Linienbreite: -\ifmd@more@two% Abfrage ob eine mittlere Seite vorliegt -\else %keine Mittlere Seite - \@tempskipa=\mdf@roundcorner - \divide\@tempskipa by 3 - \ifdimless{0.4\baselineskip}{\@tempskipa}{% - \advance\dimen@ -0.5\@tempskipa}% - {\advance\dimen@ 0.4\baselineskip} - \advance\dimen@ -\mdf@innerlinewidth %%% Berucksichtigen, dass oben und untern keine Linie -- somit mehr Platz - \advance\dimen@ -\mdf@outerlinewidth %%% Berucksichtigen, dass oben und untern keine Linie -- somit mehr Platz - \advance\dimen@ -\mdf@middlelinewidth %%% Berucksichtigen, dass oben und untern keine Linie -- somit mehr Platz - \advance\dimen@ -0.4\baselineskip% -\fi -\ifnum\mdf@style=0\relax - \ifmd@more@two - \else - \advance\dimen@ \mdf@linewidth - \fi -\fi - \ifdim\dimen@<2\baselineskip %%% Ist freier Platz < 2 Zeilenabstaenden, zu wenig Platz - \clearpage %%% Beginne neue Seite - \md@put@frame % %%% Rufe \md@put@frame erneut auf - \else %%% Es ist akzeptabler Platz auf der Seite -% \begingroup %%% -% \advance\dimen@0.1\pageshrink %%% \pageshrink ist ein internes Register fuer den Seitenumbruch. Es ent- - %%% haelt den akkumulierten Schrumpfanteil auf der aktuellen Seite; - %%% das heisst die Laenge, um die der Leerraum auf der aktuellen Seite - %%% bei Bedarf noch zusammengeschoben werden kann; - %%% Somit ist hier der maximale Seitenplatz ermittelt - \expandafter%%% ???? -% \endgroup - \ifdim\dimen@>\ht\@tempboxa %%% Pruefe, ob Box noch auf Seite passt - \ifmd@content@split% %%% Pruefe ob \@tempboxa gesplittet wurde - \md@putbox@second% %%% Wurde gesplittet- nehme zweiten Teil der Umrandung - \else% %%% - \md@putbox@single% %%% Box wurde nicht gesplitter - einfacher Rahmen - \fi% - \md@afterframe %%% siehe Anweisung - \else %%%Box muss gesplittet werden - \setbox\@tempboxa\vbox{ %%% Simuliere den Rahmen und die Flexibilitaet der Seite - %%% \pagestretch ist ein internes Register fuer den Seitenumbruch. Es ent- - %%% haelt den akkumulierten Zuwachsanteil auf der aktuellen Seite; - %%% das heisst die Laenge, um die der Leerraum auf der aktuellen Seite - %%% bei Bedarf noch auseinander gezogen werden kann; - \vskip \z@ \@plus0.2\pagestretch \@minus.3\pageshrink - \kern137sp\kern-137sp\penalty-30 %%% ???? - \unvbox\@tempboxa} %%% - \edef\md@resto@set{\boxmaxdepth\the\boxmaxdepth %%% \boxmaxdepth ist die maximale Tiefe (depth) einer \vbox, - %%% die diese annehmen darf. Dieser Wert ist mit \maxdimen, - %%% das heisst 16383,99999 pt, vorbelegt. Damit duerffen Boxen - %%% beliebige Unterlaengen (‘depth’) besitzen. - \splittopskip\the\splittopskip}% %%% \splittopskip ist der Leerraum, - %%% der automatisch zu Beginn einer abgesplitteten Box gesetzt wird. - \boxmaxdepth\z@ \splittopskip\z@ %%% - %%% Hier wird die \@tempboxa gesplittet - \setbox\tw@\vsplit\@tempboxa to 1\dimen@ %%% \tw@ enthaelt oberen Teil der \@tempboxa mit der Groesse \dimen@ - \ifdim\ht\@tempboxa=\z@ - \md@box@emptytrue - \fi -| \toks99\expandafter{\splitfirstmark}% %%% \splitfirstmark internes Register, welches den mittels - %%% \mark gesetzten Text ausgibt, der bei der letzten \vsplit-Operation - %%% gefunden wurde. Dies ist der erste \mark-Text im abgesplitteten Text - -| \toks98\expandafter{\splitbotmark} %%% splitbotmark internes Register, welches den mittels \mark gesetzten - %%% Text ausgibt, der bei der letzten \vsplit-Operation gefunden wurde. - %%% Dies ist der letzte \mark-Text im abgesplitteten Text - \setbox\tw@\vbox{\unvbox\tw@} %%% Natuerliche Groesse der ersten Teilbox erhalten - % If the split-to size > (\vsize-\topskip), then set box to full size - %%% \topskip Ist der Mindestabstand, den die Grundlinie der ersten Zeile (Box) einer jeden Seite vom Seitenanfang haben soll. - \begingroup - \advance\dimen@\topskip %%% Addiere zum noch freien Platz auf der Seite topskip - \expandafter\endgroup %%% ???? - \ifdim\dimen@>\pagegoal %%% Ist \dimen@ groesser der Seitenhoehe - \dimen@ii\pagegoal %%% \dimen@ii wird zur Seitenhoehe - \advance\dimen@ii -\topskip %%% \dimen@ii minus \topskip - \advance\dimen@ii \md@space@above@frame %%% \dimen@ii bekommt zusaetzlich den gewuenschten Oberen Abstand - \else %%% \dimen@ ist kleiner als die aktuelle Seitenhoehe - %%% Es ist ausreichend Platz auf der Seite - \advance\dimen@.9\pageshrink %%% siehe oben -> \dimen@ wird vergroessert - \ifdim\ht\tw@>\dimen@ %%% Ist die Hoehe der abgesplitteten Box groesser als \dimen@ - \dimen@ii=\dimen@ - \else %%% abgesplittete Box ist kleiner - \dimen@ii\ht\tw@ %%% \dimen@ -> setze \dimen@ii auf aktuelle Boxgroesse - \fi - \fi -%% % Re-box contents to desired size \dimen@ii -%% \advance\dimen@ii -\md@frh - \setbox\tw@\vbox to\dimen@ii % %%% Setze die abgesplittete Box auf \dimen@ii - \bgroup - \vskip -\z@ \@plus-\pagestretch \@minus-.8\pageshrink %%% Entferne den simulierten Rahmen und Seitenflexibilitaet - \unvbox\tw@ \unpenalty\unpenalty %%% \unpenalty entfernt einen vorangehenden \penalty - %%% in der Arbeitsliste, falls ein solcher vorhanden ist - \ifdim\lastkern=-137sp %%% \lastkern liefert, falls das letzte Element eine \kern-Operation - %%% war, dieses aus. Das Element bleibt aber erhalten. - %%% Komplette Box geht auf naechste Seite - % need work here??? - \egroup %%%Moegliches egroup - \md@resto@set - \clearpage %%% ??? \eject % (\vskip for frame size was discarded) - %\md@adjheight - \md@put@frame % INSERTED ??? - \else % Bekommt Material fuer das Abspalten am Kopf (Got material split off at the head) - \egroup %%%Moegliches egroup - \md@resto@set - \ifvoid\@tempboxa% %%% prueft, ob die \tempbox@ (abgesplitteter unterer Teil) leer ist. - \setbox\@tempboxa\box\tw@ - \ifmd@box@empty - \md@putbox@single% - \else% - \md@putbox@second% - \fi - \md@afterframe - \else % Es ist wirklich gesplittet mit oberem Teil in \tw@ und unterem Teil in \tempboxa@ - \ifdim\wd\tw@>\z@ %%%Ist der Obere Teil breiter als 0pt - \wd\tw@\wd\@tempboxa %%%Setze die Breite des oberen Teils auf die Breite des unteren Teils - \global\md@content@splittrue %%%% Merke, dass Box gesplittet wird - %%%% gebe den oberen Teil der Box aus - \ifmd@more@two% - \md@putbox@middle% %%% Ausgabe der ersten Teilbox - \else% - \md@putbox@first% %%% Ausgabe der ersten Teilbox - \md@more@twotrue% - \fi% - \else %%Oberer Teil ist Leer - \box\tw@ %%% Ausgabe und Leerung - \fi - \hrule \@height\z@ \@width\hsize - \vfill\eject - %\clearpage - \md@adjheight - \md@put@frame - \fi - \fi - \fi - \fi -\fi -} - +\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 + } +} -%%==================================================%% -%%======Deklaration nach der Ausgabe einer Box======%% -%%==================================================%% -\def\md@afterframe{% - \global\md@content@splitfalse - \global\md@box@emptyfalse - \global\md@more@twofalse - \nointerlineskip \null %{\showoutput \showlists} - \penalty-30 \vskip\topsep \relax +\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}% } -%%==================================================%% -%%=====Berechnung bzw. Festlegung des Abstandes=====%% -%%==================================================%% -\def\md@adjheight{% - \ifdim\md@space@above@frame>\z@ - \vbox to 1\md@space@above@frame{}% get proper baseline skip from above. - \nobreak \nointerlineskip - \vskip-1\md@space@above@frame - \penalty\@M% - \else - \vbox to \md@space@above@frame{}% get proper baseline skip from above. - \penalty\@M \nointerlineskip - \vskip-1\md@space@above@frame - \penalty\@M% - \fi -} % useful for tops of pages + +\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 +} @@ -769,7 +880,7 @@ % 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\hsize + \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. @@ -778,7 +889,7 @@ %%% 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=\hsize + \linewidth=\md@horizontalspaceofbox \fi \sloppy } @@ -790,12 +901,18 @@ \DisableKeyvalOption[% action=warning, package=mdframed, -]{mdf}{style}% +]{mdf}{globalstyle}% \DisableKeyvalOption[% action=warning, package=mdframed, ]{mdf}{xcolor}% + + \endinput -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +EOF +EOF +EOF + -- cgit v1.2.3