summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/mdframed
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-12-10 01:05:49 +0000
committerKarl Berry <karl@freefriends.org>2011-12-10 01:05:49 +0000
commit04a95cdae99b26ab45f6f002647b57d78eebf3c0 (patch)
treeee99a8ec53b89a2a0af8b47d0167a63f32502036 /Master/texmf-dist/source/latex/mdframed
parent905da44baf20b22b84b86c1a4cded85beb111531 (diff)
mdframed (9dec11)
git-svn-id: svn://tug.org/texlive/trunk@24808 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/mdframed')
-rw-r--r--Master/texmf-dist/source/latex/mdframed/mdframed-examples.dtx923
-rw-r--r--Master/texmf-dist/source/latex/mdframed/mdframed.dtx3865
2 files changed, 4788 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/mdframed/mdframed-examples.dtx b/Master/texmf-dist/source/latex/mdframed/mdframed-examples.dtx
new file mode 100644
index 00000000000..5ca2c62ccef
--- /dev/null
+++ b/Master/texmf-dist/source/latex/mdframed/mdframed-examples.dtx
@@ -0,0 +1,923 @@
+% \iffalse meta-comment
+% !TEX program = pdfLaTeX
+%<*internal>
+\iffalse
+%</internal>
+%<*readme>
+================================================================
+
+Working with the command \fbox or \fcolorbox, one has to
+handle page breaks by hand. The present package defines the
+environment mdframed which automatically deals with page breaks.
+
+
+Author's name: Marco Daniel and Elke Schubert (!new)
+License type: lppl
+
+================================================================
+%</readme>
+%<*internal>
+\fi
+\def\nameofplainTeX{plain}
+\ifx\fmtname\nameofplainTeX\else
+ \expandafter\begingroup
+\fi
+%</internal>
+%<*install>
+\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+\preamble
+----------------------------------------------------------------
+Working with the command fbox or fcolorbox, one has to
+handle page breaks by hand. The present package defines the
+environment mdframed which automatically deals with page breaks.
+
+Author's name: Marco Daniel and Elke Schubert (!new)
+License type: lppl
+\endpreamble
+\postamble
+
+================================================================
+Copyright (C) 2011 by Marco Daniel
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License (LPPL), either
+version 1.3c of this license or (at your option) any later
+version. The latest version of this license is in the file:
+
+http://www.latex-project.org/lppl.txt
+
+This work is "maintained" (as per LPPL maintenance status) by
+Marco Daniel.
+
+Have fun!
+
+================================================================
+\endpostamble
+\usedir{doc/latex/mdframed}
+\generate{\file{mdframed-example-default.tex}{\from{mdframed-examples.dtx}{mdframed-example-default}}}
+\generate{\file{mdframed-example-tikz.tex}{\from{mdframed-examples.dtx}{mdframed-example-tikz}}}
+\generate{\file{mdframed-example-pstricks.tex}{\from{mdframed-examples.dtx}{mdframed-example-pstricks}}}
+\generate{\file{mdframed-example-texsx.tex}{\from{mdframed-examples.dtx}{mdframed-example-texsx}}}
+\Msg{*********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the}
+\Msg{* following file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space documentation.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file documentation.dtx}
+\Msg{* once through LaTeX. Then, run}
+\Msg{*}
+\Msg{* \space\space makeindex -s gglo.ist -o mdframed.gls mdframed.glo}
+\Msg{* \space\space makeindex -s gind.ist mdframed.idx}
+\Msg{*}
+\Msg{* through makeIndex to produce the glossary. Finally, run LaTeX once again.}
+\Msg{* That's all!}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*********************************************************}
+%</install>
+%<install>\endbatchfile
+%<*internal>
+\ifx\fmtname\nameofplainTeX
+ \expandafter\endbatchfile
+\else
+ \expandafter\endgroup
+\fi
+%</internal>
+%<*driver>
+%%$Id: mdframed-examples.dtx 270 2011-12-09 12:19:09Z marco $
+\documentclass[parskip=false,11pt,]{ltxmdf}
+\usepackage{mdframed}
+\ltxmdfsetifoot $Id: mdframed-examples.dtx 270 2011-12-09 12:19:09Z marco $
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{717}
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \GetFileInfo{mdframed-examples}
+%
+%
+%
+% \title{Examples of the \Pack{mdframed} package}
+% \subtitle{auto-split frame environment}
+% \author{\href{mailto:marco.daniel@mada-nada.de}{Marco Daniel}%
+% \footnote{With thanks to Heiko Oberdiek, Rolf Niepraschk,
+% Martin Scharrer and Herbert Voss.\newline Sorry for bad English.}
+% \href{mailto:marco.daniel@mada-nada.de}{Elke Schubert}}
+% \version{\mdversion}
+% \introduction{The standard methods for framing text (\Cmd{fbox} or \Cmd{fcolorbox}) require you to handle page breaks by hand, meaning that you have to split the \Cmd{fbox} into two. The present package defines the environment \Pack{mdframed} which automatically deals with pagebreaks in framed text.\par
+% By defining new environments the user may choose between several individual designs.%
+% \par\kern.5\baselineskip\noindent
+% The dtx-file creates only the files \begin{tabular}[t]{ll}
+% \texttt{mdframed-example-default.tex} &
+% \texttt{mdframed-example-tikz.tex} \\
+% \texttt{mdframed-example-pstricks.tex} &
+% \texttt{mdframed-example-texsx.tex}
+% \end{tabular}
+% \par\kern.5\baselineskip\noindent
+% FYI:\quad\parbox[t]{.8\linewidth}{I create a repository for \Pack{mdframed} on \href{https://github.com/marcodaniel/mdframed}{github} where you can \href{https://github.com/marcodaniel/mdframed}{download} the current development status.}
+% }
+%
+%
+%
+%
+% \maketitle
+%
+%
+% \section{Motivation}
+% To complie the files use |Makefile| with |make EXAMPLES|.
+%\StopEventually{^^A
+% \PrintChanges^^A
+%}
+%\iffalse
+% \begin{macrocode}
+%<*mdframed-example-default>
+% \end{macrocode}
+%\fi
+%
+% \section{The file mdframed-example-default}
+
+% \begin{macrocode}
+%Documenation of the package mdframed
+%%$Id: mdframed-examples.dtx 270 2011-12-09 12:19:09Z marco $
+\setcounter{errorcontextlines}{999}
+\documentclass[parskip=false,english,11pt]{ltxmdf}
+\ltxmdfsetifoot $Id: mdframed-examples.dtx 270 2011-12-09 12:19:09Z marco $
+
+\usepackage{showexpl}
+\lstset{style=lstltxmdf,explpreset={pos=b,rframe={}},}
+
+\newcommand\Loadedframemethod{default}
+\usepackage[framemethod=\Loadedframemethod]{mdframed}
+
+\title{The \Pack{mdframed} package}
+\subtitle{Examples for \Opt{framemethod=\Loadedframemethod}}
+\author{\href{mailto:marco.daniel@mada-nada.de}{Marco Daniel}}
+\version{\mdversion}
+\introduction{In this document I collect various examples for \Opt{framemethod=\Loadedframemethod}.
+Some presented examples are more or less exorbitant.}
+
+\mdfsetup{skipabove=\topskip,skipbelow=\topskip}
+\newrobustcmd\ExampleText{%
+ An \textit{inhomogeneous linear} differential equation has the form
+ \begin{align}
+ L[v ] = f,
+ \end{align}
+ where $L$ is a linear differential operator, $v$ is
+ the dependent variable, and $f$ is a given non-zero
+ function of the independent variables alone.
+}
+
+\newcounter{examplecount}
+\setcounter{examplecount}{0}
+\renewcommand\thesubsection{}
+\newcommand\Examplesec[1]{%
+\stepcounter{examplecount}%
+\subsection{Example~\arabic{examplecount}~--~#1\relax}%
+}
+
+\begin{document}
+\maketitle
+\section{Loading}
+In the preamble only the package \Pack{mdframed} width the option \Opt{framemethod=\Loadedframemethod} is loaded. All other modifications will be done by \Cmd{mdfdefinestyle} or \Cmd{mdfsetup}.
+
+{\large\color{red!50!black}
+\NOTE Every \Cmd{global} inside the examples is necessary to work with the package \Pack{showexpl}.}
+
+\section{Examples}
+All examples have the following settings:
+
+\begin{tltxmdfexample}
+\mdfsetup{skipabove=\topskip,skipbelow=\topskip}
+\newrobustcmd\ExampleText{%
+An \textit{inhomogeneous linear} differential equation
+has the form
+\begin{align}
+L[v ] = f,
+\end{align}
+where $L$ is a linear differential operator, $v$ is
+the dependent variable, and $f$ is a given non-zero
+function of the independent variables alone.
+}
+\end{tltxmdfexample}
+\clearpage
+\Examplesec{very simple}
+\begin{LTXexample}
+\global\mdfdefinestyle{exampledefault}{%
+ linecolor=red,linewidth=3pt,%
+ leftmargin=1cm,rightmargin=1cm
+}
+\begin{mdframed}[style=exampledefault]
+\ExampleText
+\end{mdframed}
+\end{LTXexample}
+
+\Examplesec{hidden line + frame title}
+\begin{LTXexample}
+\global\mdfapptodefinestyle{exampledefault}{%
+ topline=false,rightline=true,bottomline=false}
+\begin{mdframed}[style=exampledefault,frametitle={Inhomogeneous linear}]
+\ExampleText
+\end{mdframed}
+\end{LTXexample}
+\clearpage
+
+\Examplesec{colored frame title}
+\begin{LTXexample}
+\renewcommand\mdframedtitleenv[1]{%
+ \colorbox{green}{%
+ \parbox{\dimexpr\linewidth-6pt\relax}%6pt=linewidth
+ {\centering\bfseries #1}}%
+ \par\kern.5\baselineskip\noindent%
+ }
+\global\mdfapptodefinestyle{exampledefault}{%
+ rightline=true,innerleftmargin=0,innerrightmargin=0}
+\begin{mdframed}[style=exampledefault,frametitle={Inhomogeneous linear}]
+\ExampleText
+\end{mdframed}
+\end{LTXexample}
+
+\Examplesec{framed picture which is centered}
+\begin{LTXexample}
+\begin{mdframed}[userdefinedwidth=6cm,align=center,
+ linecolor=blue,linewidth=4pt]
+\includegraphics[width=\linewidth]{donald-duck}
+\end{mdframed}
+\end{LTXexample}
+
+\Examplesec{theorem with separate header and the help of TikZ (complex)}
+\begin{tltxmdfexample}
+\makeatletter
+\newcounter{theo}[section]
+\newcommand*\newmdframedtitleenv[1]{%
+ \@afterindentfalse
+ {\parindent \z@
+ \setlength{\parfillskip}{\z@ plus 1fil}%
+ \mdraggedtitle\nobreak%
+ \makebox[\linewidth][l]{%
+ \hspace*{-1\mdf@innerleftmargin@length}%
+ \rlap{\color{white}%
+ \hspace*{-1\mdf@middlelinewidth@length}%
+ \rule[\mdf@middlelinewidth@length]%
+ {\dimexpr\linewidth+1\mdf@innerleftmargin@length%
+ +\mdf@innerrightmargin@length
+ +2\mdf@middlelinewidth@length\relax}%
+ {\dimexpr\ht\strutbox+.3333em\relax}%
+ }%
+ \rlap{\color{blue!20}%
+ \rule{\dimexpr\linewidth+\mdf@innerleftmargin@length%
+ +\mdf@innerrightmargin@length\relax}%
+ {\mdf@middlelinewidth@length}}%
+ \hspace*{-1\mdf@middlelinewidth@length}%
+ \tikz[remember picture,baseline]%
+ \node[,draw = none, text = black,fill = blue!20,]%
+ {\mdf@frametitlefont\strut Theorem~\thetheo#1};\relax%
+ }%
+ \par\kern.5\baselineskip}%
+ \@afterheading}
+\newenvironment{theo}[1][]{%
+ \let\mdframedtitleenv\newmdframedtitleenv%
+ \stepcounter{theo}%
+ \ifstrempty{#1}%
+ {\mdfsetup{frametitle={\strut}}}%
+ {\mdfsetup{frametitle={:~#1}}}%
+ \begin{mdframed}[innertopmargin=0pt,linecolor=blue!20,%
+ linewidth=2pt,topline=false,]%
+ }{\end{mdframed}}
+\begin{theo}[Inhomogeneous Linear]
+\ExampleText
+\end{theo}
+
+\begin{theo}
+\ExampleText
+\end{theo}
+\end{tltxmdfexample}
+\makeatletter
+\newcounter{theo}[section]
+\newcommand*\newmdframedtitleenv[1]{%
+ \@afterindentfalse
+ {\parindent \z@
+ \setlength{\parfillskip}{\z@ plus 1fil}%
+ \mdraggedtitle\nobreak%
+ \makebox[\linewidth][l]{%
+ \hspace*{-1\mdf@innerleftmargin@length}%
+ \rlap{\color{white}%
+ \hspace*{-1\mdf@middlelinewidth@length}%
+ \rule[\mdf@middlelinewidth@length]%
+ {\dimexpr\linewidth+1\mdf@innerleftmargin@length%
+ +\mdf@innerrightmargin@length
+ +2\mdf@middlelinewidth@length\relax}%
+ {\dimexpr\ht\strutbox+.3333em\relax}%
+ }%
+ \rlap{\color{blue!20}%
+ \rule{\dimexpr\linewidth+\mdf@innerleftmargin@length%
+ +\mdf@innerrightmargin@length\relax}%
+ {\mdf@middlelinewidth@length}}%
+ \hspace*{-1\mdf@middlelinewidth@length}%
+ \tikz[remember picture,baseline]%
+ \node[,draw = none, text = black,fill = blue!20,]%
+ {\mdf@frametitlefont\strut Theorem~\thetheo#1};\relax%
+ }%
+ \par\kern.5\baselineskip}%
+ \@afterheading}
+\newenvironment{theo}[1][]{%
+ \let\mdframedtitleenv\newmdframedtitleenv%
+ \stepcounter{theo}%
+ \ifstrempty{#1}%
+ {\mdfsetup{frametitle={\strut}}}%
+ {\mdfsetup{frametitle={:~#1}}}%
+ \begin{mdframed}[innertopmargin=0pt,linecolor=blue!20,%
+ linewidth=2pt,topline=false,]%
+ }{\end{mdframed}}
+
+\begin{theo}[Inhomogeneous Linear]
+\ExampleText
+\end{theo}
+
+\begin{theo}
+\ExampleText
+\end{theo}
+
+\clearpage
+\Examplesec{hide only a part of a line}
+The example below is inspired by the following post on StackExchange \href{http://tex.stackexchange.com/questions/24101/theorem-decorations-that-stay-with-theorem-environment}{Theorem decorations that stay with theorem environment}
+\begin{LTXexample}
+\makeatletter
+\newlength{\interruptlength}
+\setlength{\interruptlength}{2.5ex}
+\newrobustcmd\overlaplines{%
+ \appto\md@frame@leftline@single{%
+ \llap{\color{white}%
+ \rule[\dimexpr-\mdfboundingboxdepth%
+ \ifbool{mdf@bottomline}{-\mdf@middlelinewidth@length}{}%
+ +\interruptlength\relax]%
+ {\mdf@middlelinewidth@length}%
+ {\dimexpr\mdfboundingboxtotalheight%
+ +\ifbool{mdf@bottomline}{\mdf@middlelinewidth@length}{0pt}
+ +\ifbool{mdf@topline}{\mdf@middlelinewidth@length}{0pt}%
+ -2\interruptlength\relax}%
+ }%
+ }%
+ \appto\md@frame@rightline@single{%
+ \rlap{\color{white}%
+ \hspace*{\mdfboundingboxwidth}%
+ \hspace*{\mdf@innerrightmargin@length}%
+ \rule[\dimexpr-\mdfboundingboxdepth%
+ \ifbool{mdf@bottomline}{-\mdf@middlelinewidth@length}{}
+ +\interruptlength\relax]%
+ {\mdf@middlelinewidth@length}%
+ {\dimexpr\mdfboundingboxtotalheight%
+ +\ifbool{mdf@bottomline}{\mdf@middlelinewidth@length}{0pt}%
+ +\ifbool{mdf@topline}{\mdf@middlelinewidth@length}{0pt}
+ -2\interruptlength\relax}%
+ }%
+ }
+}
+\makeatother
+\overlaplines
+
+\begin{mdframed}[linecolor=blue,linewidth=8pt]
+\ExampleText
+\end{mdframed}
+\end{LTXexample}
+\end{document}
+ \endinput
+% \end{macrocode}
+%
+%\iffalse
+% \begin{macrocode}
+%</mdframed-example-default>
+% \end{macrocode}
+%\fi
+%
+%\iffalse
+% \begin{macrocode}
+%<*mdframed-example-tikz>
+% \end{macrocode}
+%\fi
+%
+% \section{The file mdframed-example-tikz}
+
+% \begin{macrocode}
+%Documenation of the package mdframed
+%%$Id: mdframed-examples.dtx 270 2011-12-09 12:19:09Z marco $
+\setcounter{errorcontextlines}{999}
+\documentclass[parskip=false,english,11pt]{ltxmdf}
+\ltxmdfsetifoot $Id: mdframed-examples.dtx 270 2011-12-09 12:19:09Z marco $
+
+\usepackage{showexpl}
+\lstset{style=lstltxmdf,explpreset={pos=b,rframe={}},}
+
+\newcommand\Loadedframemethod{TikZ}
+\usepackage[framemethod=\Loadedframemethod]{mdframed}
+
+\title{The \Pack{mdframed} package}
+\subtitle{Examples for \Opt{framemethod=\Loadedframemethod}}
+\author{\href{mailto:marco.daniel@mada-nada.de}{Marco Daniel}}
+\version{\mdversion}
+\introduction{In this document I collect various examples for \Opt{framemethod=\Loadedframemethod}.
+Some presented examples are more or less exorbitant.}
+
+\mdfsetup{skipabove=\topskip,skipbelow=\topskip}
+\newrobustcmd\ExampleText{%
+ An \textit{inhomogeneous linear} differential equation has the form
+ \begin{align}
+ L[v ] = f,
+ \end{align}
+ where $L$ is a linear differential operator, $v$ is
+ the dependent variable, and $f$ is a given non-zero
+ function of the independent variables alone.
+}
+
+\newcounter{examplecount}
+\setcounter{examplecount}{0}
+\renewcommand\thesubsection{}
+\newcommand\Examplesec[1]{%
+\stepcounter{examplecount}%
+\subsection{Example~\arabic{examplecount}~--~#1\relax}%
+}
+
+\begin{document}
+\maketitle
+\section{Loading}
+In the preamble only the package \Pack{mdframed} width the option \Opt{framemethod=\Loadedframemethod} is loaded. All other modifications will be done by \Cmd{mdfdefinestyle} or \Cmd{mdfsetup}.
+
+{\large\color{red!50!black}
+\NOTE Every \Cmd{global} inside the examples is necessary to work with the package \Pack{showexpl}.}
+
+\section{Examples}
+All examples have the following settings:
+
+\begin{tltxmdfexample}
+\mdfsetup{skipabove=\topskip,skipbelow=\topskip}
+\newrobustcmd\ExampleText{%
+An \textit{inhomogeneous linear} differential equation
+has the form
+\begin{align}
+L[v ] = f,
+\end{align}
+where $L$ is a linear differential operator, $v$ is
+the dependent variable, and $f$ is a given non-zero
+function of the independent variables alone.
+}
+\end{tltxmdfexample}
+\clearpage
+\ExampleText{round corner}
+\begin{LTXexample}
+\global\mdfdefinestyle{exampledefault}{%
+ outerlinewidth=5pt,innerlinewidth=0pt,
+ outerlinecolor=red,roundcorner=5pt
+}
+\begin{mdframed}[style=exampledefault]
+\ExampleText
+\end{mdframed}
+\end{LTXexample}
+
+\Examplesec{hidden line + frame title}
+\begin{LTXexample}
+\global\mdfapptodefinestyle{exampledefault}{%
+ topline=false,leftline=false,}
+\begin{mdframed}[style=exampledefault,frametitle={Inhomogeneous linear}]
+\ExampleText
+\end{mdframed}
+\end{LTXexample}
+\clearpage
+\Examplesec{framed picture which is centered}
+\begin{LTXexample}
+\begin{mdframed}[userdefinedwidth=6cm,align=center,
+ linecolor=blue,middlelinewidth=4pt,roundcorner=5pt]
+\includegraphics[width=\linewidth]{donald-duck}
+\end{mdframed}
+\end{LTXexample}
+
+\Examplesec{Gimmick}
+\begin{LTXexample}
+\mdfsetup{splitbottomskip=0.8cm,splittopskip=0cm,
+ innerrightmargin=2cm,innertopmargin=1cm,%
+ innerlinewidth=2pt,outerlinewidth=2pt,
+ middlelinewidth=10pt,backgroundcolor=red,
+ linecolor=blue,middlelinecolor=gray,
+ tikzsetting={draw=yellow,line width=3pt,%
+ dashed,%
+ dash pattern= on 10pt off 3pt},
+ rightline=false,bottomline=false}
+\begin{mdframed}
+\ExampleText
+\end{mdframed}
+\end{LTXexample}
+
+\Examplesec{complex example with TikZ}
+
+\begin{tltxmdfexample}
+\tikzstyle{titregris} =
+ [draw=gray, thick, fill=white, shading = exersicetitle, %
+ text=gray, rectangle, rounded corners,
+ right,minimum height=.7cm]
+
+\pgfdeclarehorizontalshading{exersicebackground}{100bp}
+{color(0bp)=(green!40);
+color(100bp)=(black!5)}
+
+\pgfdeclarehorizontalshading{exersicetitle}{100bp}
+{color(0bp)=(red!40);
+color(100bp)=(black!5)}
+
+\newcounter{exercise}
+\renewcommand\theexercise{Exercise~n\arabic{exercise}}
+\makeatletter
+\def\mdf@@exercisepoints{}
+\define@key{mdf}{exercisepoints}{%
+ \def\mdf@@exercisepoints{#1}
+}
+\renewrobustcmd\mdfcreateextratikz{%
+ \node[titregris,xshift=1cm] at (P-|O) %
+ {~\mdf@frametitlefont{\theexercise}~};
+ \ifdefempty{\mdf@@exercisepoints}%
+ {}%
+ {\node[titregris,left,xshift=-1cm] at (P)%
+ {~\mdf@frametitlefont{\mdf@@exercisepoints points}~};}%
+}
+\makeatother
+
+\mdfdefinestyle{exercisestyle}{%
+ outerlinewidth=1pt,
+ innerlinewidth=0pt,
+ roundcorner=2pt,
+ linecolor=gray,
+ tikzsetting={shading = exersicebackground},
+ innertopmargin=1.2\baselineskip,
+ skipabove={\dimexpr0.5\baselineskip+\topskip\relax},
+ needspace=3\baselineskip,
+ frametitlefont=\sffamily\bfseries,
+ settings={\global\stepcounter{exercise}},
+ }
+
+\begin{mdframed}[style=exercisestyle,]
+\ExampleText
+\end{mdframed}
+
+\begin{mdframed}[style=exercisestyle,exercisepoints=10]
+\ExampleText
+\end{mdframed}
+\end{tltxmdfexample}
+
+\tikzstyle{titregris} =
+ [draw=gray, thick, fill=white, shading = exersicetitle, %
+ text=gray, rectangle, rounded corners,
+ right,minimum height=.7cm]
+
+\pgfdeclarehorizontalshading{exersicebackground}{100bp}
+{color(0bp)=(green!40);
+color(100bp)=(black!5)}
+
+\pgfdeclarehorizontalshading{exersicetitle}{100bp}
+{color(0bp)=(red!40);
+color(100bp)=(black!5)}
+
+\newcounter{exercise}
+\renewcommand\theexercise{Exercise~n\arabic{exercise}}
+\makeatletter
+\def\mdf@@exercisepoints{}
+\define@key{mdf}{exercisepoints}{%
+ \def\mdf@@exercisepoints{#1}
+}
+\renewrobustcmd\mdfcreateextratikz{%
+ \node[titregris,xshift=1cm] at (P-|O) {~\textbf{\theexercise}~};
+ \ifdefempty{\mdf@@exercisepoints}%
+ {}%
+ {\node[titregris,left,xshift=-1cm] at (P)%
+ {~\mdf@frametitlefont{\mdf@@exercisepoints points}~};}%
+}
+\makeatother
+
+\mdfdefinestyle{exercisestyle}{%
+ outerlinewidth=1pt,
+ innerlinewidth=0pt,
+ roundcorner=2pt,
+ linecolor=gray,
+ tikzsetting={shading = exersicebackground},
+ innertopmargin=1.2\baselineskip,
+ skipabove={\dimexpr0.5\baselineskip+\topskip\relax},
+ needspace=3\baselineskip,
+ frametitlefont=\sffamily\bfseries,
+ settings={\global\stepcounter{exercise}},
+ }
+
+\begin{mdframed}[style=exercisestyle,]
+\ExampleText
+\end{mdframed}
+
+\begin{mdframed}[style=exercisestyle,exercisepoints=10]
+\ExampleText
+\end{mdframed}
+
+\end{document}
+ \endinput
+% \end{macrocode}
+%
+%\iffalse
+% \begin{macrocode}
+%</mdframed-example-tikz>
+% \end{macrocode}
+%\fi
+%
+%\iffalse
+% \begin{macrocode}
+%<*mdframed-example-pstricks>
+% \end{macrocode}
+%\fi
+%
+% \section{The file mdframed-example-pstricks}
+
+% \begin{macrocode}
+%Documenation of the package mdframed
+%%$Id: mdframed-examples.dtx 270 2011-12-09 12:19:09Z marco $
+\setcounter{errorcontextlines}{999}
+\documentclass[parskip=false,english,11pt]{ltxmdf}
+\ltxmdfsetifoot$Id: mdframed-examples.dtx 270 2011-12-09 12:19:09Z marco $
+
+
+
+\lstDeleteShortInline{|}
+\newcommand\Loadedframemethod{PSTricks}
+\usepackage[framemethod=\Loadedframemethod]{mdframed}
+
+\usepackage{showexpl}
+\lstset{style=lstltxmdf,explpreset={pos=b,rframe={}},}
+
+
+
+\title{The \Pack{mdframed} package}
+\subtitle{Examples for \Opt{framemethod=\Loadedframemethod}}
+\author{\href{mailto:marco.daniel@mada-nada.de}{Marco Daniel}}
+\version{\mdversion}
+\introduction{In this document I collect various examples for \Opt{framemethod=\Loadedframemethod}.
+Some presented examples are more or less exorbitant.}
+
+\mdfsetup{skipabove=\topskip,skipbelow=\topskip}
+\newrobustcmd\ExampleText{%
+ An \textit{inhomogeneous linear} differential equation has the form
+ \begin{align}
+ L[v ] = f,
+ \end{align}
+ where $L$ is a linear differential operator, $v$ is
+ the dependent variable, and $f$ is a given non-zero
+ function of the independent variables alone.
+}
+
+\newcounter{examplecount}
+\setcounter{examplecount}{0}
+\renewcommand\thesubsection{}
+\newcommand\Examplesec[1]{%
+\stepcounter{examplecount}%
+\subsection{Example~\arabic{examplecount}~--~#1\relax}%
+}
+
+\begin{document}
+\maketitle
+\section{Loading}
+In the preamble only the package \Pack{mdframed} width the option \Opt{framemethod=\Loadedframemethod} is loaded. All other modifications will be done by \Cmd{mdfdefinestyle} or \Cmd{mdfsetup}.
+
+{\large\color{red!50!black}
+\NOTE Every \Cmd{global} inside the examples is necessary to work with the package \Pack{showexpl}.}
+X
+\section{Examples}
+All examples have the following settings:
+
+\begin{tltxmdfexample}
+\mdfsetup{skipabove=\topskip,skipbelow=\topskip}
+\newrobustcmd\ExampleText{%
+An \textit{inhomogeneous linear} differential equation
+has the form
+\begin{align}
+L[v ] = f,
+\end{align}
+where $L$ is a linear differential operator, $v$ is
+the dependent variable, and $f$ is a given non-zero
+function of the independent variables alone.
+}
+\end{tltxmdfexample}
+\clearpage
+
+\Examplesec{very simple}
+\begin{LTXexample}
+\global\mdfdefinestyle{exampledefault}{%
+ linecolor=red,linewidth=3pt,%
+ leftmargin=1cm,rightmargin=1cm
+}
+\begin{mdframed}[style=exampledefault,roundcorner=5]
+\ExampleText
+\end{mdframed}
+\end{LTXexample}
+
+\Examplesec{hidden line + frame title}
+\begin{LTXexample}
+\global\mdfapptodefinestyle{exampledefault}{%
+ topline=false,rightline=false,bottomline=false}
+\begin{mdframed}[style=exampledefault,frametitle={Inhomogeneous linear}]
+\ExampleText
+\end{mdframed}
+\end{LTXexample}
+
+\clearpage
+
+\Examplesec{Dash Lines}
+\begin{LTXexample}
+\global\mdfdefinestyle{exampledefault}{%
+ pstrickssetting={linestyle=dashed,},linecolor=red,linewidth=5pt}
+\begin{mdframed}[style=exampledefault,]
+\ExampleText
+\end{mdframed}
+\end{LTXexample}
+
+\Examplesec{Double Lines}
+\begin{LTXexample}
+\global\mdfdefinestyle{exampledefault}{%
+ pstrickssetting={doubleline=true,doublesep=3pt},
+ linecolor=red,linewidth=5pt}
+\begin{mdframed}[style=exampledefault,]
+\ExampleText
+\end{mdframed}
+\end{LTXexample}
+\end{document}
+ \endinput
+% \end{macrocode}
+%
+%\iffalse
+% \begin{macrocode}
+%</mdframed-example-pstricks>
+% \end{macrocode}
+%\fi
+%
+%\iffalse
+% \begin{macrocode}
+%<*mdframed-example-texsx>
+% \end{macrocode}
+%\fi
+%
+% \section{The file mdframed-example-texsx}
+
+% \begin{macrocode}
+%Documenation of the package mdframed
+%%$Id: mdframed-examples.dtx 270 2011-12-09 12:19:09Z marco $
+\setcounter{errorcontextlines}{999}
+\documentclass[parskip=false,english,11pt,ltxlipsum]{ltxmdf}
+\ltxmdfsetifoot $Id: mdframed-examples.dtx 270 2011-12-09 12:19:09Z marco $
+
+\usepackage{showexpl}
+\lstset{style=lstltxmdf,explpreset={pos=b,rframe={}},}
+
+\newcommand\Loadedframemethod{default}
+\usepackage[framemethod=\Loadedframemethod]{mdframed}
+
+\title{The \Pack{mdframed} package}
+\subtitle{Examples for \Opt{framemethod=\Loadedframemethod}}
+\author{\href{mailto:marco.daniel@mada-nada.de}{Marco Daniel}}
+\version{\mdversion}
+\introduction{In this document I collect various examples for \Opt{framemethod=\Loadedframemethod}.
+Some presented examples are more or less exorbitant.}
+
+\mdfsetup{skipabove=\topskip,skipbelow=\topskip}
+\newrobustcmd\ExampleText{%
+ An \textit{inhomogeneous linear} differential equation has the form
+ \begin{align}
+ L[v ] = f,
+ \end{align}
+ where $L$ is a linear differential operator, $v$ is
+ the dependent variable, and $f$ is a given non-zero
+ function of the independent variables alone.
+}
+
+\newcounter{examplecount}
+\setcounter{examplecount}{0}
+\renewcommand\thesubsection{}
+\newcommand\Examplesec[1]{%
+\stepcounter{examplecount}%
+\subsection{Example~\arabic{examplecount}~--~#1\relax}%
+}
+
+\begin{document}
+\maketitle
+\section{Loading}
+In the preamble only the package \Pack{mdframed} width the option \Opt{framemethod=\Loadedframemethod} is loaded. All other modifications will be done by \Cmd{mdfdefinestyle} or \Cmd{mdfsetup}.
+
+{\large\color{red!50!black}
+\NOTE Every \Cmd{global} inside the examples is necessary to work with the package \Pack{showexpl}.}
+
+\section{Examples}
+All examples have the following settings:
+
+\begin{tltxmdfexample}
+\mdfsetup{skipabove=\topskip,skipbelow=\topskip}
+\newrobustcmd\ExampleText{%
+An \textit{inhomogeneous linear} differential equation
+has the form
+\begin{align}
+L[v ] = f,
+\end{align}
+where $L$ is a linear differential operator, $v$ is
+the dependent variable, and $f$ is a given non-zero
+function of the independent variables alone.
+}
+\end{tltxmdfexample}
+\clearpage
+\Examplesec{Package listings}
+The example below is inspired by the following post on StackExchange \href{http://tex.stackexchange.com/questions/27673/background-overflows-when-using-rounded-corners-for-listings-package-listings}{Background overflows when using rounded corners for listings (package: `listings`)}
+
+Here the solution which can be decorate as usual.
+
+\begin{tltxmdfexample}[moretexcs={BeforeBeginEnvironment,AfterEndEnvironment},morekeywords={lstlisting}]
+\BeforeBeginEnvironment{lstlisting}{%
+ \begin{mdframed}[<modification>]%
+ \vspace{-0.7em}}
+\AfterEndEnvironment{lstlisting}{%
+ \vspace{-0.5em}%
+ \end{mdframed}}
+\end{tltxmdfexample}
+
+\Examplesec{Package multicol}
+How I wrote in \enquote{Known Problems} you can't combine \Pack{multicol} with \Pack{mdframed}. In a simple way without any breaks you can use:
+\begin{LTXexample}
+\begin{multicols}{2}
+\lipsum[1]
+\begin{mdframed}
+\ExampleText
+\end{mdframed}
+\lipsum[2]
+\end{multicols}
+\end{LTXexample}
+\clearpage
+\twocolumn[\Examplesec{Working in twocolumn mode}]
+\begin{tltxmdfexample}
+\twocolumn[%
+ \Examplesec{Working in
+ twocolumn mode}]
+\lipsum[2]
+\begin{mdframed}[%
+ leftmargin=10pt,%
+ rightmargin=10pt,%
+ linecolor=red,
+ backgroundcolor=yellow]
+\ExampleText
+\end{mdframed}
+\lipsum[2]
+\end{tltxmdfexample}
+\lipsum[2]\lipsum[2]
+\begin{mdframed}[leftmargin=10pt,%
+ rightmargin=10pt,%
+ linecolor=red,
+ backgroundcolor=yellow]
+\ExampleText
+\end{mdframed}
+\lipsum[2]
+\onecolumn
+\Examplesec{Working inside enumerate}
+\begin{LTXexample}
+Text Text Text Text Text Text Text Text
+\begin{enumerate}
+\item in the following \ldots
+ \begin{mdframed}[linecolor=blue,linewidth=2]
+ \ExampleText
+ \end{mdframed}
+\item \lipsum[2]
+\end{enumerate}
+Text Text Text Text Text Text
+\end{LTXexample}
+\end{document}
+ \endinput
+% \end{macrocode}
+%
+%\iffalse
+% \begin{macrocode}
+%</mdframed-example-texsx>
+% \end{macrocode}
+%\fi
+%
+% \Finale
+%
+\endinput
+
diff --git a/Master/texmf-dist/source/latex/mdframed/mdframed.dtx b/Master/texmf-dist/source/latex/mdframed/mdframed.dtx
new file mode 100644
index 00000000000..159db0781be
--- /dev/null
+++ b/Master/texmf-dist/source/latex/mdframed/mdframed.dtx
@@ -0,0 +1,3865 @@
+% \iffalse meta-comment
+% !TEX program = pdfLaTeX
+%<*internal>
+\iffalse
+%</internal>
+%<*readme>
+================================================================
+================================================================
+Working with the command \fbox or \fcolorbox, one has to
+handle page breaks by hand. The present package defines the
+environment mdframed which automatically deals with page breaks.
+
+Author's name: Marco Daniel and Elke Schubert (supports tikz implementation)
+License type: lppl
+
+================================================================
+The current development is available at github:
+https://github.com/marcodaniel/mdframed
+
+================================================================
+The package provides two dtx files, one Makefile and
+one documentclass. By running the script `make all` you will
+produce the following files:
+- README.txt
+- mdframed.sty
+- mdframed.pdf
+- md-frame-0.mdf
+- md-frame-1.mdf
+- md-frame-2.mdf
+- md-frame-3.mdf
+- mdframed-examples.pdf
+- mdframed-example-default.tex
+- mdframed-example-default.pdf
+- mdframed-example-tikz.tex
+- mdframed-example-tikz.pdf
+- mdframed-example-pstricks.tex
+- mdframed-example-pstricks.pdf
+- mdframed-example-texsx.tex
+- mdframed-example-texsx.pdf
+- ltxmdf.cls
+- donald-duck.jpg
+
+I recommend the following installation in your texmf-tree:
+
+/doc/latex/mdframed/
+- README.txt
+- mdframed.pdf
+- mdframed-example-default.tex
+- mdframed-example-default.pdf
+- mdframed-example-tikz.tex
+- mdframed-example-tikz.pdf
+- mdframed-example-pstricks.tex
+- mdframed-example-pstricks.pdf
+- mdframed-example-texsx.tex
+- mdframed-example-texsx.pdf
+
+
+/source/latex/mdframed/
+- Makefile
+- mdframed.dtx
+- mdframed-examples.dtx
+- donald-duck.jpg
+
+/tex/latex/mdframed
+- mdframed.sty
+- md-frame-0.mdf
+- md-frame-1.mdf
+- md-frame-2.mdf
+- md-frame-3.mdf
+- ltxmdf.cls
+================================================================
+================================================================
+%</readme>
+%<*internal>
+\fi
+\def\nameofplainTeX{plain}
+\ifx\fmtname\nameofplainTeX\else
+ \expandafter\begingroup
+\fi
+%</internal>
+%<*install>
+\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+\preamble
+----------------------------------------------------------------
+Working with the command fbox or fcolorbox, one has to
+handle page breaks by hand. The present package defines the
+environment mdframed which automatically deals with page breaks.
+
+Author's name: Marco Daniel and Elke Schubert (!new)
+License type: lppl
+
+==================================================
+========Is based on the idea of framed.sty========
+==================================================
+===== Currently the package has a beta-Status ====
+==================================================
+ WITH THANKS TO (alphabetically):
+ ROLF NIEPRASCHK
+ HEIKO OBERDIEK
+ HERBERT VOSS
+
+ Copyright (c) 2010 Marco Daniel
+
+ This package may be distributed under the terms of the LaTeX Project
+ Public License, as described in lppl.txt in the base LaTeX distribution.
+ Either version 1.0 or, at your option, any later version.
+
+
+=================================================
+ Erstellung eines Rahmens, der am Seitenende keine
+ horizontale Linie einfuegt
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+ _______________
+ | page 1 |
+ | Text |
+ | __Text__ |
+ | | Text | |
+ P A G E B R E A K
+ | | Text | |
+ | |_Text_| |
+ | Text |
+ |____page 2___|
+
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+==================================================
+
+\endpreamble
+\postamble
+
+================================================================
+Copyright (C) 2011 by Marco Daniel
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License (LPPL), either
+version 1.3c of this license or (at your option) any later
+version. The latest version of this license is in the file:
+
+http://www.latex-project.org/lppl.txt
+
+This work is "maintained" (as per LPPL maintenance status) by
+Marco Daniel.
+
+Have fun!
+
+================================================================
+\endpostamble
+\usedir{tex/latex/mdframed}
+\generate{\file{mdframed.sty}{\from{mdframed.dtx}{package}}}
+\nopreamble\nopostamble
+\generate{\file{md-frame-0.mdf}{\from{mdframed.dtx}{mdframedefault}}}
+\nopreamble\nopostamble
+\generate{\file{md-frame-1.mdf}{\from{mdframed.dtx}{mdframetikz}}}
+\nopreamble\nopostamble
+\generate{\file{md-frame-2.mdf}{\from{mdframed.dtx}{mdframepstricks}}}
+\nopreamble\nopostamble
+\generate{\file{md-frame-3.mdf}{\from{mdframed.dtx}{mdframepstricks}}}
+\Msg{*********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the}
+\Msg{* following file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space documentation.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file documentation.dtx}
+\Msg{* once through LaTeX. Then, run}
+\Msg{*}
+\Msg{* \space\space makeindex -s gglo.ist -o mdframed.gls mdframed.glo}
+\Msg{* \space\space makeindex -s gind.ist mdframed.idx}
+\Msg{*}
+\Msg{* through makeIndex to produce the glossary. Finally, run LaTeX once again.}
+\Msg{* That's all!}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*********************************************************}
+%</install>
+%<install>\endbatchfile
+%<*internal>
+\usedir{source/latex/mdframed}
+\generate{\file{mdframed.ins}{\from{mdframed.dtx}{install}}}
+\nopreamble\nopostamble
+\usedir{doc/latex/mdframed}
+\generate{\file{README.txt}{\from{mdframed.dtx}{readme}}}
+\ifx\fmtname\nameofplainTeX
+ \expandafter\endbatchfile
+\else
+ \expandafter\endgroup
+\fi
+%</internal>
+%<*driver>
+%%$Id: mdframed.dtx 271 2011-12-09 12:25:08Z marco $
+\setcounter{errorcontextlines}{999}
+\documentclass[parskip=false,11pt,]{ltxmdf}
+\usepackage[framemethod=TikZ]{mdframed}
+\ltxmdfsetifoot$Id: mdframed.dtx 271 2011-12-09 12:25:08Z marco $
+
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{mdframed.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% CheckSum{3478}
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \GetFileInfo{mdframed.sty}
+%
+% \changes{v1.0a}{2011/11/26}{Created dtx and fixes bugs}
+%
+% \title{The \Pack{mdframed} package\footnote{Extending the package \texttt{framed.sty}}
+% \subtitle{auto-split frame environment}
+% \author{\href{mailto:marco.daniel@mada-nada.de}{Marco Daniel}%
+% \footnote{With thanks to Heiko Oberdiek, Rolf Niepraschk,
+% Martin Scharrer and Herbert Voss.\newline Sorry for bad English.}
+% \href{mailto:marco.daniel@mada-nada.de}{Elke Schubert}}}
+% \version{\mdversion}
+% \introduction{The standard methods for framing text (\Cmd{fbox} or \Cmd{fcolorbox}) require you to handle page breaks by hand, meaning that you have to split the \Cmd{fbox} into two. The present package defines the environment \Pack{mdframed} which automatically deals with pagebreaks in framed text.\par
+% By defining new environments the user may choose between several individual designs.%
+% \par\kern.5\baselineskip\noindent
+% Linked files:\quad \begin{tabular}[t]{ll}
+% \url{mdframed-example-default.pdf} &
+% \url{mdframed-example-tikz.pdf} \\
+% \url{mdframed-example-pstricks.pdf} &
+% \url{mdframed-example-texsx.pdf}
+% \end{tabular}
+% \par\kern.5\baselineskip\noindent
+% FYI:\quad\parbox[t]{.8\linewidth}{I create a repository for \Pack{mdframed} on \href{https://github.com/marcodaniel/mdframed}{github} where you can \href{https://github.com/marcodaniel/mdframed}{download} the current development status.}
+% }
+%
+%
+%
+%
+% \maketitle
+%
+% \vspace*{2\baselineskip}
+%
+% \section{Motivation}
+% Many users wish to (further) emphasize lemmata, definitions, proofs, etc. The package \Pack{mdframed} allows you to create environments with breakable frames. I think an example is the best way to demonstrate its properties.
+%
+%
+% %\newtheorem{mdtheorem}{Theorem}[section]
+% \newmdtheoremenv[outerlinewidth=2,leftmargin=40,rightmargin=40,%
+% backgroundcolor=yellow,outerlinecolor=blue,innertopmargin=0pt,%
+% splittopskip=\topskip,skipbelow=\baselineskip,%
+% skipabove=\baselineskip,ntheorem,roundcorner=5pt]{theorem}{Theorem}[section]
+%
+% \begin{theorem}[Pythagorean theorem]
+% In any right triangle, the area of the square whose side is the hypotenuse
+% is equal to the sum of the areas of the squares whose sides are the two legs.
+%
+% \[ a^2+b^2=c^2 \]
+% \end{theorem}
+%
+% The frame was defined with the following settings.
+%
+% \iffalse
+%<*example>
+% \fi
+\begin{tltxmdfexample}
+ \newmdtheoremenv[outerlinewidth=2,leftmargin=40,%
+ rightmargin=40,backgroundcolor=yellow,%
+ outerlinecolor=blue,innertopmargin=0pt,%
+ splittopskip=\topskip,skipbelow=\baselineskip,%
+ skipabove=\baselineskip,ntheorem]{theorem}%
+ {Theorem}[section]
+ \begin{theorem}[Pythagorean theorem]
+ ...
+ \end{theorem}
+\end{tltxmdfexample}
+% \iffalse
+%</example>
+% \fi
+%
+%
+% \section{Syntax}\label{sec:syntax}
+% The package itself loads the packages \Pack{kvoptions}, \Pack{etoolbox} and \Pack{color}.
+% By setting the correct options \Pack{mdframed} will load \Pack{xcolor}, \Pack{tikz} or \Pack{pstricks}.
+%
+% Load the package as usual:
+% \iffalse
+%<*example>
+% \fi
+\begin{tltxmdfexample}
+% \usepackage[<GLOBAL OPTIONS>]{mdframed}
+\end{tltxmdfexample}
+% \iffalse
+%</example>
+% \fi
+%
+% The package defines only one environment with the following syntax:
+% \iffalse
+%<*example>
+% \fi
+\begin{tltxmdfexample}
+ \begin{mdframed}[<LOCAL OPTIONS>]
+ <CONTENT>
+ \end{mdframed}
+\end{tltxmdfexample}
+% \iffalse
+%</example>
+% \fi
+% To create own environments with \Pack{mdframed} see section \ref{sec:cmds}.
+%
+% \minisec{Autodetecting floats}
+% I added a detection of \Pack{float} or \Pack{minipage} environments. If you use \Pack{mdframed} in such an environment \Pack{mdframed} will use the option \Opt{nobreak} automaticly.
+%
+% \minisec{Twoside-mode}
+% When you are using \Pack{mdframed} inside \Pack{twoside} mode you can set the option \Opt{innermargin}
+% and \Opt{outermargin} (see section \ref{optlength}).
+%
+% %%%%%%%%%%%%%%%%%%%%%%%
+% \section{Commands}\label{sec:cmds}
+% The following commands should countenance your by the handling with \Pack{mdframed}
+%
+% \ExplCmd{newmdenv} The command has the following syntax:
+% \iffalse
+%<*example>
+% \fi
+\begin{tltxmdfexample}
+ \newmdenv[<MDFRAMED OPTIONS>]{Name of the environment}
+\end{tltxmdfexample}
+% \iffalse
+%</example>
+% \fi
+% In this way you can simply use:
+% \iffalse
+%<*example>
+% \fi
+\begin{tltxmdfexample}
+ \newmdenv[linecolor=red,frametitle=Infobox]{infobox}
+ ...
+ \begin{infobox}[backgroundcolor=yellow]
+ foo foo foo foo foo foo
+ \end{infobox}
+\end{tltxmdfexample}
+% \iffalse
+%</example>
+% \fi
+% \ExplCmd{renewmdenv} By using this command you can redefine environments which are created by \Cmd{newmdenv}.
+%
+% \ExplCmd{newmdtheoremenv}
+% Since the package is often used to highlight theorem environments, I have created a command\footnote{Thanks to Martin Scharrer and Enrico Gregorio:\newline \href{http://tex.stackexchange.com/questions/26298/own-command-to-create-new-environment}{Own command to create new environment}} to simplify this process. The command has the following syntax:
+%
+% \iffalse
+%<*example>
+% \fi
+\begin{tltxmdfexample}[deletekeywords={mdframed}]
+ \newmdtheoremenv[<mdframed-options>]{<envname>}%
+ [<numberedlike>]{<caption>}[<within>]
+\end{tltxmdfexample}
+% \iffalse
+%</example>
+% \fi
+% The last four arguments are equivalent to the command \Cmd{newtheorem}. Only the first optional argument is able to pass \Pack{mdframed}-options. A simple example is:
+% \iffalse
+%<*example>
+% \fi
+\begin{tltxmdfexample}
+ \theoremstyle{<some style>}
+ \newmdtheoremenv[linecolor=blue]{lemma}%
+ {Lemma}[section]
+ ...
+ \begin{lemma}[Some title]
+ foo foo foo foo foo foo
+ \end{lemma}
+\end{tltxmdfexample}
+% \iffalse
+%</example>
+% \fi
+% So far there is no \Cmd{renewmdtheoremenv}!
+%
+%
+% \ExplCmd{mdfsetup}To set the options
+% you can use the optional argument of \Cmd{usepackage} or
+% you can use the command \Cmd{mdfsetup} which is not limited to the preamble. Inside a group the settings work only local.
+%
+% \ExplCmd{mdfdefinestyle} \Cmd{mdfdefinestyle} allows the user to define different styles and use as an option of \Pack{mdframed} via \Opt{style}. The option \Opt{style} is explained in section \ref{genopt}.
+%
+% Here a small example:
+% \iffalse
+%<*example>
+% \fi
+\begin{tltxmdfexample}[morekeywords={mystyle}]
+ \mdfdefinestyle{mystyle}{leftmargin=0pt,%
+ linecolor=blue}
+ ....
+ \begin{mdframed}[style=mystyle]
+ foo
+ \end{mdframed}
+\end{tltxmdfexample}
+% \iffalse
+%</example>
+% \fi
+%
+% \ExplCmd{mdfapptodefinestyle} This commands allows to expand a defined style.\footnote{Thanks to Martin Scharrer and Enrico Gregorio:\newline \href{http://tex.stackexchange.com/questions/34684/argument-of-setkeys}{http://tex.stackexchange.com/questions/34684/argument-of-setkeys}}
+%
+%
+%
+% %%%%%%%%%%%%%%%%%%%%%%%
+% \section{Options}
+% The package provides various options to manipulate frames. In the following section all options are listed. Some internal macros which can be manipulated are not shown in this documentation.
+% The listed option are divided in global and local options. The global options can not be used inside \Cmd{mdfsetup}.
+%
+% \subsection{Global Options}\label{globopt}
+% The following options are only global options.
+%
+% \ExplOpt[none]{xcolor}
+% By setting this key, the package \Pack{xcolor} will
+% be loaded with the given value(s). Without any value \mbox{\Pack{mdframed}} loads
+% the package \Pack{color} without any options. If the package \Pack{xcolor} is already loaded the given option will be ignored. I recommend to load \Pack{xcolor} before \Pack{mdframed}.
+%
+% \ExplOpt[default]{framemethod}
+% With this key you can change the way frames are drawn. You can decide whether the frame is drawn with
+% \begin{enumerate}
+% \item \LaTeX-commands {\small\Cmd{hrule}, \Cmd{vrule}, \Cmd{rule}},
+% \item \Pack{TikZ} {\small(the package \Pack{TikZ} will be loaded)} or
+% \item \Pack{PSTricks} {\small(the package \Pack{pstricks} will be loaded)}.
+% \end{enumerate}
+% The option \Opt{framemethod} requires a string. Allowed combinations are listed in the following table.
+% \begin{table}[!ht]
+% \centering
+% \renewcommand*\arraystretch{1.3}
+% \caption{Allowed keys for \Opt{framemethod}}
+% \begin{tabular}{@{}>{\small\bfseries}l>{\small\ttfamily}l@{}}
+% \toprule
+% \multicolumn{1}{@{}l}{\textbf{Method}} & \multicolumn{1}{l}{Allowed keys} \\\midrule
+% \LaTeX-commands & default, tex, latex, none, 0 \\
+% \Pack{TikZ} & tikz, pgf, 1 \\
+% \Pack{PSTricks} & pstricks, ps, postscript, 2 \\\bottomrule
+% \end{tabular}
+% \end{table}
+%
+% \noindent{\small\textbf{FYI}\qquad It is independently whether the \texttt{method} is written with no, one or more capital letter.}
+%
+% \NOTE The manipulation of the frames depends on the option \Opt{framemethod}. For further information see below.
+%
+% \subsection{Global and Local Options}
+% The options listed below can be set globally or locally and they are not limited to the preamble.
+%
+% \subsubsection{Options with lengths}\label{optlength}
+%
+% In figure \eqref{fig:laengen} you can see the adjustable lengths which will be described below.
+% All lengths accept two kinds of input. The first one is a length (e.g. 2pt) and
+% the second one is a number (e.g. 2) which will be multiplied by \Opt{1 defaultunit}.
+% The figure shows three different colored frames. Only \Opt{framemethod=tikz} is able to draw such triple lines.
+%
+% I know that the predefined lengths are not well prepared. Maybe I will change it later.
+%
+% \ExplOpt[pt]{defaultunit} see the sentence above.
+%
+% \begin{center}
+% \begin{tikzpicture}[scale=0.9]
+% %Declaration
+% \newlength{\linew}
+% \setlength{\linew}{5pt}
+% \tikzstyle{every node}=[font=\bfseries\large\sffamily]
+% \coordinate (innersep) at (3.2,2.25);
+% \coordinate (outersep) at (3.2,2);
+% %Center
+% \node[fill=green!10,draw=black,framed,rounded corners,minimum width=3cm,minimum height=1.5cm]%
+% (CenterNode) {Contents};
+%
+% %frames
+% \draw[draw=red!70!black,line width=\linew] %
+% ($(CenterNode)+(innersep)$) %
+% rectangle ($(CenterNode)-(innersep)$);
+% \draw[draw=blue!70!black,line width=\linew] %
+% ($(CenterNode)+(innersep)+(\linew,\linew)$)%
+% rectangle ($(CenterNode)-(innersep)+(-\linew,-\linew)$);
+% \draw[draw=yellow!70!black,line width=\linew]
+% ($(CenterNode)+(innersep)+(2\linew,2\linew)$)%
+% rectangle ($(CenterNode)-(innersep)+(-2\linew,-2\linew)$);
+% \draw[draw=black,line width=1] ($(CenterNode)+(innersep)+(outersep)$)%
+% rectangle ($(CenterNode)-(innersep)-(outersep)$);
+%
+%
+% \tikzstyle{every node}=[font=\small\ttfamily]
+% %%innertopmargin
+% \draw[draw=black,triangle 45-triangle 45]let \p1=(innersep) in
+% (CenterNode.north) -- ($(CenterNode)+(0,\y1)-(0,.5\linew)$) ;
+% \path let \p1=(innersep) in
+% (CenterNode.north) edge node[align=center,framed,fill=white,draw=white]{innertopmargin}
+% ($(CenterNode)+(0,\y1)-(0,.5\linew)$) ;
+% %%innerbottommargin
+% \draw[draw=black,triangle 45-triangle 45]let \p1=(innersep) in
+% (CenterNode.south) -- ($(CenterNode)-(0,\y1)+(0,.5\linew)$) ;
+% \path let \p1=(innersep) in
+% (CenterNode.south) edge node[align=center,framed,fill=white,draw=white]{innerbottommargin}
+% ($(CenterNode)-(0,\y1)+(0,.5\linew)$) ;
+%
+% %%innerleftmargin
+% \draw[draw=black,triangle 45-triangle 45]let \p1=(innersep) in
+% (CenterNode.west) -- ($(CenterNode)-(\x1,0)+(.5\linew,0)$) ;
+% \path let \p1=(innersep) in
+% (CenterNode.west) edge
+% node[align=center,rotate=90,framed,fill=white,draw=white]{innerleftmargin}
+% ($(CenterNode)-(\x1,0)+(.5\linew,0)$) ;
+% %%innerrightmargin
+% \draw[draw=black,triangle 45-triangle 45]let \p1=(innersep) in
+% (CenterNode.east) -- ($(CenterNode)+(\x1,0)-(.5\linew,0)$) ;
+% \path let \p1=(innersep) in
+% (CenterNode.east) edge
+% node[align=center,rotate=90,framed,fill=white,draw=white]{innerrightmargin}
+% ($(CenterNode)+(\x1,0)-(.5\linew,0)$) ;
+%
+%
+% %%leftmargin
+% \draw[draw=black,triangle 45-triangle 45]let \p1=(innersep) , \p2=(outersep) in
+% ($(CenterNode)-(\x1,0)-(2.5\linew,0)$) -- ($(CenterNode)-(\x1,0)-(\x2,0)$) ;
+% \path let \p1=(innersep) , \p2=(outersep) in
+% ($(CenterNode)-(\x1,0)-(2.5\linew,0)$) edge
+% node[align=center,rotate=0,framed,fill=white,draw=white]{leftmargin}
+% ($(CenterNode)-(\x1,0)-(\x2,0)$) ;
+% %%rightmargin
+% \draw[draw=black,triangle 45-triangle 45]let \p1=(innersep) , \p2=(outersep) in
+% ($(CenterNode)+(\x1,0)+(2.5\linew,0)$) -- ($(CenterNode)+(\x1,0)+(\x2,0)$) ;
+% \path let \p1=(innersep) , \p2=(outersep) in
+% ($(CenterNode)+(\x1,0)+(2.5\linew,0)$) edge
+% node[align=center,rotate=0,framed,fill=white,draw=white]{rightmargin}
+% ($(CenterNode)+(\x1,0)+(\x2,0)$) ;
+%
+% %%skipabove
+% \draw[draw=black,triangle 45-triangle 45]let \p1=(innersep) , \p2=(outersep) in
+% ($(CenterNode)+(0,\y1)+(0,2.5\linew)$) -- ($(CenterNode)+(0,\y1)+(0,\y2)$) ;
+% \path let \p1=(innersep) , \p2=(outersep) in
+% ($(CenterNode)+(0,\y1)+(0,2.5\linew)$) edge
+% node[align=center,rotate=0,framed,fill=white,draw=white]{skipabove}
+% ($(CenterNode)+(0,\y1)+(0,\y2)$) ;
+% %%skipbelow
+% \draw[draw=black,triangle 45-triangle 45]let \p1=(innersep) , \p2=(outersep) in
+% ($(CenterNode)-(0,\y1)-(0,2.5\linew)$) -- ($(CenterNode)-(0,\y1)-(0,\y2)$) ;
+% \path let \p1=(innersep) , \p2=(outersep) in
+% ($(CenterNode)-(0,\y1)-(0,2.5\linew)$) edge
+% node[align=center,rotate=0,framed,fill=white,draw=white]{skipbelow}
+% ($(CenterNode)-(0,\y1)-(0,\y2)$) ;
+% \end{tikzpicture}
+%
+% \captionof{figure}{adjustable lengths of \Pack{mdframed}}
+% \label{fig:laengen}
+% \end{center}
+%
+% \ExplOpt[0pt]{skipabove} Sets an additional skip above the frame.
+% \ExplOpt[0pt]{skipbelow} Sets an additional skip below the frame.
+% \ExplOpt[]{margin} This option is not longer supported. Use \Opt{leftmargin}
+% and \Opt{rightmargin} instead.
+% \ExplOpt[0pt]{leftmargin} Sets the length of the left margin of the environment.
+% \ExplOpt[0pt]{rightmargin} Sets the length of the right margin of the environment.
+%
+% \ExplOpt[10pt]{innerleftmargin} Sets the length of the inner left margin of the environment.
+% \ExplOpt[10pt]{innerrightmargin} Sets the length of the inner right margin of the environment.
+% \ExplOpt[.4\textbackslash baselineskip]{innertopmargin} Sets the length of the inner top margin of the environment.
+% \ExplOpt[.4\textbackslash baselineskip]{innerbottommargin} Sets the length of the inner bottom margin of the environment.
+%
+% \paragraph*{The following lengths are not shown in figure \eqref{fig:laengen}.}
+%
+% \mbox{}
+% \ExplOpt[0pt]{userdefinedwidth} Sets the width of the whole \Pack{mdframed} environment. The width represent the width including the line width and the inner margins. The outer margins will be ignored.
+%
+% \ExplOpt{outermargin} Sets the length of the outer margin. This option is only available in \texttt{twoside}-mode.
+% \ExplOpt{innermargin} Sets the length of the inner margin. This option is only available in \texttt{twoside}-mode.
+%
+%
+% \ExplOpt[0pt]{splittopskip} Sets the length of the skip above the split part of the environment.
+% \ExplOpt[0pt]{splitbottomskip} Sets the length of the skip below the split part of the environment.
+% \ExplOpt[0.4pt]{linewidth} Sets the width of the line around the environment.
+% \ExplOpt[0pt]{roundcorner} Sets the size of the radius of the corners of the frames.
+% \limitation[TikZ or PSTricks]
+% \ExplOpt[0pt]{innerlinewidth} Sets the width of the inner line around the environment.
+% \limitation
+% \ExplOpt[0pt]{outerlinewidth} Sets the width of the outer line around the environment.
+% \limitation
+% \ExplOpt[linewidth]{middlelinewidth} Sets the width of the middle line around the environment.\limitation
+%
+%
+% \subsubsection{Colored Options}
+% \ExplOpt[black]{linecolor} Sets the color of the line around the environment.
+% \ExplOpt[white]{backgroundcolor} Sets the color of the background of the environment.
+% \ExplOpt[black]{fontcolor} Sets the color of the contents of the environment.
+% \ExplOpt[linecolor]{innerlinecolor} Sets the color of the inner line around the environment.
+% \limitation
+% \ExplOpt[\newline linecolor]{middlelinecolor} Sets the color of the middle line around the environment. \limitation
+% \ExplOpt[\newline linecolor]{outerlinecolor} Sets the color of the outer line around the environment.\limitation
+%
+%
+% \subsubsection{General options}\label{genopt}
+%
+% \ExplOpt[false]{ntheorem} Before setting this boolean key, you have to load the package \Pack{ntheorem}.
+%
+% With this option you set the values \Cmd{theorempreskipamount}
+% and\newline \Cmd{theorempostskipamount} to 0\;pt.
+%
+% \ExplOpt[false]{nobreak} Sometimes it is useful to prevent a frame from splitting. The \Opt{nobreak} option is used for this purpose. If you activate this option you can enable it by setting \Opt{nobreak=false}.
+%
+%
+% \ExplOpt[0pt]{needspace} Sometimes it is useful to set a minimum height before a frame should be splitted. For such cases you can use \Opt{needspace}. The option requires a length which sets the minimum height before a frame will be splitted.
+%
+% \ExplOpt{style} If you define a special style with \Cmd{mdfdefinstyle} you can use the key \Opt{style} to load the style. \Pack{mdframed} has no predefined styles.
+%
+% %%\ExplOpt[none]{settings} With version 0.9 of the package \Pack{mdframed} this option was added. This option allows the user to commit some macros. An example is shown in the appendix.
+%
+% %\ExplOpt[none]{printheight} This key allows the entries \texttt{none}, \texttt{info} or \texttt{warning}. In relation to the key the vertical space at the beginning of the environment \Pack{mdframed} on the current page will be printed in the \texttt{log} file.
+%
+% \ExplOpt[left]{align} Sometimes it is useful to align the environment itself. For this you have the option \Opt{align} which can be set to the following strings: \Opt{left}, \Opt{right} and \Opt{center}. The alignments \Opt{left} or \Opt{right} depend on the given lengths \Opt{leftmargin} and \Opt{rightmargin}. Later I will present an example to demonstrate my bad English explanation.
+%
+% \ExplOpt[none]{pstrickssetting} With this key you can pass several options to \Cmd{psset}. For example
+% if you want all lines dashed you will have to set
+% \Opt{pstrickssetting=\{linestyle=dashed\}}. It is very important
+% to put the options of \Opt{pstrickssetting} in brackets.
+% \limitation[PSTricks]
+% \ExplOpt[none]{tikzsetting} With this key you can pass several options to \Cmd{tikzset}. Some examples are listed in the next section. It is very important
+% to put the options of \Opt{tikzsetting} in brackets.
+% \limitation
+%
+% \ExplOpt[none]{apptotikzsetting} With this key you can add several options to \Opt{tikzsetting}. This key based on the idea of manipulation of predefined keys of \Pack{mdframed}.
+% The package \Pack{mdframed} defines via \Cmd{tikzset} the following keys to draw frames.
+% \begin{itemize}
+% \item \Cmd{tikzset\{mdfbox/.style\}}
+% \item \Cmd{tikzset\{mdfcorners./style\}}
+% \item \Cmd{tikzset\{mdfbackground./style\}}
+% \item \Cmd{tikzset\{mdfinnerline./style\}}
+% \item \Cmd{tikzset\{mdfouterline./style\}}
+% \item \Cmd{tikzset\{mdfmiddleline./style\}}
+% \end{itemize}
+% \textbf{Before you change one please have a look at the file \texttt{md-frame-1.mdf} to see the settings.}\limitation
+%
+% \subsection{Hidden Lines}
+%
+%
+% \ExplOpt[true]{topline} Draws a line at the top.
+% \ExplOpt[true]{bottomline} Draws a line at the bottom.
+% \ExplOpt[true]{leftline} Draws a line on the left.
+% \ExplOpt[true]{rightline} Draws a line on the right.
+%
+% \ExplOpt[false]{hidealllines} With this option you can decide whether all lines should be drawn or not.
+%
+% \subsection{Frametitle}
+%
+%
+% \ExplOpt[none]{frametitle} The environment gets a title. To set a title use \Opt{frametitle=\{The Title of the frame\}} as an option of the environment.
+% \ExplOpt[\mbox{} \Cmd{bfseries}\Cmd{large}]{frametitleformat} Sets the format of the \Opt{frametitle}.
+%
+% \subsection{Footnotes}
+% Inside the environment you can use the command \Cmd{footnote} as usual. \Pack{mdframed} uses the syntax of environment \Pack{minipage} with the same counter.
+%
+% Every footnote text will be collected inside a box and will be displayed at the end of the environment \Pack{mdframed}.
+%
+% \ExplOpt[\mbox{} \Cmd{bigskipamount}]{footnotedistance} The length is the distance between the end of the environement \Pack{mdframed} and the displaying of the \Cmd{footnoterule}.
+%
+% \ExplOpt[true]{footnoteinside} The position of the footnotes can be changed with the option \Opt{footnoteinside}. The footnotes will be displayed at the end of the environment but you can decide whether the output is inside \Pack{mdframed} or after.
+%
+% \vskip\baselineskip
+% \noindent\textbf{Note}\qquad The ouput of the footnotes with the option \Opt{footnoteinside=false} are not in a splitted frame. I think it isn't useful because the first line of a new page shouldn't be a footnote.
+%
+% \section{Examples}
+%
+% I outsource the examples in four files to limit the documentation. The files are
+% \begin{description}[style=nextline]
+% \item[\texttt{mdframed-example-default}] Demonstration of examples created with \Opt{framemethod=default}.
+% \item[\texttt{mdframed-example-tikz}] Demonstration of examples created with \Opt{framemethod=TikZ}.
+% \item[\texttt{mdframed-example-pstricks}] Demonstration of examples created with \Opt{framemethod=pstricks}.
+% \item[\texttt{mdframed-example-texsx}] Demonstration of examples like interaction with \Pack{listings}
+% \end{description}
+%
+% The examples are often not equivalent but normally they can be adapted to another method.
+%
+% \section{Errors, Warnings and Messages}
+%
+% The package \Pack{mdframed} provides different errors, warnings and
+% messages in the \texttt{log}-file. Some \LaTeX-editors like
+% \TeX Maker or \TeX Studio have a special tab for errors and warnings
+% but not for messages. So you should look in the \texttt{log-File} itself.
+%
+% The followings errors and warnings are generated by \Pack{mdframed}.
+%
+% \iffalse
+%<*example>
+% \fi
+\begin{tltxmdfexample}
+ The package ... does not exist but
+ needed by mdframed
+\end{tltxmdfexample}
+% \iffalse
+%</example>
+% \fi
+% To avoid this problem you should install the required
+% packages which are listed in section \ref{sec:syntax}.
+%
+% \iffalse
+%<*example>
+% \fi
+\begin{tltxmdfexample}
+ package option style is depreciated
+ use framemethod instead style
+\end{tltxmdfexample}
+% \iffalse
+%</example>
+% \fi
+% With version 0.9d \Pack{mdframed} changed the meaning of the option \Opt{style}. The option is used to load a defined style by \Cmd{mdfdefinestyle}. Instead use \Opt{framemethod} (see section \ref{globopt}).
+%
+% \iffalse
+%<*example>
+% \fi
+\begin{tltxmdfexample}
+ Unknown framemethod .... mdframed
+\end{tltxmdfexample}
+% \iffalse
+%</example>
+% \fi
+% The input string for the option \Opt{framemethod} is unkown. See section \ref{globopt}.
+%
+% \iffalse
+%<*example>
+% \fi
+\begin{tltxmdfexample}
+ You have not loaded ntheorem yet
+\end{tltxmdfexample}
+% \iffalse
+%</example>
+% \fi
+% To use the option \Opt{ntheorem} you have to
+% load the package \Pack{ntheorem}.
+%
+% \iffalse
+%<*example>
+% \fi
+\begin{tltxmdfexample}
+ You have only a width of 3cm
+\end{tltxmdfexample}
+% \iffalse
+%</example>
+% \fi
+% The package \Pack{mdframed} calculates the width of the contents
+% based on the given options. If the width of the contents smaller than
+% 3\,cm you will get this warnings. You should change the
+% settings to get a greater width.
+%
+% \iffalse
+%<*example>
+% \fi
+\begin{tltxmdfexample}
+ You got a bad break
+ you have to change it manually
+ by changing the text, the space
+ or something else
+\end{tltxmdfexample}
+% \iffalse
+%</example>
+% \fi
+% Sometimes you have enough vertical space for the rules and the space
+% between the rules and the contents but not for the contents itself.
+% In this situation you will get this warning because the contents
+% of this box is empty. You have the possibility to change the
+% settings or include a \Cmd{clearpage} in front of
+% the environment \Pack{mdframed}.
+% So far I have no idea how to avoid such things.
+%
+% \iffalse
+%<*example>
+% \fi
+\begin{tltxmdfexample}
+ You got a bad break
+ because the split box is empty
+ You have to change the page settings
+ like enlargethispage or something else
+ You got a bad break
+\end{tltxmdfexample}
+% \iffalse
+%</example>
+% \fi
+% See the explanation above.
+%
+% \iffalse
+%<*example>
+% \fi
+\begin{tltxmdfexample}
+ You got a bad break
+ because the last split box is empty
+ You have to change the settings
+\end{tltxmdfexample}
+% \iffalse
+%</example>
+% \fi
+% The same reason as above but only in the last box.
+%
+%
+% \iffalse
+%<*example>
+% \fi
+\begin{tltxmdfexample}
+ Option ... is already consumed
+ and has no effect on input line ...
+\end{tltxmdfexample}
+% \iffalse
+%</example>
+% \fi
+% If you set a global option inside the document
+% body you will get this warning.
+%
+% \section{Known Problems}
+% In this section I will collect known problems. In case you encounter any further problems, please
+% drop me an email, \href{mailto:marco.daniel@mada-nada.de}{marco.daniel at mada-nada.de}.
+%
+% Do you have any ideas / wishes on further extensions to this package? Please let me know!
+%
+% \begin{enumerate}
+% \item So far the environment isn't compatible with the package \Pack{gmverb}.
+% \end{enumerate}
+%
+%
+% \section{ToDo}
+% \begin{enumerate}
+% \item see \enquote{Known Problems}.
+% \item So far it isn't possible to combine the environment \Cmd{begin\{multicols\}} of the package \Pack{multicol} with \Pack{mdframed} with the whole option list.
+% \item Create new styles.
+% \item Improve page breaks.
+% \item Improve footnotes
+% \item Improve documentation and examples
+% \item Create styles for \Opt{frametitle}
+% \end{enumerate}
+%
+% \section{Previous versions}
+% If you have trouble with the new version of \Pack{mdframed} you can load \texttt{mdframedpre} instead. In this way you load the version v0.6 (see \nameref{rev}).
+% %With the new version 0.7a I changed the internal commands (I use \Pack{etoolbox}) and the algorithm of the splitting. So I don't know whether I will get new bugs or not. For the last case and the previous version (v0.6) works well you can load \Pack{mdframedpre} instead of \Pack{mdframed}.
+%
+% \section{Acknowledgements}
+%
+% \vskip\baselineskip
+%
+%
+%
+% \textsf{Dick Nickalls;\quad Dietrich Grau;\quad Piazza Luca;\quad Jobst Hoffmann}.
+% \medskip
+%
+% \noindent Thanks for proofreading
+%
+% \textsf{Alan Munn} and \textsf{Nahid Shajari}
+% \clearpage
+% \appendix
+% \section{More information}
+% %\addtocontents{toc}{\protect\setcounter{tocdepth}{-4}}
+% In the following section I want to present how to create
+% your own frame.
+% \subsection{How does \Pack{mdframed} work?}
+% With the environment \Cmd{begin\{mdframed\}} \ldots \Cmd{end\{mdframed\}}
+% the whole contents will be saved in a \Cmd{savebox} called \Cmd{@tempboxa}.
+% After the calculation of the width and the height of the \Cmd{@tempboxa} (done by \Pack{mdframed.sty}) the box
+% will be set sequently (done by \Pack{md-frame-X.mdf}). The following figure demonstrates this.
+%
+% \begin{center}
+% \begin{tikzpicture}
+% \newcommand{\mybox}[1]{\parbox{3.5cm}{\centering\small #1}}
+% \tikzstyle{every node}=[font=\sffamily]
+% \tikzset{mymatrixnodes/.style={%
+% matrix of nodes,
+% nodes={framed,draw=black,fill=yellow!10,},
+% column sep=4.2cm,
+% row sep=1.2cm,
+% }}
+% \matrix(m)[mymatrixnodes]
+% {%
+% \mybox{read in and save contents in \Cmd{@tempboxa}} &
+% \mybox{\Cmd{md@putbox@single}} \\
+% \mybox{split \textbackslash @tempboxa in \Cmd{tw@} to the free space of the page} &
+% \mybox{\Cmd{md@putbox@first}} \\
+% \mybox{contents of \Cmd{@tempboxa} have enough space on the new page} &
+% \mybox{\Cmd{md@putbox@second}} \\
+% \mybox{split \Cmd{@tempboxa} in \Cmd{tw@} to the free space of the page} &
+% \mybox{\Cmd{md@putbox@middle}} \\
+% };
+%
+% \tikzstyle{every path}=[black,-triangle 45,thick,shorten >=4pt,shorten <=4pt]
+% \draw (m-1-1) edge node[align=center,anchor=south]{enough space on page} (m-1-2);
+% \draw (m-2-1) edge node[align=center,anchor=south]{type out \Cmd{tw@}} (m-2-2);
+% \draw (m-3-1) edge node[align=center,anchor=south]{yes} (m-3-2);
+% \draw (m-4-1) edge node[align=center,anchor=south]{type out \Cmd{tw@}} (m-4-2);
+%
+% \draw (m-2-2) edge node[align=center,fill=white]%
+% {calculate the height of the new \Cmd{@tempboxa}} (m-3-1);
+%
+%
+% \draw (m-1-1) edge node[align=center,anchor=west]{not enough space on page} (m-2-1);
+% \draw (m-3-1) edge node[align=center,anchor=west]{no} (m-4-1);
+%
+% \draw let \p1=($(m-4-2.south)-(0,1)$), \p2=($(m-3-1.west)-(0.8,0)$) in
+% (m-4-2.south) -- ($(m-4-2.south)+(0,-1)$) --
+% node[align=center,anchor=north]%
+% {calculate the height of the new \Cmd{@tempboxa}} (\x2,\y1)
+% -- ($(m-3-1.west)-(0.8,0)$)-- ($(m-3-1.west)$) ;
+%
+%
+% \end{tikzpicture}
+%
+% \captionof{figure}{Setting the contents of \Pack{mdframed}}\label{fig:way}
+% \end{center}
+%
+% The width of the contents is the result of the settings of \Opt{leftmargin}, \Opt{rightmargin}, \Opt{linewidth}, \Opt{innerleftmargin} and \Opt{innerrightmargin} (see figure \eqref{fig:laengen}).
+%
+%
+%
+% \subsection{The Framecommands}
+% The package \Pack{mdframed} knows four kinds of \enquote{Framecommand}. These commands tell \LaTeX\ how to set the contents of \Pack{mdframed}.
+% \begin{description}
+% \item[\Cmd{md@putbox@single}] This command sets the contents of a single unsplit frame.
+% \item[\Cmd{md@putbox@first}] This command sets the contents of the first frame of a split frame.
+% \item[\Cmd{md@putbox@middle}] This command sets the contents of the middle frame of a split frame.
+% \item[\Cmd{md@putbox@second}] This command sets the contents of the last frame of a split frame.
+% \end{description}
+%
+% Using the explained commands we give an example. The command \Cmd{box} uses the contents of the savebox and types them out.
+%
+% First we want to type out the single box without any settings (but with the calculated width).
+% \iffalse
+%<*example>
+% \fi
+\begin{tltxmdfexample}
+ \makeatletter
+ \def\md@putbox@single{\box\@tempboxa}
+ \makeatother
+\end{tltxmdfexample}
+% \iffalse
+%</example>
+% \fi
+% I am using the command \Cmd{leftline} to start the \enquote{Framecommands} at the left.
+% \iffalse
+%<*example>
+% \fi
+\begin{tltxmdfexample}[deletekeywords={leftline},moretexcs={leftline}]
+ \makeatletter
+ \def\md@putbox@single{\leftline{\box\@tempboxa}}
+ \makeatother
+\end{tltxmdfexample}
+% \iffalse
+%</example>
+% \fi
+%
+% Now you have to know how the lengths are named. Every length which can be modified by the options has the following syntax:
+% \iffalse
+%<*example>
+% \fi
+\begin{tltxmdfexample}
+ \mdf@<Name of the Length>@length
+\end{tltxmdfexample}
+% \iffalse
+%</example>
+% \fi
+% For example the leftmargin is:
+% \iffalse
+%<*example>
+% \fi
+\begin{tltxmdfexample}
+ \mdf@leftmargin@length
+\end{tltxmdfexample}
+% \iffalse
+%</example>
+% \fi
+%
+% To create only a line at the left with the correct \Opt{leftmargin} you can set \Cmd{md@putboxsingle} as follows
+%
+% \iffalse
+%<*example>
+% \fi
+\begin{tltxmdfexample}[deletekeywords={leftline},moretexcs={leftline}]
+ \makeatletter
+ \def\md@putbox@single{%
+ \leftline{%
+ \hspace*{\mdf@leftmargin@length}%
+ \rule[-\dp\@tempboxa]{\mdf@linewidth}%
+ {\ht\@tempboxa+\dp\@tempboxa}%
+ \box\@tempboxa
+ }%
+ }
+ \makeatother
+\end{tltxmdfexample}
+% \iffalse
+%</example>
+% \fi
+%
+% In this way you can do what you want. If you create your own style you
+% can save the file as \Pack{md-frame-X.mdf}.
+% \Pack{X} must be an integer.
+% In this way you can use the option \Opt{framemethod} to
+% load the file by setting \Opt{framemethod=X}.
+%
+% \clearpage
+%
+% \subsection{Revision history}\label{rev}
+% \raggedright
+% \minisec{Version 1.0b submitted 9 Dec 2011}
+% \begin{itemize*}
+% \item fixes documentation (Thanks to Dietrich Grau)
+% \item fixes bug in \Cmd{newmdtheoremenv}
+% \item fixes bug with overfull boxes (Thanks to Dietrich Grau)
+% \item defined \Cmd{newpsstyle}\Opt{mdfbackgroundstyle} and \Opt{mdflinestyle} \limitation[PSTricks]
+% \item created dtx-file (Thanks to Kevin Godby)
+% \item added \Cmd{@parboxrestore} to \Cmd{md@lrbox}
+% \end{itemize*}
+%
+% \footnotesize
+% \minisec{Version 1.0 submitted 13 Nov 2011}
+% \begin{itemize*}
+% \item add option \Opt{userdefinedwidth}
+% \item add option \Opt{align}
+% \item add option \Opt{apptotikzsetting}
+% \item create new command \Cmd{mdfapptodefinestyle}
+% \item changed internal algorithm
+% \item removed calc instead using \eTeX\ \verb+\dimexpr+
+% \item expand documentation
+% \item trying to fixe problems with \Pack{xcolor}
+% \item fixed bug with \Opt{framemethod=pstricks}
+% \item create file \Pack{mdframed-example-default}
+% \item create file \Pack{mdframed-example-tikz}
+% \item create file \Pack{mdframed-example-pstricks}
+% \item create file \Pack{mdframed-example-texsx} (texsx stands for tex stackexchange)
+% \end{itemize*}
+%
+%
+% \minisec{Version 0.9g submitted 08 Oct 2011}
+% \begin{itemize*}
+% \item fixed documentation
+% \item added small footnote compatibility
+% \end{itemize*}
+%
+% \minisec{Version 0.9f submitted 04 Oct 2011}
+% \begin{itemize*}
+% \item fixes bugs (thanks to Lars Madsen)
+% \item added option \Opt{hidealllines}
+% \item fixed documentation
+% \end{itemize*}
+%
+%
+% \minisec{Version 0.9e submitted 11 Sep 2011}
+% \begin{itemize*}
+% \item working with \texttt{twoside} modus
+% \end{itemize*}
+%
+% \minisec{Version 0.9d submitted 10 Sep 2011}
+% \begin{itemize*}
+% \item \textcolor{red}{changed the meaning of the option \Opt{style}}!!! (inspired by Lars Madsen)
+% \item added option \Opt{framemethod} (inspired by Lars Madsen)
+% \item added options \Opt{needspace} (inspired by Lars Madsen)
+% \item added new command \Cmd{mdfdefinestyle} (inspired by Lars Madsen)
+% \item fixes documentation
+% \item renamed \Pack{md-frame-3.mdf} to \Pack{md-frame-2.mdf}
+% \end{itemize*}
+%
+%
+%
+% \minisec{Version 0.9b submitted 7 Sep 2011}
+% \begin{itemize*}
+% \item fixes bugs in \Cmd{newmdtheoremenv} (Thanks to Enrico Gregorio)
+% \end{itemize*}
+%
+% \minisec{Version 0.9a submitted 5 Sep 2011}
+% \begin{itemize*}
+% \item fixes bugs (Thanks to Lars Madson)
+% \item expanded documentation (added revision history)
+% \end{itemize*}
+%
+%
+% \minisec{Version 0.9 submitted 4 Sep 2011}
+% \begin{itemize*}
+% \item added option \Opt{nobreak}
+% \item detecting float environments to prevent split calculation
+% \item expand documentation (Thanks to Alan Munn)
+% \end{itemize*}
+%
+% \minisec{Version 0.8a}
+% \begin{itemize*}
+% \item fixes bugs
+% \item fixes documentation
+% \end{itemize*}
+%
+% \minisec{Version 0.8 submitted 22 Aug 2011}
+% \begin{itemize*}
+% \item added commands: \Cmd{newmdenv}, \Cmd{renewmdenv}, \Cmd{newmdtheoremenv}
+% \item fixes bugs
+% \item fixes documentation
+% \end{itemize*}
+%
+% \minisec{Version 0.7a submitted 6 August 2011}
+% \begin{itemize*}
+% \item added option \Opt{frametitle}
+% \item added option \Opt{frametitlefont}
+% \item allow twolumn-mode
+% \item changed the calculation
+% \item added option \Opt{tikzsetting}
+% \item added options for hidden lines for all styles
+% \item fixes bugs
+% \end{itemize*}
+%
+% \minisec{Version 0.6a submitted 22 Dec 2010}
+% \begin{itemize*}
+% \item fixes bugs
+% \item added \Cmd{mdfsetup}
+% \item expanded documentation
+% \end{itemize*}
+%
+%
+%
+% \minisec{Version 0.6 submitted 18 Dec 2010}
+% \begin{itemize*}
+% \item added \Opt{style=3} with \Pack{pstricks}
+% \item added option \Opt{pstrickssetting}
+% \item added option \Opt{splitbottomskip}
+% \item added option \Opt{splittopskip}
+% \item added options for hidden lines
+% \item changed the calculation
+% \item fixes bugs
+% \end{itemize*}
+%
+% \minisec{Version 0.4a submitted 14 May 2010}
+% \begin{itemize*}
+% \item fixes bug in fontcolor
+% \end{itemize*}
+%
+% \minisec{Version 0.4 submitted 13 May 2010}
+% \begin{itemize*}
+% \item Elke Schubert creates style file for \Pack{tikz}
+% \item fixes some bugs -- calculation of the page dimen (thanks Dick Nickalls)
+% \item using tikz for the frame with different styles
+% \end{itemize*}
+%
+% \minisec{Version 0.3b submitted 1 May 2010}
+% \begin{itemize*}
+% \item fixes some bugs -- thanks to Dietrich Grau
+% \item added new options: \Opt{ntheorem}
+% \end{itemize*}
+%
+% \minisec{Version 0.3a submitted 23 Apr 2010}
+% \begin{itemize*}
+% \item added new options: \Opt{leftmargin} and \Opt{rightmargin}
+% \item fixes some bugs
+% \end{itemize*}
+%
+% \minisec{Version 0.3 submitted16 Apr 2010}
+% \begin{itemize*}
+% \item first upload to \href{http://dante.ctan.org/upload}{CTAN}
+% \end{itemize*}
+%
+% \ltxmdfappendix
+%
+% \section{Implementation}\label{implementation}
+%
+% And finally, here's how it all works\ldots
+%
+%\StopEventually{^^A
+% \PrintChanges^^A
+% \clearpage
+% \PrintIndex^^A
+%}
+%\iffalse
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%\fi
+%
+% \subsection{The Explanation of mdframed.sty}
+%
+% %$Id: mdframed.dtx 271 2011-12-09 12:25:08Z marco $
+% %$Rev: 271 $
+% %$Author: marco $
+% %$Date: 2011-12-09 13:25:08 +0100 (Fr, 09. Dez 2011) $
+% \begin{macro}{mdversion,mdframedpackagename,md@maindate@svn}
+% Set package information
+% \begin{macrocode}
+\def\mdversion{v1.0b}
+\def\mdframedpackagename{mdframed}
+\def\md@maindate@svn$#1: #2 #3 #4-#5-#6 #7 #8${#4/#5/#6\space }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{mdframed}%
+ [\md@maindate@svn$Id: mdframed.dtx 271 2011-12-09 12:25:08Z marco $%
+ \mdversion: \mdframedpackagename]
+% \end{macrocode}
+%
+% \begin{macro}{md@PackageWarning,md@PackageInfo,md@LoadFile@IfExist}
+% Set short form of |\PackageWarning|, |\PackageInfo| and |IfFileExists| in combination
+% with |\RequirePackage|.
+% \begin{macrocode}
+\newcommand*\md@PackageWarning[1]{\PackageWarning{\mdframedpackagename}{#1}}
+\newcommand*\md@PackageInfo[1]{\PackageInfo{\mdframedpackagename}{#1}}
+\newcommand*\md@LoadFile@IfExist[1]{%
+ \IfFileExists{#1.sty}{%
+ \RequirePackage{#1}%
+ }{%
+ \md@PackageWarning{The file #1 does not exist^^J
+ but needed by \mdframedpackagename^^J
+ see documentation fo further information
+ }%
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% Loading required packages
+% \begin{macrocode}
+\RequirePackage{kvoptions}
+\RequirePackage{etex}
+\RequirePackage{etoolbox}[2011/01/03]
+\RequirePackage{zref-abspage}
+\RequirePackage{color}
+% \end{macrocode}
+%
+% Set the family and the prefix of all options. (see documentation of |kvoptions|
+% \begin{macrocode}
+\SetupKeyvalOptions{family=mdf,prefix=mdf@}
+% \end{macrocode}
+
+% \begin{macro}{md@iflength,md@iflength@check,md@iflength@check}
+% Command which checks the input of length options. If the length option is only
+% a number the |defaultunit| will be used. Syntax: |\md@iflength{<Input>}{<length>}{<no length>}|
+% \begin{macrocode}
+\newlength{\md@templength}
+\def\md@iflength#1{%
+ \afterassignment\md@iflength@check%
+ \md@templength=#1\mdf@defaultunit\relax\relax
+ \expandafter\endgroup\next
+}
+\def\md@iflength@check#1{%
+ \begingroup
+ \ifx\relax#1\@empty
+ \def\next{\@secondoftwo}
+ \else
+ \def\next{\@firstoftwo}
+ \expandafter\md@iflength@cleanup
+ \fi
+}
+\def\md@iflength@cleanup#1\relax{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{mdf@option@length,mdf@define@key@length}
+% Command to define a new length width a default value.
+%| \mdf@option@length{<Laengenbezeichnung>}{<Defaultwert>}|
+% \begin{macrocode}
+\newrobustcmd*{\mdf@option@length}[2]{%
+ \expandafter\newlength\csname mdf@#1@length\endcsname%
+ \expandafter\setlength\csname mdf@#1@length\endcsname{#2}%
+ }
+% \end{macrocode}
+% Command to create a new length option.|\mdf@define@key@length{<Bezeichnungder Option der Laenge>}|
+% \begin{macrocode}
+\newrobustcmd*{\mdf@define@key@length}[1]{%
+ \define@key{mdf}{#1}{%
+ \def\@tempa{##1}
+ \md@iflength{\@tempa}%
+ {\csxdef{mdfl@#1}{\the\md@templength}}%
+ {\csxdef{mdfl@#1}{\the\md@templength}}%
+ \expandafter\setlength\csname mdf@#1@length\endcsname{\csname mdfl@#1\endcsname}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{mdf@dolist}
+% Loop used by \Pack{mdframed}.
+% \begin{macrocode}
+\DeclareListParser*{\mdf@dolist}{,}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{mdf@do@lengthoption,mdf@lengthoption@doubledo}
+% The loop of |\mdf@dolist| expected one argument. So I have to define to commands
+% to allow a loop with two arguments. The separation for the input is |==|.
+% \begin{macrocode}
+\def\mdf@do@lengthoption#1{%
+ \mdf@lengthoption@doubledo#1\@nil%
+}
+\def\mdf@lengthoption@doubledo#1==#2\@nil{%
+ \mdf@option@length{#1}{#2}%
+ \mdf@define@key@length{#1}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{mdf@do@stringoption,mdf@stringoption@doubledo}
+% Same as |\mdf@do@lengthoption| and |\mdf@lengthoption@doubledo|.
+% \begin{macrocode}
+\def\mdf@do@stringoption#1{%
+ \mdf@stringoption@doubledo#1\@nil%
+}
+\def\mdf@stringoption@doubledo#1==#2\@nil{%
+ \expandafter\gdef\csname mdf@#1\endcsname{#2}%
+ \define@key{mdf}{#1}{%
+ \csdef{mdf@#1}{##1}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{mdf@do@booloption,mdf@booloption@doubledo}
+% Same as |\mdf@do@lengthoption| and |\mdf@lengthoption@doubledo|.
+% \begin{macrocode}
+\def\mdf@do@booloption#1{%
+ \mdf@booloption@doubledo#1\@nil%
+}
+\def\mdf@booloption@doubledo#1==#2\@nil{%
+ \newbool{mdf@#1}\setbool{mdf@#1}{#2}%
+ \define@key{mdf}{#1}[#2]{%
+ \setbool{mdf@#1}{##1}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{mdf@do@alignoption,mdf@alignoption@tripledo}
+% Same as |\mdf@do@lengthoption| and |\mdf@lengthoption@doubledo|. Here
+% three arguments are required.
+% \begin{macrocode}
+\def\mdf@do@alignoption#1{%
+ \mdf@alignoption@tripledo#1\@nil%
+}
+\def\mdf@alignoption@tripledo#1==#2==#3\@nil{%
+ \csdef{mdf@align@#1@left}{\null\hspace*{#2}}%
+ \csdef{mdf@align@#1@right}{\hspace*{#3}\null}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% Start declaration of options
+% \begin{macrocode}
+\newcounter{mdf@globalstyle@cnt}
+\defcounter{mdf@globalstyle@cnt}{0}
+\newcommand*\mdfglobal@style{0}
+% \end{macrocode}
+% Only provide to be backward compatible
+% \begin{macrocode}
+\define@key{mdf}{style}{%
+ \md@PackageWarning{package option style is depreciated^^J
+ use framemethod instead\MessageBreak}%
+ \renewcommand*\mdfglobal@style{#1}%
+ \defcounter{mdf@globalstyle@cnt}{#1}%
+ \ifcase\value{mdf@globalstyle@cnt}\relax
+ %0 <- kein Grafikpaket
+ \or\md@LoadFile@IfExist{tikz}%
+ \or\md@LoadFile@IfExist{pstricks-add}%
+ \or\defcounter{mdf@globalstyle@cnt}{2}%
+ \md@LoadFile@IfExist{pstricks-add}%
+ \or\md@LoadFile@IfExist{pstricks-add}%
+ \else\md@PackageWarning{Unknown global style \value{mdf@globalstyle@cnt}}%
+ \fi%
+}
+% \end{macrocode}
+%
+% \begin{macro}{mdf@framemethod}
+% \begin{macrocode}
+\providecommand*\mdf@framemethod{}
+\def\md@framemethod@i{}%
+\def\md@framemethod@ii{}%
+\def\md@framemethod@iii{}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\define@key{mdf}{framemethod}[default]{%
+ \lowercase{\def\md@tempa{#1}}
+ \forcsvlist{\listadd\md@framemethod@i}{default,tex,latex,none,0}
+ \forcsvlist{\listadd\md@framemethod@ii}{pgf,tikz,1}
+ \forcsvlist{\listadd\md@framemethod@iii}{pstricks,ps,2,postscript}
+ \xifinlist{\md@tempa}{\md@framemethod@i}%
+ {\def\mdf@@framemethod{default}\defcounter{mdf@globalstyle@cnt}{0}}%
+ {\xifinlist{\md@tempa}{\md@framemethod@ii}%
+ {\def\mdf@@framemethod{tikz}\defcounter{mdf@globalstyle@cnt}{1}}%
+ {\xifinlist{\md@tempa}{\md@framemethod@iii}%
+ {\def\mdf@@framemethod{pstricks}\defcounter{mdf@globalstyle@cnt}{2}}%
+ {%
+ \md@LoadFile@IfExist{#1}%
+ }%
+ }%
+ }%
+ \ifcase\value{mdf@globalstyle@cnt}\relax%
+ %0 <- kein Grafikpaket
+ \or\md@LoadFile@IfExist{tikz}%
+ \or\md@LoadFile@IfExist{pstricks-add}%
+ \or\md@LoadFile@IfExist{pstricks-add}%
+ \fi%
+}
+% \end{macrocode}
+%
+%
+% \begin{macro}{mdf@do@lengthoption}
+% Here the declaration of the length option. The input method is explained above.
+% \begin{macrocode}
+\mdf@dolist{\mdf@do@lengthoption}{%
+ {skipabove==\z@},%
+ {skipbelow==\z@},%
+ {leftmargin==\z@},%
+ {rightmargin==\z@},%
+ {margin==20pt},%
+ {innerleftmargin==10pt},%
+ {innerrightmargin==10pt},%
+ {innertopmargin==0.4\baselineskip},%
+ {innerbottommargin==0.4\baselineskip},%
+ {splittopskip==\z@},%
+ {splitbottomskip==\z@},%
+ {outermargin==-999pt},%
+ {innermargin==-999pt},%
+ {linewidth==0.4pt},%
+ {innerlinewidth==\z@},%
+ {middlelinewidth==\expandafter\mdf@linewidth@length},%
+ {outerlinewidth==\z@},%
+ {roundcorner==\z@},%
+ {footenotedistance==\medskipamount},
+ {userdefinedwidth==\linewidth}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{mdf@do@lengthoption}
+% Here the declaration of the string option. The input method is explained above.
+% \begin{macrocode}
+\mdf@dolist{\mdf@do@stringoption}{%
+ {defaultunit==pt},%
+ {settings=={}},%
+ {linecolor==black},%
+ {backgroundcolor==white},%
+ {fontcolor==black},%
+ {innerlinecolor==\mdf@linecolor},%
+ {outerlinecolor==\mdf@linecolor},%
+ {middlelinecolor==\mdf@linecolor},%
+ {psroundlinecolor==\mdf@backgroundcolor},%
+ {frametitle=={}},%
+ {frametitlefont==\bfseries\large},%
+ {printheight==none},%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{mdf@do@booloption}
+% Here the declaration of the string option. The input method is explained above.
+% \begin{macrocode}
+\mdf@dolist{\mdf@do@booloption}{%
+ {ntheorem==false},%
+ {topline==true},%
+ {leftline==true},%
+ {bottomline==true},%
+ {rightline==true},%
+ {hidealllines==false},%
+ {nobreak==false},%
+ {footnoteinside==true},%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{mdf@do@alignoption}
+% Here the declaration of the align option. The input method is explained above.
+% \begin{macrocode}
+\mdf@dolist{\mdf@do@alignoption}{%
+ {left==\mdf@leftmargin@length==\z@},%
+ {center==\fill==\fill},%
+ {right==\fill==\mdf@rightmargin@length},%
+ {outer==\fill==\mdf@rightmargin@length},%not supported yet
+ {outer==\mdf@leftmargin@length==\fill},%not supported yet
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{mdf@align,mdf@makeboxalign@left,mdf@makeboxalign@right,mdf@makeboxalign@right}
+% Set the alignment.
+% \begin{macrocode}
+\newcommand*\mdf@align{}%
+\newcommand*\mdf@makeboxalign@left{\null\hspace*{\mdf@leftmargin@length}}%
+\newcommand*\mdf@makeboxalign@right{}%
+\define@key{mdf}{align}[left]{%
+ \ifcsundef{mdf@align@#1@left}{%
+ \md@PackageWarning{Unknown alignment #1\MessageBreak}%
+ \letcs\mdf@makeboxalign@left{mdf@align@left@left}%
+ \letcs\mdf@makeboxalign@right{mdf@align@left@right}%
+ }{%
+ \def\mdf@makeboxalign@left{\csuse{mdf@align@#1@left}}%
+ \def\mdf@makeboxalign@right{\csuse{mdf@align@#1@right}}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{mdf@tikzset@local,mdf@psset@local}
+% Option to pass options to tikz or pstricks
+% \begin{macrocode}
+\def\mdf@tikzset@local{\tikzset{tikzsetting/.style={}}}
+\define@key{mdf}{tikzsetting}{%
+ \def\mdf@tikzset@local{\tikzset{tikzsetting/.style={#1}}}%
+}
+\define@key{mdf}{apptotikzsetting}{%
+ \appto\mdf@tikzset@local{#1}%
+}
+\def\mdf@psset@local{}
+\define@key{mdf}{pstrickssetting}{%
+ \def\mdf@psset@local{#1}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{mdf@xcolor}
+% \textcolor{red}{\bfseries Problem width xcolor. This part must be reworked!}
+% \begin{macrocode}
+\def\mdf@xcolor{}
+\define@key{mdf}{xcolor}[none]{%
+ \@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%
+ }%
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{mdf@needspace}
+% Defining the option needspace
+% \begin{macrocode}
+\define@key{mdf}{needspace}[\z@]{%
+ \begingroup%
+ \setlength{\dimen@}{#1}%
+ \vskip\z@\@plus\dimen@%
+ \penalty -100\vskip\z@\@plus -\dimen@%
+ \vskip\dimen@%
+ \penalty 9999%
+ \vskip -\dimen@%
+ \vskip\z@skip % hide the previous |\vskip| from |\addvspace|
+ \endgroup%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\DeclareDefaultOption{%
+ \md@PackageWarning{Unknown Option '\CurrentOption' for mdframed}}
+\ProcessKeyvalOptions*\relax
+% \end{macrocode}
+%
+% \begin{macro}{mdfsetup}
+% Short form of |\setkeys{mdf}|
+% \begin{macrocode}
+\newcommand*{\mdfsetup}{\setkeys{mdf}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{mdf@style}
+% Redefinition of the option |style| to use the key in combination with |mdfdefinedstyle|.
+% \begin{macrocode}
+\define@key{mdf}{style}{%
+ \ifcsundef{mdf@definestyle@#1}{%
+ \md@PackageWarning{Unknown definedstyle #1^^J
+ You have to define a style ^^J
+ via \string\mdfdefinedstyle\MessageBreak
+ }%
+ }%
+ {\expandafter\expandafter\expandafter\mdfsetup%
+ \expandafter\expandafter\expandafter{\csname mdf@definestyle@#1\endcsname}}%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{md@print@space}
+% Option to type out the free vertical space of the current page.
+% \begin{macrocode}
+\let\md@PackageNoInfo\@gobble
+\newrobustcmd*\md@ifstrequal@expand{%
+\expandafter\ifstrequal\expandafter{\mdf@printheight}%
+}
+\newrobustcmd*\md@print@space{%
+ %case "none"
+ \md@ifstrequal@expand{none}{\def\md@tempa{NoInfo}}{%
+ %case "info"
+ \md@ifstrequal@expand{info}{\def\md@tempa{Info}}{%
+ %case "warning"
+ \md@ifstrequal@expand{warning}{\def\md@tempa{Warning}}{%
+ %case "unknown"
+ \md@PackageWarning{Unknown key for printheight=\mdf@printheight^^J
+ use none, info or warning}%
+ \def\md@tempa{none}%
+ }%
+ }%
+ }%
+\def\md@PackageInfoSpace{\csname md@Package\md@tempa\endcsname}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v1.0b}{2011/12/26}{added command \protect\Cmd{@parboxrestore} to \protect\Cmd{md@lrbox}}
+% \begin{macro}{md@lrbox,endmd@lrbox}
+% Modification of the default |\lrbox| and |\endlrbox|
+% \begin{macrocode}
+%\let\md@lrbox\lrbox
+%\patchcmd\md@lrbox\hbox\vbox{}{}
+%\patchcmd\md@lrbox\color@setgroup{%
+%\begingroup%
+%\color@setgroup\color{\mdf@fontcolor}%
+%\hsize=\md@horizontalspaceofbox%
+%\columnwidth=\hsize%
+%\textwidth=\hsize%
+%\linewidth=\hsize%
+%\@parboxrestore%
+%\bgroup\md@@frametitle\egroup\noindent%
+%}{}{}
+\def\md@lrbox#1{%
+ \edef\reserved@a{%
+ \endgroup
+ \setbox#1\vbox{%
+ \begingroup\aftergroup}%
+ \def\noexpand\@currenvir{\@currenvir}%
+ \def\noexpand\@currenvline{\on@line}}%
+ \reserved@a
+ \@endpefalse
+ \@parboxrestore
+ \begingroup%
+ \color@setgroup
+ \color{\mdf@fontcolor}%
+ \hsize=\md@horizontalspaceofbox%
+ \columnwidth=\hsize%
+ \textwidth=\hsize%
+ \linewidth=\hsize%
+ \@parboxrestore
+ \bgroup\md@@frametitle\egroup\noindent%
+ \ignorespaces}
+
+\def\endmd@lrbox{\endgroup\unskip\color@endgroup}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{md@trivlist,endmd@trivlist}
+% Modification of the default |\trivlist| and |\endtrivlist|.
+% \begin{macrocode}
+\let\md@trivlist\trivlist
+\let\endmd@trivlist\endtrivlist
+\patchcmd\endmd@trivlist\@endparenv\md@endparenv{}{}
+\def\md@endparenv{%
+ \addpenalty\@endparpenalty\addvspace\mdf@skipbelow@length\@endpetrue}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{mdf@makebox@out,mdf@makebox@in}
+% \begin{macrocode}
+\newrobustcmd*\mdf@makebox@out[2][\linewidth]{%
+ \noindent\hb@xt@\z@{%
+ \noindent\makebox[\dimexpr #1\relax][l]{#2}%
+ \hss}%
+}%
+\newrobustcmd*\mdf@makebox@in[2][\mdf@userdefinedwidth@length]{%
+ \noindent\makebox[\dimexpr #1\relax][l]{#2}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{mdfdefinestyle,mdfapptodefinestyle}
+% See explanation of this commands above.
+% \begin{macrocode}
+\newrobustcmd*\mdfdefinestyle[2]{%
+ \csdef{mdf@definestyle@#1}{#2}%
+}
+\newrobustcmd*\mdfapptodefinestyle[2]{%
+ \ifcsundef{mdf@definestyle@#1}%
+ {\md@PackageWarning{Unknown style #1}}%
+ {\csappto{mdf@definestyle@#1}{,#2}}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{newmdenv,renewmdenv,newmdtheoremenv}
+% Defining of the new environment defintions.
+% \begin{macrocode}
+\newrobustcmd*\newmdenv[2][]{%
+ \newenvironment{#2}{%
+ \mdfsetup{#1}%
+ \begin{mdframed}%
+ }{%
+ \end{mdframed}%
+ }%
+}
+\newrobustcmd*\renewmdenv[2][]{%
+ \expandafter\let\csname #2\endcsname\relax%
+ \expandafter\let\csname end#2\endcsname\relax%
+ \newmdenv[#1]{#2}%
+ }%
+\newrobustcmd*\newmdtheoremenv{%
+ \kernel@ifnextchar[%]
+ {\newmdtheoremenv@i}{\newmdtheoremenv@i[]}%
+}
+\def\newmdtheoremenv@i[#1]#2{%
+ \kernel@ifnextchar[%]
+ {\newmdtheoremenv@ii[#1]#2}{\newmdtheoremenv@ii[#1]#2[]}%
+}
+\def\newmdtheoremenv@ii[#1]#2[#3]#4{%
+ \kernel@ifnextchar[%]
+ {\newmdtheoremenv@iii[#1]#2[#3]#4}{\newmdtheoremenv@iii[#1]#2[#3]#4[]}%
+}
+\def\newmdtheoremenv@iii[#1]#2[#3]#4[#5]{%
+ \ifboolexpr{ test {\ifblank {#3}} and test {\ifblank {#5}} }%
+ {%
+ \newtheorem{#2}{#4}%
+ }{%
+ \ifboolexpr{ not (test {\ifblank {#3}}) and not (test {\ifblank {#5}}) }%
+ {\md@PackageWarning{You can't such a comibination for newmdtheoremenv^^J
+ Instead mdframed uses newtheorem{#2}{#4}}%
+ \newtheorem{#2}{#4}%
+ }%
+ {%
+ \notblank{#3}{\newtheorem{#2}[#3]{#4}}{}%
+ \notblank{#5}{\newtheorem{#2}{#4}[#5]}{}%
+ }%
+ }%
+ \BeforeBeginEnvironment{#2}{\begin{mdframed}[#1]}%
+ \AfterEndEnvironment{#2}{\end{mdframed}}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{mdframedtitleenv,md@@frametitle}
+% Default definition of the frame tile used by |mdframed|.
+% \begin{macrocode}
+\let\mdraggedtitle\raggedright
+\providecommand*\mdframedtitleenv[1]{%
+ \@afterindentfalse
+ {\parindent \z@
+ \setlength{\parfillskip}{\z@ plus 1fil}%
+ \mdraggedtitle\nobreak\mdf@frametitlefont#1\relax%
+ \par}%
+ \@afterheading}
+
+\newrobustcmd*\md@@frametitle{%
+ \ifx\mdf@frametitle\@empty\relax%
+ \else
+ \color@begingroup\@nobreaktrue%
+ \mdframedtitleenv{\mdf@frametitle}%
+ \color@endgroup
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{md@checkntheorem}
+% Command which checks only |ntheorem|. Later I will support also
+% |thmtools|.
+% \begin{macrocode}
+\newrobustcmd*\md@checkntheorem{%
+ \ifbool{mdf@ntheorem}% %%% Pruefen ob ntheorem gesetzt ist
+ {\ifundef{\theorempreskipamount}%
+ {\md@PackageWarning{You have not loaded ntheorem yet}}%
+ {\setlength{\theorempreskipamount}{\z@}%
+ \setlength{\theorempostskipamount}{\z@}%
+ }%
+ }{}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{md@footnoterule,md@footnoteoutput,md@footnoteinput}
+% Support for footnotes.
+% \begin{macrocode}
+\newrobustcmd*\md@footnoterule{%
+ \kern0\p@%
+ \hrule \@width 1in \kern 2.6\p@}
+\newrobustcmd*\md@footnoteoutput{%
+ \ifvoid\@mpfootins\else
+ \nobreak%
+ \vskip\mdf@footenotedistance@length%
+ \normalcolor%
+ \md@footnoterule
+ \unvbox\@mpfootins
+ \fi%
+}
+\newrobustcmd*\md@footnoteinput{%
+ \def\@mpfn{mpfootnote}%
+ \def\thempfn{\thempfootnote}%
+ \c@mpfootnote\z@%
+ \let\@footnotetext\@mpfootnotetext%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{mdf@load@style,md@styledefinition}
+% Load the method to draw the frame and set style definition.
+% \begin{macrocode}
+\newrobustcmd*\mdf@load@style{%
+\ifcase\value{mdf@globalstyle@cnt}\relax%
+ \input{md-frame-0.mdf}%
+ \or\input{md-frame-1.mdf}%
+ \or\input{md-frame-2.mdf}%
+ \or\input{md-frame-3.mdf}%
+ \else%
+ \IfFileExists{md-frame-\value{mdf@globalstyle@cnt}.mdf}%
+ {\input{md-frame-\value{mdf@globalstyle@cnt}.mdf}}%
+ {%
+ \input{md-frame-0.mdf}%
+ \md@PackageWarning{The style number \value{mdf@globalstyle@cnt} does not exist^^J
+ mdframed ues instead style=0 \mdframedpackagename}%
+ }%
+\fi%
+}%
+\mdf@load@style
+
+\newrobustcmd*\md@styledefinition{%
+ \ifnumequal{\value{mdf@globalstyle@cnt}}{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{\value{mdf@globalstyle@cnt}}{2}%
+ {\deflength{\mdf@innerlinewidth@length}{\z@}%
+ \deflength{\mdf@middlelinewidth@length}{\mdf@linewidth@length}%
+ \deflength{\mdf@outerlinewidth@length}{\z@}%
+ \let\mdf@innerlinecolor\mdf@linecolor%
+ }{}%
+ \ifnumequal{\value{mdf@globalstyle@cnt}}{3}%
+ {\deflength{\mdf@innerlinewidth@length}{\z@}%
+ \deflength{\mdf@middlelinewidth@length}{\mdf@linewidth@length}%
+ \deflength{\mdf@outerlinewidth@length}{\z@}%
+ \let\mdf@innerlinecolor\mdf@linecolor%
+ }{}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{detected@md@put@frame}
+% Detect whether inside a non breakable environment.
+% \begin{macrocode}
+\let\md@reserved@a\@empty
+\newrobustcmd*\detected@md@put@frame{%
+ \ifmdf@nobreak%Option nobreak=true?
+ \def\md@reserved@a{\md@put@frame@standalone}%
+ \else
+ \def\md@reserved@a{\md@put@frame}%
+ \ifnum\@floatpenalty<0\relax%Detecting float
+ \if@twocolumn%
+ \ifx\@captype\@undefined
+ \def\md@reserved@a{\md@put@frame}%
+ \else
+ \md@PackageInfo{mdframed inside float ^^J
+ mdframed uses option nobreak \mdframedpackagename}%
+ \def\md@reserved@a{\md@put@frame@standalone}%
+ \fi
+ \else
+ \md@PackageInfo{mdframed inside float ^^J
+ mdframed uses option nobreak \mdframedpackagename}%
+ \def\md@reserved@a{\md@put@frame@standalone}%
+ \fi%
+ \fi%
+ \if@minipage%
+ \md@PackageInfo{mdframed inside minipage ^^J
+ mdframed uses option nobreak \mdframedpackagename}%
+ \def\md@reserved@a{\md@put@frame@standalone}%
+ \fi%
+ \ifinner%
+ \md@PackageInfo{mdframed inside a box ^^J
+ mdframed uses option nobreak \mdframedpackagename}%
+ \def\md@reserved@a{\md@put@frame@standalone}%
+ \fi%
+ \fi%
+\md@reserved@a%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{md@hidealllines@check}
+% \begin{macrocode}
+\newrobustcmd*\md@hidealllines@check{%
+ \ifbool{mdf@hidealllines}{%
+ \setbool{mdf@leftline}{false}%
+ \setbool{mdf@rightline}{false}%
+ \setbool{mdf@topline}{false}%
+ \setbool{mdf@bottomline}{false}%
+ }{}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%X-length
+% \begin{macrocode}
+\newlength\mdfboundingboxwidth
+\newlength\mdfboundingboxtotalwidth
+% \end{macrocode}
+%Y-length
+% \begin{macrocode}
+\newlength\mdfboundingboxheight
+\newlength\mdfboundingboxdepth
+\newlength\mdfboundingboxtotalheight
+\newlength\md@freevspace@length
+\newlength\md@horizontalwidthofbox@length
+\newlength\md@verticalmarginwhole@length
+% \end{macrocode}
+%
+% \begin{macrocode}
+\providecommand*\ptTps{}
+% \end{macrocode}
+%
+% \begin{macro}{mdfcreateextratikz}
+% Command to expand the tikz code. (see md-frame-1.mdf)
+% \begin{macrocode}
+\newrobustcmd\mdfcreateextratikz{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{mdframed,mdframed@ii,mdframed@i}
+% That the user environement.
+% \begin{macrocode}
+\def\mdframed{\@ifnextchar[\mdframed@i\mdframed@ii}%
+\def\mdframed@ii{\mdframed@i[]}%
+\def\mdframed@i[#1]{% default-Umgebung
+\begingroup
+%%Ueberlegung- wie es besser geht!!!! WICHTIG
+ \mdfsetup{userdefinedwidth=\linewidth,#1}
+ \md@hidealllines@check%
+ \mdf@settings%
+ \md@twoside@checklength%
+ \let\width\z@%
+ \let\height\z@%
+ \setlength{\topsep}{\mdf@skipabove@length}%
+ \begingroup%
+ \let\partopsep\z@%
+ \expandafter\endgroup%
+ \begin{md@trivlist}\item\relax%
+ \md@checkntheorem%
+ \md@styledefinition%
+ \md@footnoteinput%
+ \md@horizontalmargin@equation%
+ \begin{md@lrbox}{\@tempboxa}%
+ }%
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{endmdframed}
+% \begin{macrocode}
+\def\endmdframed{%
+ \ifmdf@footnoteinside%
+ \def\md@reserveda{%
+ \md@footnoteoutput%
+ \end{md@lrbox}%
+ \detected@md@put@frame}%
+ \else%
+ \def\md@reserveda{%
+ \end{md@lrbox}%
+ \detected@md@put@frame%
+ \md@footnoteoutput%
+ }%
+ \fi%
+ \md@reserveda%
+ \end{md@trivlist}%
+ \hrule \@height\z@ \@width\hsize
+\endgroup\@endparenv%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{md@twoside@checklength,md@zref@label,if@md@pageodd,md@pageisodd,md@pageiseven,md@@setzref}
+% The whole bunch is used to work width twoside mode and uses the correct margins.
+% \begin{macrocode}
+\newtoggle{md:checktwoside}
+\settoggle{md:checktwoside}{false}
+\newrobustcmd*\md@twoside@checklength{%
+ \if@twoside
+ \ifboolexpr{ test {\ifdimequal{\mdf@outermargin@length}{-999pt}}
+ and
+ test {\ifdimequal{\mdf@innermargin@length}{-999pt}}
+ }%
+ {%
+ \md@PackageInfo{You haven't set the outermargin/innermargin^^
+ mdframed will use leftmargin/rightmargin}%
+ \settoggle{md:checktwoside}{false}%
+ }%
+ {\settoggle{md:checktwoside}{true}}%
+ \iftoggle{md:checktwoside}{%
+ \ifdimequal{\mdf@outermargin@length}{-999pt}%
+ {\setlength\mdf@rightmargin@length{\z@}}%
+ {\setlength\mdf@rightmargin@length{\mdf@outermargin@length}}%
+ \ifdimequal{\mdf@innermargin@length}{-999pt}%
+ {\setlength\mdf@leftmargin@length{\z@}}%
+ {\setlength\mdf@leftmargin@length{\mdf@innermargin@length}}%
+ }{}%
+ \fi%
+}
+\newcounter{md@zref@counter}%keine doppelten laebes
+\zref@newprop*{md@pagevalue}[0]{\number\value{page}}
+\zref@addprop{\ZREF@mainlist}{md@pagevalue}
+\newrobustcmd*\md@zref@label{%
+ \stepcounter{md@zref@counter}
+ \zref@label{md@pagelabel-\number\value{md@zref@counter}}%
+}
+\newrobustcmd*\if@md@pageodd{%
+ \zref@refused{md@pagelabel-\the\value{md@zref@counter}}%
+ \ifodd\zref@extract{md@pagelabel-\the\value{md@zref@counter}}{md@pagevalue}%
+ \edef\md@reserveda{\md@pageisodd}%
+ \else
+ \edef\md@reserveda{\md@pageiseven}%
+ \fi
+ \md@reserveda%
+}
+\newrobustcmd*\md@pageisodd{%
+ \ifdimequal{\mdf@outermargin@length}{-999pt}%
+ {\setlength\mdf@rightmargin@length{\z@}}%
+ {\setlength\mdf@rightmargin@length{\mdf@outermargin@length}}%
+ \ifdimequal{\mdf@innermargin@length}{-999pt}%
+ {\setlength\mdf@leftmargin@length{\z@}}%
+ {\setlength\mdf@leftmargin@length{\mdf@innermargin@length}}%
+}
+\newrobustcmd*\md@pageiseven{%
+ \ifdimequal{\mdf@outermargin@length}{-999pt}%
+ {\setlength\mdf@leftmargin@length{\z@}}%
+ {\setlength\mdf@leftmargin@length{\mdf@outermargin@length}}%
+ \ifdimequal{\mdf@innermargin@length}{-999pt}%
+ {\setlength\mdf@rightmargin@length{\z@}}%
+ {\setlength\mdf@rightmargin@length{\mdf@innermargin@length}}%
+}
+\newrobustcmd*\md@@setzref{\md@zref@label\if@md@pageodd}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{md@freepagevspace}
+% \begin{macrocode}
+\newrobustcmd*\md@freepagevspace{%
+ \penalty\@M \vskip 2\baselineskip \vskip\height
+ \penalty9999 \vskip -2\baselineskip \vskip-\height
+ \penalty9999
+ \ifdimequal{\pagegoal}{\maxdimen}%
+ {\md@freevspace@length\vsize}%
+ {\md@freevspace@length=\pagegoal\relax%
+ \advance\md@freevspace@length by -\pagetotal\relax%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{md@advancelength@orizontalmargin@add,md@horizontalspaceofbox,md@horizontalmargin@equation}
+% Width of the box
+% \begin{macrocode}
+\newrobustcmd*\md@advancelength@orizontalmargin@add[1]{%
+ \advance\md@horizontalspaceofbox by -\csname mdf@#1@length\endcsname\relax%
+}
+\newlength\md@horizontalspaceofbox
+\newrobustcmd*\md@horizontalmargin@equation{%
+ \setlength{\md@horizontalspaceofbox}{\mdf@userdefinedwidth@length}%
+ \mdf@dolist{\md@advancelength@orizontalmargin@add}{%
+ leftmargin,outerlinewidth,middlelinewidth,%
+ innerlinewidth,innerleftmargin,innerrightmargin,%
+ innerlinewidth,middlelinewidth,outerlinewidth,%
+ rightmargin}%
+ \notbool{mdf@leftline}{%
+ \advance\md@horizontalspaceofbox by \mdf@innerlinewidth@length\relax%
+ \advance\md@horizontalspaceofbox by \mdf@middlelinewidth@length\relax%
+ \advance\md@horizontalspaceofbox by \mdf@outerlinewidth@length\relax%
+ }{}%
+ \notbool{mdf@rightline}{%
+ \advance\md@horizontalspaceofbox by \mdf@innerlinewidth@length\relax%
+ \advance\md@horizontalspaceofbox by \mdf@middlelinewidth@length\relax%
+ \advance\md@horizontalspaceofbox by \mdf@outerlinewidth@length\relax%
+ }{}%
+% \end{macrocode}
+% |\advance\md@horizontalspaceofbox by - \width\md@arrayparboxrestore%|
+% \begin{macrocode}
+ %%% Beruecksichtigung, dass Auszaehlung bzw. list-Umgebung enthalten
+ \ifdimless{\md@horizontalspaceofbox}{3cm}%
+ {\md@PackageWarning{You have only a width of 3cm}}{}
+ \hsize=\md@horizontalspaceofbox%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{md@keeplines@single}
+% horizontal space in relation of the lines.
+% \begin{macrocode}
+\newrobustcmd*\md@keeplines@single{%
+ \notbool{mdf@topline}{%
+ \advance\md@verticalmarginwhole@length by -\mdf@middlelinewidth@length%
+ }{}%
+ \notbool{mdf@bottomline}{%
+ \advance\md@verticalmarginwhole@length by -\mdf@middlelinewidth@length%
+ }{}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{md@advancelength@verticalmarginwhole,md@advancelength@freevspace@sub,md@advancelength@freevspace@add}
+% Loop macros to calculate the height. Used by |\mdf@dolist|.
+% \begin{macrocode}
+\newrobustcmd*\md@advancelength@verticalmarginwhole[1]{%
+ \advance\md@verticalmarginwhole@length by \csname mdf@#1@length\endcsname\relax%
+}
+\newrobustcmd*\md@advancelength@freevspace@sub[1]{%
+ \advance\dimen@ by -\csname mdf@#1@length\endcsname\relax%
+}
+\newrobustcmd*\md@advancelength@freevspace@add[1]{%
+ \advance\dimen@ by \csname mdf@#1@length\endcsname\relax%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{md@reset}
+% Reset changes
+% \begin{macrocode}
+\protected@edef\md@reset{\boxmaxdepth\the\boxmaxdepth
+ \splittopskip\the\splittopskip}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{md@put@frame@standalone}
+% Output of |mdframed| inside a non breakable environement.
+% \begin{macrocode}
+\newrobustcmd*\md@put@frame@standalone{\relax%
+ \ifvoid\@tempboxa\relax
+ \md@PackageWarning{The environment is empty\MessageBreak}%
+ \let\md@reserved@a\relax%
+ \else
+ %Hier berechnung Box-Inhalt+Rahmen oben und unten
+ \setlength{\md@verticalmarginwhole@length}%
+ {\dimexpr\ht\@tempboxa+\dp\@tempboxa\relax}%
+ \mdf@dolist{\md@advancelength@verticalmarginwhole}{%
+ outerlinewidth,middlelinewidth,innerlinewidth,innertopmargin,
+ innerbottommargin,innerlinewidth,middlelinewidth,outerlinewidth}%
+ \md@keeplines@single%
+ \def\md@reserved@a{\md@putbox@single}%
+ \fi
+ \md@reserved@a%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{md@put@frame}
+% Output of |mdframed| inside a breakable environement.
+% The comparison are onyl check whether the contents must be split or not.
+% \begin{macrocode}
+\def\md@put@frame{\relax%
+\ifvoid\@tempboxa\relax
+\md@PackageWarning{The environment is empty\MessageBreak}%
+\let\md@reserved@a\relax%
+\else
+ \md@print@space%
+ \md@freepagevspace%
+ \md@PackageInfoSpace{\the\md@freevspace@length before the beginning of ^^J
+ the environment ending on input line \MessageBreak}%
+ \ifdimless{\md@freevspace@length}{2\baselineskip}
+ {\md@PackageInfo{Not enough space on this page}
+ \vfill\eject%
+ \def\md@reserved@a{\md@put@frame}%
+ }{%
+ %Hier berechnung Box-Inhalt+Rahmen oben und unten
+ \setlength{\md@verticalmarginwhole@length}%
+ {\dimexpr\ht\@tempboxa+\dp\@tempboxa\relax}%
+ \mdf@dolist{\md@advancelength@verticalmarginwhole}{%
+ outerlinewidth,middlelinewidth,innerlinewidth,innertopmargin,
+ innerbottommargin,innerlinewidth,middlelinewidth,outerlinewidth}%
+ \md@keeplines@single%
+ \ifdimless{\md@verticalmarginwhole@length}{\md@freevspace@length}%
+ {%passt auf Seite%
+ \begingroup
+ \iftoggle{md:checktwoside}{\md@@setzref}{}%
+ \md@putbox@single
+ \endgroup
+ \let\md@reserved@a\relax}%
+ {\def\md@reserved@a{\md@put@frame@i}}%passt nicht auf Seite
+ }%
+\fi
+\md@reserved@a%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v1.0b}{2011/12/09}{removed \protect\Cmd{setbox\textbackslash tw@ \textbackslash vbox{\textbackslash unvbox \textbackslash tw@}}}
+% \begin{macro}{md@put@frame@i}
+% Output of the first splitted box.
+% \begin{macrocode}
+\def\md@put@frame@i{%Box muss gesplittet werden -- Ausgabe der ersten Teilbox
+ %Berechnung der Splittgroesse -- Linien und Abstand oben
+ \md@freepagevspace%
+ \dimen@=\the\md@freevspace@length%
+ \dimen@i=\mdf@innertopmargin@length%
+ \advance\dimen@i by \mdf@linewidth@length%
+ \advance\dimen@i by 2\baselineskip%
+ \ifdim\dimen@<\dimen@i\relax
+ \hrule \@height\z@ \@width\hsize%
+ \vfill\eject%
+ \def\md@reserved@a{\md@put@frame}%
+ \else%
+ \mdf@dolist{\md@advancelength@freevspace@sub}{%
+ outerlinewidth,middlelinewidth,innerlinewidth,%
+ innertopmargin,splitbottomskip}%
+ \ifbool{mdf@topline}{}{\advance\dimen@ by \mdf@middlelinewidth@length}%
+ \ifdimless{\ht\@tempboxa+\dp\@tempboxa}{\dimen@}%
+ {\md@PackageWarning{You got a bad break\MessageBreak
+ you have to change it manually\MessageBreak
+ by changing the text, the space\MessageBreak
+ or something else}%
+ \advance\dimen@ by -1.8\baselineskip\relax%
+ }{}%
+ \advance\dimen@ by -1pt\relax%Box darf nicht zu Groß werden.
+ \splitmaxdepth\z@ \splittopskip\mdf@splittopskip@length%
+ \setbox\tw@\vsplit\@tempboxa to \dimen@
+% \setbox\tw@\vbox{\unvbox\tw@}%needed?
+ \ifdimgreater{\ht\tw@+\dp\tw@}{\dimen@}{%Falsch gesplittet
+ \md@PackageInfo{Box was splittet wrong\MessageBreak}%
+ \dimen@i=\dimen@
+ \advance\dimen@ by -\ht\tw@
+ \advance\dimen@ by -\dp\tw@
+ \advance\dimen@i by 0.5\dimen@
+ \splittopskip\z@%
+ \setbox\@tempboxa\vbox{\unvbox\tw@%
+ %benoetigt um Tiefe zu haben
+ \hrule \@height\dp\strutbox \@width\z@
+ \unvbox\@tempboxa}
+ \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}%
+ \setbox\@tempboxa\vbox{\box\tw@\box\@tempboxa}%
+ \def\md@reserved@a{\md@put@frame}%
+ \fi
+ \ifvoid\tw@%%pruefe, ob erste Box leer ist
+ \hrule \@height\z@ \@width\hsize
+ \vfill\eject%
+ \def\md@reserved@a{\md@put@frame}%
+ \else
+ \ifdimequal{\ht\tw@}{0pt}%
+ {\hrule \@height\z@ \@width\hsize%
+ \vfill\eject%
+ \setbox\@tempboxa\vbox{\unvbox\tw@\unvbox\@tempboxa}
+ \def\md@reserved@a{\md@put@frame}%
+ }%
+ {%
+ \begingroup
+ \iftoggle{md:checktwoside}{\md@@setzref}{}%
+ \md@putbox@first%%%Groesse des Splittens passt
+ \endgroup
+ \hrule \@height\z@ \@width\hsize
+ \vfill\eject%
+ \def\md@reserved@a{\md@put@frame@ii}%
+ }%
+ \fi%
+ \fi%
+\md@reserved@a%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{md@put@frame@ii}
+% Output of the middle and last box.
+% \begin{macrocode}
+\def\md@put@frame@ii{%Ausgabe der mittleren Box(en) wenn vorhanden
+ \setlength{\md@freevspace@length}{\vsize}%
+ \setlength{\dimen@}{\dimexpr\ht\@tempboxa+\dp\@tempboxa\relax}%
+ \mdf@dolist{\md@advancelength@freevspace@add}{%
+ outerlinewidth,middlelinewidth,innerlinewidth,%
+ innerbottommargin}%%%Addition der Linien unten
+ \ifbool{mdf@bottomline}{}{\advance\dimen@ by -\mdf@middlelinewidth@length\relax}%
+ \ifdimgreater{\dimen@}{\md@freevspace@length}%
+ {%
+ \advance\md@freevspace@length by -\mdf@splitbottomskip@length
+ \splitmaxdepth\z@ \splittopskip\mdf@splittopskip@length%
+ \setbox\tw@\vsplit\@tempboxa to \md@freevspace@length%
+ % \setbox\tw@\vbox{\unvbox\tw@}%PRUEFEN!!!
+ \setbox\@tempboxa\vbox{\unvbox\@tempboxa}%PRUEFEN!!!!
+ \ifvoid\@tempboxa\relax%
+ \md@PackageWarning{You got a bad break\MessageBreak
+ because the split box is empty\MessageBreak
+ You have to change the settings}%
+ \fi%
+ \begingroup
+ \iftoggle{md:checktwoside}{\md@@setzref}{}%
+ \md@putbox@middle%
+ \endgroup
+ \hrule \@height\z@ \@width\hsize
+ \vfill\eject
+ \def\md@reserved@a{\md@put@frame@ii}%
+ }%Hier die Ausgabe der mittleren Box
+ {\ifvoid\@tempboxa
+ \md@PackageWarning{You got a bad break\MessageBreak
+ because the last split box is empty\MessageBreak
+ You have to change the settings}%
+ \fi%
+ \begingroup
+ \iftoggle{md:checktwoside}{\md@@setzref}{}%
+ \md@putbox@second%
+ \endgroup
+ \let\md@reserved@a\relax%
+ }%Hier kommt die Ausgabe der letzten Box
+ \md@reserved@a%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macrocode}
+\DisableKeyvalOption[action=warning,package=mdframed]{mdf}{framemethod}%
+\DisableKeyvalOption[action=warning,package=mdframed]{mdf}{xcolor}%
+
+ \endinput
+% \end{macrocode}
+%
+%\iffalse
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%\fi
+%
+%\iffalse
+% \begin{macrocode}
+%<*mdframedefault>
+% \end{macrocode}
+%\fi
+% \subsection{The Explanation of md-frame-0.mdf}
+% \begin{macrocode}
+%% Style file for mdframed for package option `framemethod=default`
+%%
+%% 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: mdframed.dtx 271 2011-12-09 12:25:08Z marco $
+%
+% \end{macrocode}
+%
+% \begin{macro}{mdframedOpackagename,md@frameOdate@svn}
+% local settings
+% \begin{macrocode}
+\def\mdframedOpackagename{md-frame-0}
+\def\md@frameOdate@svn$#1: #2 #3 #4-#5-#6 #7 #8${#4/#5/#6\space }
+\ProvidesFile{md-frame-0.mdf}%
+ [\md@frameOdate@svn$Id: mdframed.dtx 271 2011-12-09 12:25:08Z marco $%
+ \mdversion: \mdframedOpackagename]
+% \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{mdframedOpackagename,md@frameOdate@svn}
+% short command
+% \begin{macrocode}
+\def\mdf@background@default{\color{\mdf@backgroundcolor}}
+\def\mdf@linecolor@default{\color{\mdf@middlelinecolor}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{md@putbox@single,md@frame@background@single,md@frame@topandbottomline@single,md@frame@leftline@single,md@frame@rightline@single,md@frame@rightline@single}
+% The frame of of a non splitted contents of mdframed
+% \begin{macrocode}
+\def\md@frame@background@single{%
+ \rlap{\mdf@background@default%
+ \rule[-\mdfboundingboxdepth]%
+ {\mdfboundingboxtotalwidth}%
+ {\mdfboundingboxtotalheight}%
+ }%
+}%
+%
+\def\md@frame@topandbottomline@single{%
+ \rlap{\mdf@linecolor@default%
+ \ifbool{mdf@topline}{%
+ \rule[\dimexpr\mdfboundingboxheight-\mdfboundingboxdepth%
+ +\mdf@innerbottommargin@length+\mdf@innertopmargin@length\relax]%
+ {\mdfboundingboxtotalwidth}%
+ {\mdf@middlelinewidth@length}}%
+ {}%
+ }%
+ \rlap{\mdf@linecolor@default%
+ \ifbool{mdf@bottomline}{%
+ \rule[\dimexpr-\mdfboundingboxdepth-\mdf@middlelinewidth@length\relax]%
+ {\mdfboundingboxtotalwidth}%
+ {\mdf@middlelinewidth@length}}%
+ {}%
+ }%
+}
+%
+\def\md@frame@leftline@single{%
+ \llap{\mdf@linecolor@default%
+ \rule[\dimexpr-\mdfboundingboxdepth%
+ \ifbool{mdf@bottomline}{-\mdf@middlelinewidth@length}{}\relax]%
+ {\mdf@middlelinewidth@length}%
+ {\dimexpr\mdfboundingboxtotalheight%
+ +\ifbool{mdf@bottomline}{\mdf@middlelinewidth@length}{0pt}%
+ +\ifbool{mdf@topline}{\mdf@middlelinewidth@length}{0pt}\relax}%
+ }%
+}%
+%
+\def\md@frame@rightline@single{%
+ \rlap{\mdf@linecolor@default%
+ \hspace*{\mdfboundingboxwidth}%
+ \hspace*{\mdf@innerrightmargin@length}%
+ \rule[\dimexpr-\mdfboundingboxdepth%
+ \ifbool{mdf@bottomline}{-\mdf@middlelinewidth@length}{}\relax]%
+ {\mdf@middlelinewidth@length}%
+ {\dimexpr\mdfboundingboxtotalheight%
+ +\ifbool{mdf@bottomline}{\mdf@middlelinewidth@length}{0pt}%
+ +\ifbool{mdf@topline}{\mdf@middlelinewidth@length}{0pt}\relax}%
+ }%
+}%
+%
+\def\md@putbox@single{%%%%% Ausgabe der ungesplitteten Gesamtbox
+ \ifvoid\@tempboxa
+ \else%
+ \mdf@makebox@out{%
+ \mdf@makeboxalign@left%
+ \setlength{\mdfboundingboxwidth}%
+ {\wd\@tempboxa}%
+ \setlength{\mdfboundingboxtotalwidth}%
+ {\dimexpr\mdfboundingboxwidth+\mdf@innerleftmargin@length%
+ +\mdf@innerrightmargin@length\relax}%
+ \setlength{\mdfboundingboxheight}%
+ {\dimexpr\ht\@tempboxa+\dp\@tempboxa\relax}%
+ \setlength{\mdfboundingboxdepth}%
+ {\dimexpr\dp\@tempboxa+\mdf@innerbottommargin@length\relax}%
+ \setlength{\mdfboundingboxtotalheight}%
+ {\dimexpr\mdfboundingboxheight+\mdf@innertopmargin@length%
+ +\mdf@innerbottommargin@length\relax}%
+ \noindent%
+ \setlength{\@tempdima}{\dimexpr\mdfboundingboxtotalwidth%
+ +\ifbool{mdf@leftline}%
+ {\mdf@middlelinewidth@length}{\z@}%
+ +\ifbool{mdf@rightline}%
+ {\mdf@middlelinewidth@length}{\z@}\relax}%
+ \mdf@makebox@in[\@tempdima]{%
+ \null%
+ \ifbool{mdf@leftline}{%
+ \hspace*{\mdf@middlelinewidth@length}%
+ \md@frame@leftline@single%
+ }{}%
+ \md@frame@topandbottomline@single%
+ \md@frame@background@single%
+ \hspace*{\mdf@innerleftmargin@length}%
+ \ifbool{mdf@rightline}{%
+ \md@frame@rightline@single%
+ }{}%
+ {\box\@tempboxa}%
+ }%
+ \mdf@makeboxalign@right%
+ }%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{md@putbox@first,md@frame@background@first,md@frame@leftline@first,md@frame@topline@first,md@frame@rightline@first}
+% The first frame of of a splitted contents of mdframed
+% \begin{macrocode}
+\def\md@frame@background@first{%
+ \rlap{\mdf@background@default%
+ \rule[-\mdfboundingboxdepth]%
+ {\mdfboundingboxtotalwidth}%
+ {\mdfboundingboxtotalheight}%
+ }%
+}%
+%
+\def\md@frame@leftline@first{%
+ \llap{\mdf@linecolor@default%
+ \rule[-\mdfboundingboxdepth]%
+ {\mdf@middlelinewidth@length}%
+ {\dimexpr\mdfboundingboxtotalheight%
+ +\ifbool{mdf@topline}{\mdf@middlelinewidth@length}{0pt}\relax}%
+ }%
+}%
+%
+\def\md@frame@topline@first{%
+ \rlap{\mdf@linecolor@default%
+ \rule[\dimexpr\mdfboundingboxheight-\mdfboundingboxdepth+%
+ \mdf@splitbottomskip@length+\mdf@innertopmargin@length\relax]%
+ {\mdfboundingboxtotalwidth}%
+ {\mdf@middlelinewidth@length}%
+ }%
+}
+%
+\def\md@frame@rightline@first{%
+ \rlap{\mdf@linecolor@default\hspace*{\mdfboundingboxwidth}%
+ \hspace*{\mdf@innerrightmargin@length}%
+ \rule[-\mdfboundingboxdepth]%
+ {\mdf@middlelinewidth@length}%
+ {\dimexpr\mdfboundingboxtotalheight%
+ +\ifbool{mdf@topline}{\mdf@middlelinewidth@length}{0pt}\relax}%
+ }%
+}%
+%
+\def\md@putbox@first{%%%% Ausgabe der Teilbox 1
+ \ifvoid\@tempboxa
+ \else%
+ \mdf@makebox@out[\linewidth]{%
+ \mdf@makeboxalign@left%
+ \setlength{\mdfboundingboxwidth}{\wd\tw@}%
+ \setlength{\mdfboundingboxtotalwidth}%
+ {\dimexpr\mdfboundingboxwidth+\mdf@innerleftmargin@length%
+ +\mdf@innerrightmargin@length\relax}%
+ \setlength{\mdfboundingboxheight}{\dimexpr\ht\tw@+\dp\tw@\relax}%
+ \setlength{\mdfboundingboxdepth}%
+ {\dimexpr\dp\tw@+\mdf@splitbottomskip@length\relax}%
+ \setlength{\mdfboundingboxtotalheight}%
+ {\dimexpr\mdfboundingboxheight+\mdf@innertopmargin@length%
+ +\mdf@splitbottomskip@length\relax}%
+ \setlength{\@tempdima}%
+ {\dimexpr\mdfboundingboxtotalwidth%
+ +\ifbool{mdf@leftline}{\mdf@middlelinewidth@length}{\z@}%
+ +\ifbool{mdf@rightline}{\mdf@middlelinewidth@length}{\z@}%
+ \relax}%
+ \mdf@makebox@in[\@tempdima]{%
+ \null%
+ \ifbool{mdf@leftline}{%
+ \hspace*{\mdf@middlelinewidth@length}%
+ \md@frame@leftline@first}{}%
+ \ifbool{mdf@topline}{%
+ \md@frame@topline@first}{}%
+ \md@frame@background@first%
+ \hspace*{\mdf@innerleftmargin@length}%
+ \ifbool{mdf@rightline}{%
+ \md@frame@rightline@first}{}%
+ {\box\tw@}%
+ }%
+ \mdf@makeboxalign@right%
+ }%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{md@putbox@second,md@frame@background@second,md@frame@leftline@second,md@frame@bottomline@second,md@frame@rightline@second}
+% The last frame of of a splitted contents of mdframed
+% \begin{macrocode}
+\def\md@frame@background@second{%
+ \rlap{\mdf@background@default%
+ \rule[-\mdfboundingboxdepth]%
+ {\mdfboundingboxtotalwidth}%
+ {\mdfboundingboxtotalheight}%
+ }%
+}%
+%
+\def\md@frame@leftline@second{%
+ \llap{\mdf@linecolor@default%
+ \rule[\dimexpr-\mdfboundingboxdepth%
+ -\ifbool{mdf@bottomline}{\mdf@middlelinewidth@length}{0pt}\relax]%
+ {\mdf@middlelinewidth@length}%
+ {\dimexpr\mdfboundingboxtotalheight%
+ +\ifbool{mdf@bottomline}{\mdf@middlelinewidth@length}{0pt}\relax}%
+ }%
+}%
+%
+\def\md@frame@bottomline@second{%
+ \rlap{\mdf@linecolor@default%
+ \rule[\dimexpr-\mdfboundingboxdepth-\mdf@middlelinewidth@length\relax]%
+ {\mdfboundingboxtotalwidth}%
+ {\mdf@middlelinewidth@length}%
+ }%
+}%
+%
+\def\md@frame@rightline@second{%
+ \rlap{\mdf@linecolor@default\hspace*{\mdfboundingboxwidth}%
+ \hspace*{\mdf@innerrightmargin@length}%
+ \rule[\dimexpr-\mdfboundingboxdepth%
+ -\ifbool{mdf@bottomline}{\mdf@middlelinewidth@length}{0pt}\relax]%
+ {\mdf@middlelinewidth@length}%
+ {\dimexpr\mdfboundingboxtotalheight%
+ +\ifbool{mdf@bottomline}{\mdf@middlelinewidth@length}{0pt}\relax}%
+ }%
+}%
+%
+\def\md@putbox@second{%
+ \ifvoid\@tempboxa%
+ \else
+ \mdf@makebox@out{%
+ \mdf@makeboxalign@left%
+ \setlength{\mdfboundingboxwidth}{\wd\@tempboxa}%
+ \setlength{\mdfboundingboxtotalwidth}%
+ {\dimexpr\mdfboundingboxwidth+\mdf@innerleftmargin@length%
+ +\mdf@innerrightmargin@length\relax}%
+ \setlength{\mdfboundingboxheight}{\dimexpr\ht\@tempboxa+\dp\@tempboxa\relax}%
+ \setlength{\mdfboundingboxdepth}%
+ {\dimexpr\dp\@tempboxa+\mdf@innerbottommargin@length\relax}%
+ \setlength{\mdfboundingboxtotalheight}%
+ {\dimexpr\mdfboundingboxheight+\mdf@innerbottommargin@length\relax}%
+ \setlength{\@tempdima}{\dimexpr\mdfboundingboxtotalwidth%
+ +\ifbool{mdf@leftline}{\mdf@middlelinewidth@length}{\z@}%
+ +\ifbool{mdf@rightline}{\mdf@middlelinewidth@length}{\z@}%
+ \relax}%
+ \mdf@makebox@in[\@tempdima]{%
+ \null%
+ \ifbool{mdf@leftline}{%
+ \hspace*{\mdf@middlelinewidth@length}%
+ \md@frame@leftline@second}{}%
+ \ifbool{mdf@bottomline}{%
+ \md@frame@bottomline@second}{}%
+ \md@frame@background@second%
+ \hspace*{\mdf@innerleftmargin@length}%
+ \ifbool{mdf@rightline}{%
+ \md@frame@rightline@second}{}%
+ {\box\@tempboxa}%
+ }%
+ \mdf@makeboxalign@right%
+ }%
+ \fi%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{md@putbox@middle,md@frame@background@middle,md@frame@leftline@middle,md@frame@rightline@middle}
+% The last frame of of a splitted contents of mdframed
+% \begin{macrocode}
+\def\md@frame@background@middle{%
+ \rlap{\mdf@background@default%
+ \rule[-\mdfboundingboxdepth]%
+ {\mdfboundingboxtotalwidth}%
+ {\mdfboundingboxtotalheight}%
+ }%
+}%
+%
+\def\md@frame@leftline@middle{%
+ \llap{\mdf@linecolor@default%
+ \rule[-\mdfboundingboxdepth]%
+ {\mdf@middlelinewidth@length}%
+ {\mdfboundingboxtotalheight}%
+ }%
+}%
+%
+\def\md@frame@rightline@middle{%
+ \rlap{\mdf@linecolor@default\hspace*{\mdfboundingboxwidth}%
+ \hspace*{\mdf@innerrightmargin@length}%
+ \rule[-\mdfboundingboxdepth]%
+ {\mdf@middlelinewidth@length}%
+ {\mdfboundingboxtotalheight}%
+ }%
+}%
+%
+\def\md@putbox@middle{%
+ \ifvoid\@tempboxa%
+ \else
+ \mdf@makebox@out{%
+ \mdf@makeboxalign@left%
+ \setlength{\mdfboundingboxwidth}{\wd\tw@}%
+ \setlength{\mdfboundingboxtotalwidth}%
+ {\dimexpr\mdfboundingboxwidth+\mdf@innerleftmargin@length%
+ +\mdf@innerrightmargin@length\relax}%
+ \setlength{\mdfboundingboxheight}{\dimexpr\ht\tw@+\dp\tw@\relax}%
+ \setlength{\mdfboundingboxdepth}%
+ {\dimexpr\dp\tw@+\mdf@splitbottomskip@length\relax}%
+ \setlength{\mdfboundingboxtotalheight}%
+ {\dimexpr\mdfboundingboxheight+\mdf@splitbottomskip@length\relax}%
+ \setlength{\@tempdima}{\dimexpr\mdfboundingboxtotalwidth%
+ +\ifbool{mdf@leftline}{\mdf@middlelinewidth@length}{\z@}%
+ +\ifbool{mdf@rightline}{\mdf@middlelinewidth@length}{\z@}%
+ \relax}%
+ \mdf@makebox@in[\@tempdima]{%
+ \null%
+ \ifbool{mdf@leftline}{%
+ \hspace*{\mdf@middlelinewidth@length}%
+ \md@frame@leftline@middle}{}%
+ \md@frame@background@middle%
+ \hspace*{\mdf@innerleftmargin@length}%
+ \ifbool{mdf@rightline}{%
+ \md@frame@rightline@middle}{}%
+ {\box\tw@}%
+ }%
+ \mdf@makeboxalign@right%
+ }
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+ \endinput
+% \end{macrocode}
+%
+% \iffalse
+%</mdframedefault>
+% \fi
+%
+%
+%\iffalse
+% \begin{macrocode}
+%<*mdframetikz>
+% \end{macrocode}
+%\fi
+% \subsection{The Explanation of md-frame-1.mdf}
+% \begin{macrocode}
+%% Style file for mdframed for package option `framemethod=default`
+%%
+%% 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: mdframed.dtx 271 2011-12-09 12:25:08Z marco $
+%
+% \end{macrocode}
+%
+% \begin{macro}{mdframedIpackagename,md@frameIdate@svn}
+% local settings
+% \begin{macrocode}
+\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: mdframed.dtx 271 2011-12-09 12:25:08Z marco $ %
+ \mdversion: \mdframedIpackagename]
+%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{md@test@ltrb,md@test@ltr,md@test@ltb,md@test@trb,md@test@lrb,md@test@lb,md@test@rb,^^A
+% md@test@tr,md@test@lt,md@test@lr,md@test@tb,md@test@l,md@test@r,md@test@t,md@test@b,md@test@noline}
+% Short forms of checking the option which lines should be drawn.
+% \begin{macrocode}
+%%%% _____t_____
+%%%% | |
+%%%% | |
+%%%% | |
+%%%% l| |r
+%%%% | |
+%%%% | |
+%%%% |___________|
+%%%% b
+%%Zusammenhaenge abfragen:
+\newrobustcmd*\md@test@ltrb{%
+ \ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline})
+ and (bool {mdf@leftline}) and (bool {mdf@rightline})}}
+%3-set
+\newrobustcmd*\md@test@ltr{%
+ \ifboolexpr{ (bool {mdf@topline}) and not (bool {mdf@bottomline})
+ and (bool {mdf@leftline}) and (bool {mdf@rightline})}}
+\newrobustcmd*\md@test@ltb{%
+ \ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline})
+ and (bool {mdf@leftline}) and not (bool {mdf@rightline})}}
+\newrobustcmd*\md@test@trb{%
+ \ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline})
+ and not (bool {mdf@leftline}) and (bool {mdf@rightline})}}
+\newrobustcmd*\md@test@lrb{%
+ \ifboolexpr{ not (bool {mdf@topline}) and (bool {mdf@bottomline})
+ and (bool {mdf@leftline}) and (bool {mdf@rightline})}}
+%2-set
+\newrobustcmd*\md@test@lb{%
+ \ifboolexpr{ not (bool {mdf@topline}) and (bool {mdf@bottomline})
+ and (bool {mdf@leftline}) and not (bool {mdf@rightline})}}
+\newrobustcmd*\md@test@rb{%
+ \ifboolexpr{ not (bool {mdf@topline}) and (bool {mdf@bottomline})
+ and not (bool {mdf@leftline}) and (bool {mdf@rightline})}}
+\newrobustcmd*\md@test@tr{%
+ \ifboolexpr{ (bool {mdf@topline}) and not (bool {mdf@bottomline})
+ and not (bool {mdf@leftline}) and (bool {mdf@rightline})}}
+\newrobustcmd*\md@test@lt{%
+ \ifboolexpr{ (bool {mdf@topline}) and not (bool {mdf@bottomline})
+ and (bool {mdf@leftline}) and not (bool {mdf@rightline})}}
+\newrobustcmd*\md@test@lr{%
+ \ifboolexpr{not (bool {mdf@topline}) and not (bool {mdf@bottomline})
+ and (bool {mdf@leftline}) and (bool {mdf@rightline})}}
+\newrobustcmd*\md@test@tb{%
+ \ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline})
+ and not (bool {mdf@leftline}) and not (bool {mdf@rightline})}}
+%Einzellinien
+\newrobustcmd*\md@test@l{%
+ \ifboolexpr{ not (bool {mdf@topline}) and not (bool {mdf@bottomline})
+ and (bool {mdf@leftline}) and not (bool {mdf@rightline})}}
+\newrobustcmd*\md@test@r{%
+ \ifboolexpr{ not (bool {mdf@topline}) and not (bool {mdf@bottomline})
+ and not (bool {mdf@leftline}) and (bool {mdf@rightline})}}
+\newrobustcmd*\md@test@t{%
+ \ifboolexpr{ (bool {mdf@topline}) and not (bool {mdf@bottomline})
+ and not (bool {mdf@leftline}) and not (bool {mdf@rightline})}}
+\newrobustcmd*\md@test@b{%
+ \ifboolexpr{ not (bool {mdf@topline}) and (bool {mdf@bottomline})
+ and not (bool {mdf@leftline}) and not (bool {mdf@rightline})}}
+%keine Linien
+\newrobustcmd*\md@test@noline{%
+ \ifboolexpr{ not (bool {mdf@topline}) and not (bool {mdf@bottomline})
+ and not (bool {mdf@leftline}) and not (bool {mdf@rightline})}}
+%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{md@tikz@settings}
+% Define settings for tikz
+% \begin{macrocode}
+%Allgemeine Einstellungen fuer tikz
+\def\md@tikz@settings{%
+%
+ \tikzset{mdfbox/.style={anchor=south west,%
+ inner sep=0pt,%
+ outer sep=0pt,%
+ \mdf@fontcolor,}}% anchor der Ausgabebox ist unten links
+ \tikzset{mdfcorners/.style={rounded corners=\mdf@roundcorner@length}}%
+ \tikzset{mdfbackground/.style={fill=\mdf@backgroundcolor,%
+ draw=\mdf@backgroundcolor}}%
+%
+ \tikzset{mdfouterline/.style={}}%
+% nur wenn outerlinewidth>0 wird aussere Linie gezeichnet
+ \ifdimgreater{\mdf@outerlinewidth@length}{\z@}
+ {\tikzset{mdfouterline/.append style={%
+ draw=\mdf@outerlinecolor,%
+ line width=2\mdf@outerlinewidth@length+\mdf@middlelinewidth@length}}}{}%
+%
+ \tikzset{mdfinnerline/.style={}}%
+% nur wenn innerlinewidth>0 wird innere Linie gezeichnet
+ \ifdimgreater{\mdf@innerlinewidth@length}{\z@}
+ {\tikzset{mdfinnerline/.append style={%
+ draw=\mdf@innerlinecolor,%
+ line width=2\mdf@innerlinewidth@length+\mdf@middlelinewidth@length}}}{}%
+%
+ \mdf@tikzset@local
+ \tikzset{mdfmiddleline/.style={}}%
+% nur wenn middlelinewidth>0 wird mittlere Linie gezeichnet
+ \ifdimgreater{\mdf@middlelinewidth@length}{\z@}
+ {\tikzset{mdfmiddleline/.append style={%
+ preaction={draw=\mdf@middlelinecolor,%
+ line width=\mdf@middlelinewidth@length},%
+ line width=\mdf@middlelinewidth@length,%
+ tikzsetting}}%
+ }{}%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{md@tikzbox@tfl,md@tikzbox@otl}
+% Befehle fuer Ausgabe von Rahmen und Hintergrund
+% \begin{macrocode}
+\newrobustcmd*\md@tikzbox@tfl[1]{%three or four borders
+ \clip(0,0)rectangle(\mdfboundingboxwidth,\mdfboundingboxheight);%
+ \begin{scope}[mdfcorners]%
+ \clip[preaction=mdfouterline]%
+ [postaction=mdfbackground]%
+ [postaction=mdfinnerline]#1;%
+ \end{scope}%
+ \path[mdfmiddleline,mdfcorners]#1;}%
+\newrobustcmd*\md@tikzbox@otl[2]{%one or two borders
+ \clip(0,0)rectangle(\mdfboundingboxwidth,\mdfboundingboxheight);%
+ \begin{scope}
+ \path[mdfouterline,mdfcorners]#1;%
+ \clip[postaction=mdfbackground]#2;%
+ \path[mdfinnerline,mdfcorners]#1;%
+ \end{scope}
+ \path[mdfmiddleline,mdfcorners]#1;}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{md@putbox@single}
+% Output of the non breakable contents.
+% \begin{macrocode}
+% Info zu den verwendeten Punkten:
+% O ist die untere linke Ecke der Mitte der middleline
+% P ist die obere rechte Ecke der Mitte der middleline
+% A ist der Punkt fuer den anchor (d.h. die untere linke Ecke) der Ausgabebox
+%
+\def\md@putbox@single{%
+ \ifvoid\@tempboxa
+ \else%
+ \mdf@makebox@out{%
+ \mdf@makeboxalign@left%
+ \md@tikz@settings%
+%
+ \setlength\mdfboundingboxwidth{\wd\@tempboxa}%
+ \advance\mdfboundingboxwidth by \mdf@innerleftmargin@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@innerrightmargin@length\relax%
+ \ifbool{mdf@leftline}{%
+ \advance\mdfboundingboxwidth by \mdf@innerlinewidth@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@middlelinewidth@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@outerlinewidth@length\relax}{}%
+ \ifbool{mdf@rightline}{%
+ \advance\mdfboundingboxwidth by \mdf@innerlinewidth@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@middlelinewidth@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@outerlinewidth@length\relax}{}%
+%
+ \setlength\mdfboundingboxheight{\dimexpr\ht\@tempboxa+\dp\@tempboxa\relax}%
+ \advance\mdfboundingboxheight by \mdf@innertopmargin@length\relax%
+ \advance\mdfboundingboxheight by \mdf@innerbottommargin@length\relax%
+ \ifbool{mdf@topline}{%
+ \advance\mdfboundingboxheight by \mdf@innerlinewidth@length\relax%
+ \advance\mdfboundingboxheight by \mdf@middlelinewidth@length\relax%
+ \advance\mdfboundingboxheight by \mdf@outerlinewidth@length\relax}{}%
+ \ifbool{mdf@bottomline}{%
+ \advance\mdfboundingboxheight by \mdf@innerlinewidth@length\relax%
+ \advance\mdfboundingboxheight by \mdf@middlelinewidth@length\relax%
+ \advance\mdfboundingboxheight by \mdf@outerlinewidth@length\relax}{}%
+ \mdf@makebox@in[\mdfboundingboxwidth]{%
+ \null%
+ \begin{tikzpicture}[remember picture]%
+ \begin{scope}
+ \pgfmathsetlengthmacro\md@Ax{+\mdf@innerleftmargin@length}%
+ \pgfmathsetlengthmacro\md@Ay{+\mdf@innerbottommargin@length}%
+ \pgfmathsetlengthmacro\md@Ox{+0pt}%
+ \pgfmathsetlengthmacro\md@Oy{+0pt}%
+ \pgfmathsetlengthmacro\md@Px{+\mdfboundingboxwidth}%
+ \pgfmathsetlengthmacro\md@Py{+\mdfboundingboxheight}%
+ \ifbool{mdf@leftline}%
+ {%
+ \pgfmathsetlengthmacro\md@Ax%
+ {\md@Ax+\mdf@outerlinewidth@length+%
+ \mdf@middlelinewidth@length+\mdf@innerlinewidth@length}%
+ \pgfmathsetlengthmacro\md@Ox%
+ {\md@Ox+\mdf@outerlinewidth@length+0.5\mdf@middlelinewidth@length}%
+ }{}%
+ \ifbool{mdf@rightline}%
+ {%
+ \pgfmathsetlengthmacro\md@Px%
+ {\md@Px-\mdf@outerlinewidth@length-0.5\mdf@middlelinewidth@length}%
+ }{}%
+ \ifbool{mdf@bottomline}%
+ {%
+ \pgfmathsetlengthmacro\md@Ay%
+ {\md@Ay+\mdf@outerlinewidth@length+\mdf@middlelinewidth@length%
+ +\mdf@innerlinewidth@length}%
+ \pgfmathsetlengthmacro\md@Oy%
+ {\md@Oy+\mdf@outerlinewidth@length+0.5\mdf@middlelinewidth@length}%
+ }{}%
+ \ifbool{mdf@topline}%
+ {%
+ \pgfmathsetlengthmacro\md@Py%
+ {\md@Py-\mdf@outerlinewidth@length-0.5\mdf@middlelinewidth@length}%
+ }{}%
+%
+ \coordinate(O)at(\md@Ox,\md@Oy);%
+ \coordinate(P)at(\md@Px,\md@Py);%
+%
+ \md@test@ltrb{\md@tikzbox@tfl{(O)--(O|-P)--(P)--(P|-O)--cycle}}{}%
+%
+ \md@test@ltb{\md@tikzbox@tfl{(P|-O)--(O)--(O|-P)--(P)}}{}%
+ \md@test@trb{\md@tikzbox@tfl{(O|-P)--(P)--(P|-O)--(O)}}{}%
+ \md@test@ltr{\md@tikzbox@tfl{(O)--(O|-P)--(P)--(P|-O)}}{}%
+ \md@test@lrb{\md@tikzbox@tfl{(P-|O)--(O)--(O-|P)--(P)}}{}%
+%
+ \md@test@lb{\md@tikzbox@otl{(P|-O)--(O)--(O|-P)}%
+ {(P)--(P|-O)[mdfcorners]--(O)--(O|-P)}%
+ }{}%
+ \md@test@rb{\md@tikzbox@otl{(P)--(P|-O)--(O)}%
+ {(O|-P)--(P)[mdfcorners]--(P|-O)--(O)}%
+ }{}%
+ \md@test@tr{\md@tikzbox@otl{(O-|P)--(P)--(P-|O)}%
+ {(O)--(O|-P)[mdfcorners]--(P)--(P|-O)}%
+ }{}%
+ \md@test@lt{\md@tikzbox@otl{(O)--(O|-P)--(P)}%
+ {(P|-O)--(O)[mdfcorners]--(O|-P)--(P)}%
+ }{}%
+ \md@test@lr{\md@tikzbox@otl{(O)--(O|-P)(P)--(P|-O)}%
+ {(O)rectangle(P)}%
+ }{}%
+ \md@test@tb{\md@tikzbox@otl{(O)--(O-|P)(O|-P)--(P)}%
+ {(O)rectangle(P)}%
+ }{}%
+%
+ \md@test@l{\md@tikzbox@otl{(O)--(O|-P)}%
+ {(O)rectangle(P)}%
+ }{}%
+ \md@test@r{\md@tikzbox@otl{(O-|P)--(P)}%
+ {(O)rectangle(P)}%
+ }{}%
+ \md@test@t{\md@tikzbox@otl{(O|-P)--(P)}%
+ {(O)rectangle(P)}%
+ }{}%
+ \md@test@b{\md@tikzbox@otl{(O)--(O-|P)}%
+ {(O)rectangle(P)}%
+ }{}%
+%
+ \md@test@noline{\path[mdfbackground,mdfcorners](O)rectangle(P);}{}%
+%
+ \node[mdfbox]at(\md@Ax,\md@Ay){\box\@tempboxa};% Ausgabebox einfuegen
+ \end{scope}
+ %HIER KOMMT EIN WEITERES MAKRO
+ \mdfcreateextratikz
+ \end{tikzpicture}%
+ }%
+ \mdf@makeboxalign@right%
+ }%
+ \fi
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{md@putbox@first}
+% Output of the first breakable contents.
+% \begin{macrocode}
+\def\md@putbox@first{%
+ \ifvoid\@tempboxa
+ \else%
+ \mdf@makebox@out{%
+ \mdf@makeboxalign@left%
+ \md@tikz@settings%
+ \setlength\mdfboundingboxwidth{\wd\tw@}%
+ \advance\mdfboundingboxwidth by \mdf@innerleftmargin@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@innerrightmargin@length\relax%
+ \ifbool{mdf@leftline}{%
+ \advance\mdfboundingboxwidth by \mdf@innerlinewidth@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@middlelinewidth@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@outerlinewidth@length\relax}{}%
+ \ifbool{mdf@rightline}{%
+ \advance\mdfboundingboxwidth by \mdf@innerlinewidth@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@middlelinewidth@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@outerlinewidth@length\relax}{}%
+%
+ \setlength\mdfboundingboxheight{\dimexpr\ht\tw@+\dp\tw@\relax}%
+ \advance\mdfboundingboxheight by \mdf@innertopmargin@length\relax%
+ \advance\mdfboundingboxheight by \mdf@splitbottomskip@length\relax%
+ \ifbool{mdf@topline}{%
+ \advance\mdfboundingboxheight by \mdf@innerlinewidth@length\relax%
+ \advance\mdfboundingboxheight by \mdf@middlelinewidth@length\relax%
+ \advance\mdfboundingboxheight by \mdf@outerlinewidth@length\relax}{}%
+%
+ %\ifdimequal{\pagegoal}{\maxdimen}{\enlargethispage{\baselineskip}}{}% ???
+ \ifdimgreater{\pagegoal-\maxdimen}{0pt}{}{\enlargethispage{\baselineskip}}%
+ \mdf@makebox@in[\mdfboundingboxwidth]{%
+ \null%
+ \begin{tikzpicture}[remember picture]
+ \begin{scope}
+%
+ \pgfmathsetlengthmacro\md@Ax{+\mdf@innerleftmargin@length}%
+ \pgfmathsetlengthmacro\md@Ay{+\mdf@splitbottomskip@length}%
+ \pgfmathsetlengthmacro\md@Ox{+0pt}%
+ \pgfmathsetlengthmacro\md@Oy{+0pt}%
+ \pgfmathsetlengthmacro\md@Px{+\mdfboundingboxwidth}%
+ \pgfmathsetlengthmacro\md@Py{+\mdfboundingboxheight}%
+ \ifbool{mdf@leftline}
+ {%
+ \pgfmathsetlengthmacro\md@Ax%
+ {\md@Ax+\mdf@outerlinewidth@length+%
+ \mdf@middlelinewidth@length+\mdf@innerlinewidth@length}%
+ \pgfmathsetlengthmacro\md@Ox%
+ {\md@Ox+\mdf@outerlinewidth@length+0.5\mdf@middlelinewidth@length}%
+ }{}%
+ \ifbool{mdf@rightline}{%
+ \pgfmathsetlengthmacro\md@Px%
+ {\md@Px-\mdf@outerlinewidth@length-0.5\mdf@middlelinewidth@length}%
+ }{}%
+ \ifbool{mdf@topline}{%
+ \pgfmathsetlengthmacro\md@Py%
+ {\md@Py-\mdf@outerlinewidth@length-0.5\mdf@middlelinewidth@length}%
+ }{}%
+%
+ \coordinate(O)at(\md@Ox,\md@Oy);%
+ \coordinate(P)at(\md@Px,\md@Py);%
+%
+ \ifboolexpr{test {\md@test@ltrb} or test {\md@test@ltr}}%
+ {\md@tikzbox@tfl{(O)--(O|-P)--(P)--(P|-O)}}%
+ {}%
+ \ifboolexpr{test {\md@test@ltb} or test {\md@test@lt}}%
+ {\md@tikzbox@otl{(O)--(O|-P)--(P)}{(P|-O)--(O)[mdfcorners]--(O|-P)--(P)}}%
+ {}%
+ \ifboolexpr{test {\md@test@trb} or test {\md@test@tr}}%
+ {\md@tikzbox@otl{(O-|P)--(P)--(P-|O)}{(O)--(O|-P)[mdfcorners]--(P)--(P|-O)}}%
+ {}%
+ \ifboolexpr{test {\md@test@lrb} or test {\md@test@lr}}%
+ {\md@tikzbox@otl{(O)--(O|-P)(P)--(P|-O)}{(O)rectangle(P)}}%
+ {}%
+ \ifboolexpr{test {\md@test@tb} or test {\md@test@t}}%
+ {\md@tikzbox@otl{(O|-P)--(P)}{(O)rectangle(P)}}%
+ {}%
+ \ifboolexpr{test {\md@test@lb} or test {\md@test@l}}%
+ {\md@tikzbox@otl{(O)--(O|-P)}{(O)rectangle(P)}}%
+ {}%
+ \ifboolexpr{test {\md@test@rb} or test {\md@test@r}}%
+ {\md@tikzbox@otl{(O-|P)--(P)}{(O)rectangle(P)}}%
+ {}%
+ \md@test@b{\path[mdfbackground](O)rectangle(P)}{}%
+%
+ \md@test@noline{\path[mdfbackground,mdfcorners](O)--(O|-P)--(P)--(P|-O);}{}%
+%
+ \node[mdfbox]at(\md@Ax,\md@Ay){\box\tw@};% Ausgabebox einfuegen
+ \end{scope}
+ %HIER KOMMT EIN WEITERES MAKRO
+ \mdfcreateextratikz%
+ \end{tikzpicture}%
+ }%
+ \mdf@makeboxalign@right%
+ }%
+ \fi
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{md@putbox@middle}
+% Output of the middle breakable contents.
+% \begin{macrocode}
+\def\md@putbox@middle{%
+ \ifvoid\@tempboxa
+ \else%
+ \mdf@makebox@out{%
+ \mdf@makeboxalign@left%
+ \md@tikz@settings%
+%
+ \setlength\mdfboundingboxwidth{\wd\tw@}%
+ \advance\mdfboundingboxwidth by \mdf@innerleftmargin@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@innerrightmargin@length\relax%
+ \ifbool{mdf@leftline}{%
+ \advance\mdfboundingboxwidth by \mdf@innerlinewidth@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@middlelinewidth@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@outerlinewidth@length\relax}{}%
+ \ifbool{mdf@rightline}{%
+ \advance\mdfboundingboxwidth by \mdf@innerlinewidth@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@middlelinewidth@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@outerlinewidth@length\relax}{}%
+%
+ \setlength\mdfboundingboxheight{\dimexpr\ht\tw@+\dp\tw@\relax}%
+ \advance\mdfboundingboxheight by \mdf@splitbottomskip@length\relax%
+%
+ \mdf@makebox@in[\mdfboundingboxwidth]{%
+ \null%
+ \begin{tikzpicture}[remember picture]
+ \begin{scope}
+ \pgfmathsetlengthmacro\md@Ax{+\mdf@innerleftmargin@length}%
+ \pgfmathsetlengthmacro\md@Ay{+\mdf@splitbottomskip@length}%
+ \pgfmathsetlengthmacro\md@Ox{+0pt}%
+ \pgfmathsetlengthmacro\md@Oy{+0pt}%
+ \pgfmathsetlengthmacro\md@Px{+\mdfboundingboxwidth}%
+ \pgfmathsetlengthmacro\md@Py{+\mdfboundingboxheight}%
+ \ifbool{mdf@leftline}%
+ {%
+ \pgfmathsetlengthmacro\md@Ax%
+ {\md@Ax+\mdf@outerlinewidth@length+%
+ \mdf@middlelinewidth@length+\mdf@innerlinewidth@length}%
+ \pgfmathsetlengthmacro\md@Ox%
+ {\md@Ox+\mdf@outerlinewidth@length+0.5\mdf@middlelinewidth@length}%
+ }{}%
+ \ifbool{mdf@rightline}%
+ {%
+ \pgfmathsetlengthmacro\md@Px%
+ {\md@Px-\mdf@outerlinewidth@length-0.5\mdf@middlelinewidth@length}%
+ }{}%
+%
+ \coordinate(O)at(\md@Ox,\md@Oy);%
+ \coordinate(P)at(\md@Px,\md@Py);%
+%
+ \ifboolexpr{bool {mdf@leftline} and bool {mdf@rightline}}%
+ {\md@tikzbox@otl{(O)--(O|-P)(P)--(P|-O)}{(O)rectangle(P)}}{}%
+ \ifboolexpr{bool {mdf@leftline} and not (bool {mdf@rightline})}%
+ {\md@tikzbox@otl{(O)--(O|-P)}{(O)rectangle(P)}}{}%
+ \ifboolexpr{not (bool {mdf@leftline}) and bool {mdf@rightline}}%
+ {\md@tikzbox@otl{(P)--(P|-O)}{(O)rectangle(P)}}{}%
+ \ifboolexpr{not (bool {mdf@leftline}) and not (bool {mdf@rightline})}%
+ {\path[mdfbackground](O)rectangle(P)}{}%
+%
+ \node[mdfbox]at(\md@Ax,\md@Ay){\box\tw@};% Ausgabebox einfuegen
+ \end{scope}
+ %HIER KOMMT EIN WEITERES MAKRO
+ \end{tikzpicture}%
+ }%
+ \mdf@makeboxalign@right%
+ }%
+ \fi
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{md@putbox@second}
+% Output of the last breakable contents.
+% \begin{macrocode}
+\def\md@putbox@second{%
+ \ifvoid\@tempboxa
+ \else%
+ \mdf@makebox@out{%
+ \mdf@makeboxalign@left%
+ \md@tikz@settings%
+%
+ \setlength\mdfboundingboxwidth{\wd\@tempboxa}%
+ \advance\mdfboundingboxwidth by \mdf@innerleftmargin@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@innerrightmargin@length\relax%
+ \ifbool{mdf@leftline}{%
+ \advance\mdfboundingboxwidth by \mdf@innerlinewidth@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@middlelinewidth@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@outerlinewidth@length\relax}{}%
+ \ifbool{mdf@rightline}{%
+ \advance\mdfboundingboxwidth by \mdf@innerlinewidth@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@middlelinewidth@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@outerlinewidth@length\relax}{}%
+%
+ \setlength\mdfboundingboxheight{\dimexpr\ht\@tempboxa+\dp\@tempboxa\relax}%
+ \advance\mdfboundingboxheight by \mdf@innerbottommargin@length\relax%
+ \ifbool{mdf@bottomline}{%
+ \advance\mdfboundingboxheight by \mdf@innerlinewidth@length\relax%
+ \advance\mdfboundingboxheight by \mdf@middlelinewidth@length\relax%
+ \advance\mdfboundingboxheight by \mdf@outerlinewidth@length\relax}{}%
+%
+ \mdf@makebox@in[\mdfboundingboxwidth]{%
+ \null%
+ \begin{tikzpicture}[remember picture]
+ \begin{scope}
+ \pgfmathsetlengthmacro\md@Ax{+\mdf@innerleftmargin@length}%
+ \pgfmathsetlengthmacro\md@Ay{+\mdf@innerbottommargin@length}%
+ \pgfmathsetlengthmacro\md@Ox{+0pt}%
+ \pgfmathsetlengthmacro\md@Oy{+0pt}%
+ \pgfmathsetlengthmacro\md@Px{+\mdfboundingboxwidth}%
+ \pgfmathsetlengthmacro\md@Py{+\mdfboundingboxheight}%
+ \ifbool{mdf@leftline}%
+ {%
+ \pgfmathsetlengthmacro\md@Ax%
+ {\md@Ax+\mdf@outerlinewidth@length+%
+ \mdf@middlelinewidth@length+\mdf@innerlinewidth@length}%
+ \pgfmathsetlengthmacro\md@Ox%
+ {\md@Ox+\mdf@outerlinewidth@length+0.5\mdf@middlelinewidth@length}%
+ }{}%
+ \ifbool{mdf@rightline}%
+ {%
+ \pgfmathsetlengthmacro\md@Px%
+ {\md@Px-\mdf@outerlinewidth@length-0.5\mdf@middlelinewidth@length}%
+ }{}%
+ \ifbool{mdf@bottomline}%
+ {%
+ \pgfmathsetlengthmacro\md@Ay%
+ {\md@Ay+\mdf@outerlinewidth@length+%
+ \mdf@middlelinewidth@length+\mdf@innerlinewidth@length}%
+ \pgfmathsetlengthmacro\md@Oy%
+ {\md@Oy+\mdf@outerlinewidth@length+0.5\mdf@middlelinewidth@length}%
+ }{}%
+%
+ \coordinate(O)at(\md@Ox,\md@Oy);%
+ \coordinate(P)at(\md@Px,\md@Py);%
+%
+ \ifboolexpr{test {\md@test@ltrb} or test {\md@test@lrb}}%
+ {\md@tikzbox@tfl{(P-|O)--(O)--(O-|P)--(P)}}%
+ {}%
+ \ifboolexpr{test {\md@test@ltb} or test {\md@test@lb}}%
+ {\md@tikzbox@otl{(P-|O)--(O)--(O-|P)}{(P)--(P|-O)[mdfcorners]--(O)--(O|-P)}}%
+ {}%
+ \ifboolexpr{test {\md@test@trb} or test {\md@test@rb}}%
+ {\md@tikzbox@otl{(P)--(P|-O)--(O)}{(O|-P)--(P)[mdfcorners]--(P|-O)--(O)}}%
+ {}%
+ \ifboolexpr{test {\md@test@ltr} or test {\md@test@lr}}%
+ {\md@tikzbox@otl{(O)--(O|-P)(P)--(P|-O)}{(O)rectangle(P)}}%
+ {}%
+ \ifboolexpr{test {\md@test@tb} or test {\md@test@b}}%
+ {\md@tikzbox@otl{(O)--(O-|P)}{(O)rectangle(P)}}%
+ {}%
+ \ifboolexpr{test {\md@test@lt} or test {\md@test@l}}%
+ {\md@tikzbox@otl{(O)--(O|-P)}{(O)rectangle(P)}}%
+ {}%
+ \ifboolexpr{test {\md@test@tr} or test {\md@test@r}}%
+ {\md@tikzbox@otl{(O-|P)--(P)}{(O)rectangle(P)}}%
+ {}%
+ \md@test@t{\path[mdfbackground](O)rectangle(P)}{}%
+%
+ \md@test@noline{\path[mdfbackground,mdfcorners](O|-P)--(O)--(O-|P)--(P)}{}%
+%
+ \node[mdfbox] at (\md@Ax,\md@Ay){\box\@tempboxa};% Ausgabebox einfuegen
+ \end{scope}
+ %HIER KOMMT EIN WEITERES MAKRO
+ \end{tikzpicture}%
+ }%
+ \mdf@makeboxalign@right%
+ }%
+ \fi
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+ \endinput
+% \end{macrocode}
+% \iffalse
+%</mdframetikz>
+% \fi
+%
+%
+%\iffalse
+% \begin{macrocode}
+%<*mdframepstricks>
+% \end{macrocode}
+%\fi
+% \subsection{The Explanation of md-frame-2.mdf / md-frame-3.mdf}
+% \begin{macrocode}
+%% Style file for mdframed for package option `framemethod=default`
+%%
+%% 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: mdframed.dtx 271 2011-12-09 12:25:08Z marco $
+%
+% \end{macrocode}
+%
+% \begin{macro}{mdframedIIpackagename,md@frameIIdate@svn}
+% local settings
+% \begin{macrocode}
+\def\mdframedIIpackagename{md-frame-2}
+\def\md@frameIIdate@svn$#1: #2 #3 #4-#5-#6 #7 #8${#4/#5/#6\space }
+\ProvidesFile{md-frame-2.mdf}%
+ [\md@frameIIdate@svn$Id: mdframed.dtx 271 2011-12-09 12:25:08Z marco $ %
+ \mdversion: \mdframedIIpackagename]
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{md@ptlength@to@pscode,ptTps}
+% Command to calculate a latex length to postscript
+% \begin{macrocode}
+\def\md@ptlength@to@pscode#1{\pst@number{#1} \pst@number\psxunit div }
+\let\ptTps\md@ptlength@to@pscode\relax
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{md@test@ltrb,md@test@ltr,md@test@ltb,md@test@trb,md@test@lrb,md@test@lb,md@test@rb,^^A
+% md@test@tr,md@test@lt,md@test@lr,md@test@tb,md@test@l,md@test@r,md@test@t,md@test@b,md@test@single}
+% Short forms of checking the option which lines should be drawn.
+% \begin{macrocode}
+%%%% _____t_____
+%%%% | |
+%%%% | |
+%%%% | |
+%%%% l| |r
+%%%% | |
+%%%% | |
+%%%% |___________|
+%%%% b
+%%Zusammenhaenge abfragen:
+\newrobustcmd*\md@test@ltrb{%
+ \ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline})
+ and (bool {mdf@leftline}) and (bool {mdf@rightline})}}
+%3-set
+\newrobustcmd*\md@test@ltr{%
+ \ifboolexpr{ (bool {mdf@topline}) and not (bool {mdf@bottomline})
+ and (bool {mdf@leftline}) and (bool {mdf@rightline})}}
+\newrobustcmd*\md@test@ltb{%
+ \ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline})
+ and (bool {mdf@leftline}) and not (bool {mdf@rightline})}}
+\newrobustcmd*\md@test@trb{%
+ \ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline})
+ and not (bool {mdf@leftline}) and (bool {mdf@rightline})}}
+\newrobustcmd*\md@test@lrb{%
+ \ifboolexpr{ not (bool {mdf@topline}) and (bool {mdf@bottomline})
+ and (bool {mdf@leftline}) and (bool {mdf@rightline})}}
+%2-set
+\newrobustcmd*\md@test@lb{%
+ \ifboolexpr{ not (bool {mdf@topline}) and (bool {mdf@bottomline})
+ and (bool {mdf@leftline}) and not (bool {mdf@rightline})}}
+\newrobustcmd*\md@test@rb{%
+ \ifboolexpr{ not (bool {mdf@topline}) and (bool {mdf@bottomline})
+ and not (bool {mdf@leftline}) and (bool {mdf@rightline})}}
+\newrobustcmd*\md@test@tr{%
+ \ifboolexpr{ (bool {mdf@topline}) and not (bool {mdf@bottomline})
+ and not (bool {mdf@leftline}) and (bool {mdf@rightline})}}
+\newrobustcmd*\md@test@lt{%
+ \ifboolexpr{ (bool {mdf@topline}) and not (bool {mdf@bottomline})
+ and (bool {mdf@leftline}) and not (bool {mdf@rightline})}}
+%Einzellinien
+\newrobustcmd*\md@test@single{%
+ \ifboolexpr{ not (test {\md@test@ltrb} or test {\md@test@ltr} or
+ test {\md@test@ltb} or test {\md@test@trb} or
+ test {\md@test@lrb} or test {\md@test@lb} or
+ test {\md@test@rb} or test {\md@test@tr} or
+ test {\md@test@lt} ) }}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{mdfbackgroundstyle,mdflinestyle}
+% background and line settings for pstricks
+% \begin{macrocode}
+\newpsstyle{mdfbackgroundstyle}{linecolor=\mdf@backgroundcolor,fillstyle=solid,%
+ fillcolor=\mdf@backgroundcolor,linestyle=solid,%
+ linewidth=\mdf@middlelinewidth@length,dimen=outer,%
+}%
+%
+\newpsstyle{mdflinestyle}{linewidth=\mdf@middlelinewidth@length,%
+ linecolor=\mdf@linecolor,%
+ fillstyle=none,dimen=middle,}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{md@putbox@single}
+% Single output
+% \begin{macrocode}
+\def\md@putbox@single{%
+ \ifvoid\@tempboxa
+ \else%
+ \mdf@makebox@out{%
+ \mdf@makeboxalign@left%
+ \ifbool{mdf@leftline}{\hspace*{\mdf@middlelinewidth@length}}{}%
+ \setlength\mdfboundingboxwidth{\wd\@tempboxa}%
+ \setlength\mdfboundingboxheight{\dimexpr\ht\@tempboxa+\dp\@tempboxa\relax}%
+ \advance\mdfboundingboxheight by \mdf@innertopmargin@length\relax%
+ \advance\mdfboundingboxheight by \mdf@innerbottommargin@length\relax%
+ \ifbool{mdf@topline}%
+ {\advance\mdfboundingboxheight by \mdf@middlelinewidth@length\relax}{}%
+ \ifbool{mdf@bottomline}%
+ {\advance\mdfboundingboxheight by \mdf@middlelinewidth@length\relax}{}%
+ \advance\mdfboundingboxwidth by \mdf@innerleftmargin@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@innerrightmargin@length\relax%
+ \psset{linearc=\mdf@roundcorner@length,cornersize=absolut,}%
+ \expandafter\psset\expandafter{\mdf@psset@local}%
+ \psset{unit=1truecm}%
+ \mdf@makebox@in[\mdfboundingboxwidth]{%
+ \null%
+ \begin{pspicture}(0,0)(\mdfboundingboxwidth,\mdfboundingboxheight)
+ \md@test@ltrb{%
+ \psframe[style=mdflinestyle]%
+ (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul %
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul)%
+ (! \ptTps{\mdfboundingboxwidth} %
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X
+ \ptTps{\mdfboundingboxheight}%
+ \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)
+ }{}
+ \md@test@ltr{%
+ \psline[style=mdflinestyle]%
+ (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)%
+ (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul
+ \ptTps{\mdfboundingboxheight}
+ \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X
+ \ptTps{\mdfboundingboxheight}
+ \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X
+ 0)
+ }{}
+ \md@test@ltb{%
+ \psline[style=mdflinestyle]%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul)%
+ (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul)%
+ (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul
+ \ptTps{\mdfboundingboxheight}
+ \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)%
+ (! \ptTps{\mdfboundingboxwidth} %X
+ \ptTps{\mdfboundingboxheight}
+ \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)%
+ }{}
+ \md@test@trb{%
+ \psline[style=mdflinestyle]%
+ (! 0
+ \ptTps{\mdfboundingboxheight}
+ \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X
+ \ptTps{\mdfboundingboxheight}
+ \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul)
+ (! 0 \ptTps{\mdf@middlelinewidth@length} 0.5 mul)
+ }{}
+ \md@test@lrb{%
+ \psline[style=mdflinestyle]%
+ (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg
+ \ptTps{\mdfboundingboxheight})%
+ (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul )%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul )
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X
+ \ptTps{\mdfboundingboxheight})
+ }{}
+ \md@test@lb{%
+ \psline[style=mdflinestyle]%
+ (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg
+ \ptTps{\mdfboundingboxheight})%
+ (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul )%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul )
+ }{}
+ \md@test@rb{%
+ \psline[style=mdflinestyle]%
+ (! 0 \ptTps{\mdf@middlelinewidth@length} 0.5 mul )%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul )
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X
+ \ptTps{\mdfboundingboxheight})
+ }{}
+ \md@test@tr{%
+ \psline[style=mdflinestyle]%
+ (! 0
+ \ptTps{\mdfboundingboxheight}
+ \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X
+ \ptTps{\mdfboundingboxheight}
+ \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X
+ 0)
+ }{}
+ \md@test@lt{%
+ \psline[style=mdflinestyle]%
+ (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)%
+ (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul
+ \ptTps{\mdfboundingboxheight}
+ \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)%
+ (! \ptTps{\mdfboundingboxwidth} %X
+ \ptTps{\mdfboundingboxheight}
+ \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)%
+ }{}
+ \md@test@single{%
+ \ifbool{mdf@bottomline}{%
+ \psline[style=mdflinestyle]%
+ (! 0 \ptTps{\mdf@middlelinewidth@length} 0.5 mul )%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul )
+ }{}%
+ \ifbool{mdf@topline}{%
+ \psline[style=mdflinestyle]%
+ (! 0 \ptTps{\mdfboundingboxheight}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add)%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdfboundingboxheight}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add)
+ }{}%
+ \ifbool{mdf@leftline}{%
+ \psline[style=mdflinestyle]%
+ (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)%
+ (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul
+ \ptTps{\mdfboundingboxheight} )%
+ }{}%
+ \ifbool{mdf@rightline}{%
+ \psline[style=mdflinestyle]%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add 0)%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add
+ \ptTps{\mdfboundingboxheight} )%
+ }{}%
+ }{}%
+ %Hintergrund
+ \psframe[style=mdfbackgroundstyle]%
+ (!0 \ifbool{mdf@bottomline}{\ptTps{\mdf@middlelinewidth@length}}{0})
+ (! \ptTps{\mdfboundingboxwidth} %
+ \ptTps{\mdfboundingboxheight}
+ \ifbool{mdf@topline}{\ptTps{\mdf@middlelinewidth@length} sub}{})
+ %Ausgabe
+ \rput[b]%
+ (!\ptTps{\mdfboundingboxwidth} 0.5 mul % X-Koordinate
+ \ptTps{\mdf@innerbottommargin@length}
+ \ifbool{mdf@bottomline}{\ptTps{\mdf@middlelinewidth@length} add}{}
+ ){\box\@tempboxa}
+ \end{pspicture}%
+ }%
+ \mdf@makeboxalign@right%
+ }%
+ \fi
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{md@putbox@first}
+% First output
+% \begin{macrocode}
+\def\md@putbox@first{%
+ \ifvoid\@tempboxa
+ \else%
+ \mdf@makebox@out{%
+ \mdf@makeboxalign@left%
+ \ifbool{mdf@leftline}{\hspace*{\mdf@middlelinewidth@length}}{}%
+ \setlength\mdfboundingboxwidth{\wd\tw@}%
+ \setlength\mdfboundingboxheight{\dimexpr\ht\tw@+\dp\tw@\relax}%
+ \advance\mdfboundingboxheight by \mdf@innertopmargin@length\relax
+ \advance\mdfboundingboxheight by \mdf@splitbottomskip@length\relax%
+ \ifbool{mdf@topline}%
+ {\advance\mdfboundingboxheight by \mdf@middlelinewidth@length\relax}{}%
+ \advance\mdfboundingboxwidth by \mdf@innerleftmargin@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@innerrightmargin@length\relax%
+ \psset{linearc=\mdf@roundcorner@length,cornersize=absolute}%
+ \expandafter\psset\expandafter{\mdf@psset@local}%
+ \mdf@makebox@in[\mdfboundingboxwidth]{%
+ \null%
+ \psset{unit=1truecm}%
+ \ifdimgreater{\mdfboundingboxheight}{\vsize}
+ {\begin{pspicture}(0,0)(\mdfboundingboxwidth,\vsize)}
+ {\begin{pspicture}(0,0)(\mdfboundingboxwidth,\mdfboundingboxheight)}
+ %Hintergrund
+ \psline[style=mdfbackgroundstyle,%
+ linearc={\dimexpr\mdf@roundcorner@length%
+ -\mdf@middlelinewidth@length\relax},]
+ (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul 0)%
+ (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul
+ \ptTps{\mdfboundingboxheight}
+ \ifbool{mdf@topline}%
+ {\ptTps{\mdf@middlelinewidth@length} neg 1.5 mul add}%
+ {\ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add} )%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X
+ \ptTps{\mdfboundingboxheight}
+ \ifbool{mdf@topline}%
+ {\ptTps{\mdf@middlelinewidth@length} neg 1.5 mul add}%
+ {\ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add} )%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X
+ 0)
+ \ifboolexpr{ test {\md@test@ltrb} or test {\md@test@ltr}}{%
+ \psline[style=mdflinestyle]%
+ (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)%
+ (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul
+ \ptTps{\mdfboundingboxheight}
+ \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X
+ \ptTps{\mdfboundingboxheight}
+ \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X
+ 0)
+ }{}
+ \ifboolexpr{ test {\md@test@tr} or test {\md@test@trb}}{%
+ \psline[style=mdflinestyle]%
+ (! 0
+ \ptTps{\mdfboundingboxheight}
+ \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X
+ \ptTps{\mdfboundingboxheight}
+ \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X
+ 0)
+ }{}
+ \ifboolexpr{ test {\md@test@ltb} or test {\md@test@lt}}{%
+ \psline[style=mdflinestyle]%
+ (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)%
+ (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul
+ \ptTps{\mdfboundingboxheight}
+ \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@roundcorner@length} neg add %X
+ \ptTps{\mdfboundingboxheight}
+ \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)%
+ }{}
+ \ifboolexpr{ test {\md@test@single} or test {\md@test@rb} or
+ test {\md@test@lrb} or test {\md@test@lb}}{%
+ \ifbool{mdf@topline}{%
+ \psline[style=mdflinestyle]%
+ (! 0 \ptTps{\mdfboundingboxheight}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add)%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdfboundingboxheight}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add)
+ }{}%
+ \ifbool{mdf@leftline}{%
+ \psline[style=mdflinestyle]%
+ (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)%
+ (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul
+ \ptTps{\mdfboundingboxheight} )%
+ }{}%
+ \ifbool{mdf@rightline}{%
+ \psline[style=mdflinestyle]%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add 0)%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add
+ \ptTps{\mdfboundingboxheight} )%
+ }{}%
+ }{}%
+ %Ausgabe
+ \rput[b](!
+ \ptTps{\mdfboundingboxwidth} 0.5 mul % X-Koordinate
+ \ptTps{\mdf@splitbottomskip@length}){\box\tw@}
+ \end{pspicture}%
+ }%
+ \mdf@makeboxalign@right%
+ }%
+ \fi
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{md@putbox@middle}
+% Middle output
+% \begin{macrocode}
+\def\md@putbox@middle{%
+ \ifvoid\@tempboxa
+ \else%
+ \mdf@makebox@out{%
+ \mdf@makeboxalign@left%
+ \ifbool{mdf@leftline}{\hspace*{\mdf@middlelinewidth@length}}{}%
+ \setlength\mdfboundingboxwidth{\wd\tw@}%
+ \setlength\mdfboundingboxheight{\dimexpr\ht\tw@+\dp\tw@\relax}%
+ \advance\mdfboundingboxheight by \mdf@splitbottomskip@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@innerleftmargin@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@innerrightmargin@length\relax%
+ \expandafter\psset\expandafter{\mdf@psset@local}%
+ \psset{linearc=\mdf@roundcorner@length,cornersize=absolute}%
+ \mdf@makebox@in[\mdfboundingboxwidth]{%
+ \null%
+ \psset{unit=1truecm}%
+ \ifdimgreater{\mdfboundingboxheight}{\vsize}
+ {\begin{pspicture}(0,0)(\mdfboundingboxwidth,\vsize)}
+ {\begin{pspicture}(0,0)(\mdfboundingboxwidth,\mdfboundingboxheight)}
+ \ifbool{mdf@leftline}{%
+ \psline[style=mdflinestyle]%
+ (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)%
+ (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul
+ \ptTps{\mdfboundingboxheight} )%
+ }{}%
+ \ifbool{mdf@rightline}{%
+ \psline[style=mdflinestyle]%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add 0)%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add
+ \ptTps{\mdfboundingboxheight} )%
+ }{}%
+ %Hintergrund
+ \psframe[style=mdfbackgroundstyle,%
+ linearc=\z@]%
+ (!0 0)
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdfboundingboxheight})
+ %Ausgabe
+ \rput[b](!
+ \ptTps{\mdfboundingboxwidth} 0.5 mul % X-Koordinate
+ \ptTps{\mdf@splitbottomskip@length} ){\box\tw@}
+ \end{pspicture}%
+ }%
+ \mdf@makeboxalign@right%
+ }%
+ \fi
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{md@putbox@second}
+% Last output
+% \begin{macrocode}
+\def\md@putbox@second{
+ \ifvoid\@tempboxa
+ \else%
+ \mdf@makebox@out{%
+ \mdf@makeboxalign@left%
+ \ifbool{mdf@leftline}{\hspace*{\mdf@middlelinewidth@length}}{}%
+ \setlength\mdfboundingboxwidth{\wd\@tempboxa}%
+ \setlength\mdfboundingboxheight{\dimexpr\ht\@tempboxa+\dp\@tempboxa\relax}%
+ \advance\mdfboundingboxheight by \mdf@innerbottommargin@length\relax%
+ \ifbool{mdf@bottomline}%
+ {\advance\mdfboundingboxheight by \mdf@middlelinewidth@length\relax}{}%
+ \advance\mdfboundingboxwidth by \mdf@innerleftmargin@length\relax%
+ \advance\mdfboundingboxwidth by \mdf@innerrightmargin@length\relax%
+ \expandafter\psset\expandafter{\mdf@psset@local}
+ \psset{linearc=\mdf@roundcorner@length,cornersize=absolute}%
+ \psset{unit=1truecm}%
+ \mdf@makebox@in[\mdfboundingboxwidth]{%
+ \null%
+ \begin{pspicture}(0,0)(\mdfboundingboxwidth,\mdfboundingboxheight)
+ %Hintergrund
+ \psline[style=mdfbackgroundstyle,%
+ linearc={\dimexpr\mdf@roundcorner@length%
+ -\mdf@middlelinewidth@length\relax},]%%
+ (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul
+ \ptTps{\mdfboundingboxheight} )%
+ (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul
+ \ifbool{mdf@bottomline}%
+ {\ptTps{\mdf@middlelinewidth@length} neg 1.5 mul neg}%
+ {\ptTps{\mdf@middlelinewidth@length} neg 0.5 mul neg} )%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add
+ \ifbool{mdf@bottomline}%
+ {\ptTps{\mdf@middlelinewidth@length} neg 1.5 mul neg}%
+ {\ptTps{\mdf@middlelinewidth@length} neg 0.5 mul neg} )%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add
+ \ptTps{\mdfboundingboxheight} )
+ %%%%%%%%%%%%
+ \ifboolexpr{ test {\md@test@ltrb} or test {\md@test@lrb}}{%
+ \psline[style=mdflinestyle]%
+ (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg
+ \ptTps{\mdfboundingboxheight})%
+ (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul )%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul )
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X
+ \ptTps{\mdfboundingboxheight})
+ }{}
+ \ifboolexpr{ test {\md@test@ltb} or test {\md@test@lb}}{%
+ \psline[style=mdflinestyle]%
+ (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg
+ \ptTps{\mdfboundingboxheight})%
+ (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul )%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul )
+ }{}
+ \ifboolexpr{ test {\md@test@trb} or test {\md@test@rb}}{%
+ \psline[style=mdflinestyle]%
+ (! 0 \ptTps{\mdf@middlelinewidth@length} 0.5 mul )%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul )
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X
+ \ptTps{\mdfboundingboxheight})
+ }{}
+ \ifboolexpr{ test {\md@test@single} or test {\md@test@ltr} or
+ test {\md@test@tr} or test {\md@test@lt}}{%
+ \ifbool{mdf@bottomline}{%
+ \psline[style=mdflinestyle]%
+ (! 0 \ptTps{\mdf@middlelinewidth@length} 0.5 mul )%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul )
+ }{}%
+ \ifbool{mdf@leftline}{%
+ \psline[style=mdflinestyle]%
+ (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)%
+ (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul
+ \ptTps{\mdfboundingboxheight} )%
+ }{}%
+ \ifbool{mdf@rightline}{%
+ \psline[style=mdflinestyle]%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add 0)%
+ (! \ptTps{\mdfboundingboxwidth}
+ \ptTps{\mdf@middlelinewidth@length} 0.5 mul add
+ \ptTps{\mdfboundingboxheight} )%
+ }{}%
+ }{}%
+ %Ausgabe
+ \rput[b](!
+ \ptTps{\mdfboundingboxwidth} 0.5 mul % X-Koordinate
+ \ptTps{\mdf@innerbottommargin@length}
+ \ifbool{mdf@bottomline}{\ptTps{\mdf@middlelinewidth@length} add}{}
+ ){\box\@tempboxa}
+ \end{pspicture}%
+ }%
+ \mdf@makeboxalign@right%
+ }%
+ \fi
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+ \endinput
+%eof
+% \end{macrocode}
+% \iffalse
+%</mdframepstricks>
+% \fi
+% \Finale
+%
+\endinput
+