diff options
author | Karl Berry <karl@freefriends.org> | 2011-12-10 01:05:49 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-12-10 01:05:49 +0000 |
commit | 04a95cdae99b26ab45f6f002647b57d78eebf3c0 (patch) | |
tree | ee99a8ec53b89a2a0af8b47d0167a63f32502036 /Master | |
parent | 905da44baf20b22b84b86c1a4cded85beb111531 (diff) |
mdframed (9dec11)
git-svn-id: svn://tug.org/texlive/trunk@24808 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
24 files changed, 6518 insertions, 2599 deletions
diff --git a/Master/texmf-dist/doc/latex/mdframed/Makefile b/Master/texmf-dist/doc/latex/mdframed/Makefile new file mode 100644 index 00000000000..97d8d486c0f --- /dev/null +++ b/Master/texmf-dist/doc/latex/mdframed/Makefile @@ -0,0 +1,84 @@ +# Makefile for mdframed project folder +# $Id: Makefile 271 2011-12-09 12:25:08Z marco $ +SHELL := /bin/bash +PACKAGE = mdframed +EXAMPLEA = mdframed-examples +EXAMPLED = mdframed-example-default +EXAMPLET = mdframed-example-tikz +EXAMPLEP = mdframed-example-pstricks +EXAMPLESX = mdframed-example-texsx +EXAMPLLIST = $(EXAMPLEA) $(EXAMPLED) $(EXAMPLET) $(EXAMPLEP) $(EXAMPLESX) +PDFLATEX = pdflatex +LATEX = latex +DVIPS = dvips +PSPDF = ps2pdf +MAKEIDX = makeindex + +NO_COLOR = \x1b[0m +OK_COLOR = \x1b[32;01m +WARN_COLOR = \x1b[33;01m +ERROR_COLOR = \x1b[31;01m + +OK_STRING = $(OK_COLOR)[OK]$(NO_COLOR) +ERROR_STRING= $(ERROR_COLOR)[ERRORS]$(NO_COLOR) +WARN_STRING = $(WARN_COLOR)[WARNINGS]$(NO_COLOR) + +docsty: $(PACKAGE).dtx + $(PDFLATEX) $(PACKAGE).dtx + $(MAKEIDX) -s gglo.ist -o $(PACKAGE).gls $(PACKAGE).glo + $(MAKEIDX) -s gind.ist $(PACKAGE).idx + $(PDFLATEX) $(PACKAGE).dtx + $(PDFLATEX) $(PACKAGE).dtx + +examples: $(EXAMPLEA).dtx +#EXAMPLEA + $(PDFLATEX) $(EXAMPLEA).dtx + $(PDFLATEX) $(EXAMPLEA).dtx +#EXAMPLED + $(PDFLATEX) $(EXAMPLED).tex + $(PDFLATEX) $(EXAMPLED).tex +#EXAMPLET + $(PDFLATEX) $(EXAMPLET).tex + $(PDFLATEX) $(EXAMPLET).tex +#EXAMPLEP + $(LATEX) $(EXAMPLEP).tex + $(LATEX) $(EXAMPLEP).tex + $(DVIPS) $(EXAMPLEP).dvi + $(PSPDF) $(EXAMPLEP).ps +#EXAMPLESX + $(PDFLATEX) $(EXAMPLESX).tex + $(PDFLATEX) $(EXAMPLESX).tex + + + +changeversion: + @echo + @echo -e "$(OK_COLOR)Aktuell wird die folgende Version verwendet" + @sed '/\\def\\mdversion/!d' $(PACKAGE).sty + @echo -e "$(WARN_COLOR)" + @read -p "Bitte neue Version eingeben: " REPLY && sed -rie "s/(\\\\def\\\\mdversion\{).*(})/\1$$REPLY\2/" $(PACKAGE).dtx&&\ + echo -e "$(OK_COLOR)Version geändert zu $$REPLY$(NO_COLOR)" + @echo + + +clean: + @echo + @echo -e "$(ERROR_COLOR)Alle Dateien ausser *.tex, *.sty," + @echo -e "*.mdf, *.pdf, README, Makefile und *.zip" + @echo -e "werden geloescht" + @echo -e "$(WARN_COLOR)" ; + @echo -e "Useless files of mdframed will be removed" ; + for file in $(EXAMPLLIST) ; \ + do \ + echo -e "Useless files of $$file will be removed" ;\ + rm -rf $$file.aux $$file.glo $$file.hd $$file.idx $$file.dvi $$file.ps\ + $$file.log $$file.out $$file.synctex.gz $$file.thm $$file.tmp $$file.toc ; \ + done + @echo -e "Useless files of mdframed package will be removed" ; + @rm -rf $(PACKAGE).aux $(PACKAGE).dtxe $(PACKAGE).glo $(PACKAGE).gls $(PACKAGE).hd $(PACKAGE).ins $(PACKAGE).idx \ + $(PACKAGE).ilg $(PACKAGE).ind $(PACKAGE).log $(PACKAGE).out $(PACKAGE).thm $(PACKAGE).toc ; + @echo -e "$(OK_COLOR)Löschvorgang abgeschlossen$(NO_COLOR)" + +all: docsty examples clean + + diff --git a/Master/texmf-dist/doc/latex/mdframed/README b/Master/texmf-dist/doc/latex/mdframed/README deleted file mode 100644 index 1ac98d5a304..00000000000 --- a/Master/texmf-dist/doc/latex/mdframed/README +++ /dev/null @@ -1,30 +0,0 @@ -%%$Id: README 223 2011-11-13 18:10:49Z marco $ - -The standard methods for framing text (\fbox or \fcolorbox) -require you to handle page breaks by hand, meaning that you -have to split the \fbox into two. The present package -defines the environment \mdfamed which automatically deals -with pagebreaks in framed text. - - -Author's name: Marco Daniel and Elke Schubert (tikz) -License type: lppl - ----------------------------- -v1.0 -- add option userdefinedwidth -- add option align -- add option apptotikzsetting -- create new command mdfapptodefinestyle (Thanks to Martin Scharrer) -- changed internal algorithm -- removed calc instead using e-TeX \dimexpr -- expand documentation -- trying to fixe problems with xcolor -- fixed bug with framemethod=pstricks -- created ltxmdf.cls -- documentclass for alle tex-files -- created file mdframed-example-default.pdf -- created file mdframed-example-tikz.pdf -- created file mdframed-example-pstricks.pdf -- created file mdframed-example-texsx.pdf (texsx stands for tex stackexchange) -- removed pre-version - diff --git a/Master/texmf-dist/doc/latex/mdframed/README.txt b/Master/texmf-dist/doc/latex/mdframed/README.txt new file mode 100644 index 00000000000..2d120302922 --- /dev/null +++ b/Master/texmf-dist/doc/latex/mdframed/README.txt @@ -0,0 +1,65 @@ +================================================================ +================================================================ +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 +================================================================ +================================================================ diff --git a/Master/texmf-dist/doc/latex/mdframed/donald-duck.jpg b/Master/texmf-dist/doc/latex/mdframed/donald-duck.jpg Binary files differnew file mode 100644 index 00000000000..fe4f2a769e4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/mdframed/donald-duck.jpg diff --git a/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.pdf b/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.pdf Binary files differdeleted file mode 100644 index 277a8938b9b..00000000000 --- a/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.tex b/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.tex deleted file mode 100644 index 4c5b0dd74d8..00000000000 --- a/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.tex +++ /dev/null @@ -1,804 +0,0 @@ -%Documenation of the package mdframed -%%$Id: mdframed-doc-en.tex 221 2011-11-13 18:03:29Z marco $ -\setcounter{errorcontextlines}{999} -\documentclass[parskip=false,english,11pt]{ltxmdf} -\svnInfo $Id: mdframed-doc-en.tex 221 2011-11-13 18:03:29Z marco $ -\usepackage{babel} -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage{lipsum} -\usepackage[T1,altbullet]{lucidabr} -\usepackage[scaled=0.82]{beramono} - -\usepackage[framemethod=TikZ]{mdframed} - -\title{The \mdname 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} -\date{\svnToday} -\introduction{The standard methods for framing text (\mdcommand{fbox} or \mdcommand{fcolorbox}) require you to handle page breaks by hand, meaning that you have to split the \mdcommand{fbox} into two. The present package defines the environment \mdname which automatically deals with pagebreaks in framed text.\par -By 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} -} - - - - -\begin{document} -\maketitle - -\section{Motivation} -Many users wish to (further) emphasize lemmata, definitions, proofs, etc. The package \mdname allows you to create environments with breakable frames. I think an example is the best way to demonstrate its properties. - - -%\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. - -\begin{mdexample} -\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{mdexample} - - -\section{Syntax}\label{sec:syntax} -The package itself loads the packages \mdpack{kvoptions}, \mdpack{etoolbox} and \mdpack{color}. -By setting the correct options \mdpack{mdframed} will load \mdpack{xcolor}, \mdpack{tikz} or \mdpack{pstricks}. - -Load the package as usual: -\begin{mdexample} - \usepackage[<GLOBAL OPTIONS>]{mdframed} -\end{mdexample} - -The package defines only one environment with the following syntax: -\begin{mdexample} - \begin{mdframed}[<LOCAL OPTIONS>] - <CONTENT> - \end{mdframed} -\end{mdexample} -To create own environments with \mdpack{mdframed} see section \ref{sec:cmds}. - -\minisec{Autodetecting floats} -I added a detection of \mdpack{float} or \mdpack{minipage} environments. If you use \mdname in such an environment \mdname will use the option \mdoption{nobreak} automaticly. - -\minisec{Twoside-mode} -When you are using \mdname inside \mdpack{twoside} mode you can set the option \mdoption{innermargin} -and \mdoption{outermargin} (see section \ref{optlength}). - -%%%%%%%%%%%%%%%%%%%%%%% -\section{Commands}\label{sec:cmds} -The following commands should countenance your by the handling with \mdpack{mdframed} - -\mdDescribeCmd[]{newmdenv} The command has the following syntax: -\begin{mdexample} -\newmdenv[<MDFRAMED OPTIONS>]{Name of the environment} -\end{mdexample} -In this way you can simply use: -\begin{mdexample} - \newmdenv[linecolor=red,frametitle=Infobox]{infobox} - ... - \begin{infobox}[backgroundcolor=yellow] - foo foo foo foo foo foo - \end{infobox} -\end{mdexample} -\mdDescribeCmd[]{renewmdenv} By using this command you can redifine environments which are created by \mdcommand{newmdenv}. - -\mdDescribeCmd[]{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: - -\begin{mdexample}[deletekeywords={mdframed}] -\newmdtheoremenv[<mdframed-options>]{<envname>}% - [<numberedlike>]{<caption>}[<within>] -\end{mdexample} -The last four arguments are equivalent to the command \mdcommand{newtheorem}. Only the first optional argument is able to pass \mdpack{mdframed}-options. A simple example is: -\begin{mdexample} -\theoremstyle{<some style>} -\newmdtheoremenv[linecolor=blue]{lemma}% - {Lemma}[section] -... -\begin{lemma}[Some title] - foo foo foo foo foo foo -\end{lemma} -\end{mdexample} -So far there is no \mdcommand{renewmdtheoremenv}! - - -\mdDescribeMacro{\textbackslash mdfsetup}To set the options -you can use the optional argument of \mdcommand{usepackage} or -you can use the command \mdcommand{mdfsetup} which is not limited to the preamble. Inside a group the command the settings work only local. - -\mdDescribeMacro{\textbackslash mdfdefinestyle} \mdcommand{mdfdefinestyle} allow the user to define diffenrent styles and use as an option of \mdpack{mdframed} via \mdoption{style}. The option \mdoption{style} is explained in section \ref{genopt}. - -Here a small example: -\begin{mdexample}[morekeywords={mystyle}] -\mdfdefinestyle{mystyle}{leftmargin=0pt,% - linecolor=blue} -.... -\begin{mdframed}[style=mystyle] -foo -\end{mdframed} -\end{mdexample} - -\mdDescribeMacro{\textbackslash 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 packages 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 \mdcommand{mdfsetup}. - -\subsection{Global Options}\label{globopt} -The following options are only global options. - -\mdDescribeMacro[none]{xcolor} -By setting this key, the package \mdpack{xcolor} will -be loaded with the given value(s). Without any value \mbox{\mdname} loads -the package \mdpack{color} without any options. If the package \mdpack{xcolor} is already loaded the given option will be ignored. I recommend to load \mdpack{xcolor} before \mdname. - -\mdDescribeMacro[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\mdcommand{hrule}, \mdcommand{vrule}, \mdcommand{rule}}, - \item \mdpack{TikZ} {\small(the package \mdpack{TikZ} will be loaded)} or - \item \mdpack{PSTricks} {\small(the package \mdpack{pstricks} will be loaded)}. -\end{enumerate} -The option \mdoption{framemethod} requires a string. Allowed combination are listed in the following table. -\begin{table}[!ht] -\centering -\renewcommand*\arraystretch{1.3} -\caption{Allowed keys for \mdoption{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 \\ -\mdpack{TikZ} & tikz, pgf, 1 \\ -\mdpack{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 \mdoption{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 \mdoption{1 defaultunit}. -The figure shows three different colored frames. Only \mdoption{framemethod=tikz} is able to draw such triple lines. - -I know that the predefined length are not well prepaired. Maybe I will change it later. - -\mdDescribeMacro[pt]{defaultunit} see the sentence above. - -\begin{center} -% \includegraphics{laengen} -\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 \mdname} - \label{fig:laengen} -\end{center} - -\mdDescribeMacro[0pt]{skipabove} Sets an additional skip above the frame. -\mdDescribeMacro[0pt]{skipbelow} Sets an additional skip below the frame. -\mdDescribeMacro[]{margin} This option is not longer supported. Use \mdoption{leftmargin} - and \mdoption{rightmargin} instead. -\mdDescribeMacro[0pt]{leftmargin} Sets the length of the left margin of the environment. -\mdDescribeMacro[0pt]{rightmargin} Sets the length of the right margin of the environment. - -\mdDescribeMacro[10pt]{innerleftmargin} Sets the length of the inner left margin of the environment. -\mdDescribeMacro[10pt]{innerrightmargin} Sets the length of the inner right margin of the environment. -\mdDescribeMacro[.4\textbackslash baselineskip]{innertopmargin} Sets the length of the inner top margin of the environment. -\mdDescribeMacro[.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{} -\mdDescribeMacro[0pt]{userdefinedwidth} Sets the width of the whole \mdname environment. The width represent the width including the line width and the inner margins. The outer margins will be ignored. - -\mdDescribeMacro{outermargin} Sets the length of the outer margin. This option is only avaidable in \texttt{twoside}-mode. -\mdDescribeMacro{innermargin} Sets the length of the inner margint. This option is only avaidable in \texttt{twoside}-mode. - - -\mdDescribeMacro[0pt]{splittopskip} Sets the length of the skip above the split part of the environment. -\mdDescribeMacro[0pt]{splitbottomskip} Sets the length of the skip below the splitt part of the environment. -\mdDescribeMacro[0.4pt]{linewidth} Sets the width of the line around the environment. -\mdDescribeMacro[0pt]{roundcorner} Sets the size of the radius of the corners of the frames. - \limitation\limitation[PSTricks] -\mdDescribeMacro[0pt]{innerlinewidth} Sets the width of the inner line around the environment. - \limitation -\mdDescribeMacro[0pt]{outerlinewidth} Sets the width of the outer line around the environment. - \limitation -\mdDescribeMacro[linewidth]{middlelinewidth} Sets the width of the middle line around the environment.\limitation - - -\subsubsection{Colored Options} -\mdDescribeMacro[black]{linecolor} Sets the color of the line around the environment. -\mdDescribeMacro[white]{backgroundcolor} Sets the color of the background of the environment. -\mdDescribeMacro[black]{fontcolor} Sets the color of the contents of the environment. -\mdDescribeMacro[linecolor]{innerlinecolor} Sets the color of the inner line around the environment. - \limitation -\mdDescribeMacro[\newline linecolor]{middlelinecolor} Sets the color of the middle line around the environment. \limitation -\mdDescribeMacro[\newline linecolor]{outerlinecolor} Sets the color of the outer line around the environment.\limitation - - -\subsubsection{General options}\label{genopt} - -\mdDescribeMacro[false]{ntheorem} Before setting this boolean key, you have to load the package \mdpack{ntheorem}. - - With this option you set the values \mdcommand{theorempreskipamount} - and\newline \mdcommand{theorempostskipamount} to 0pt. - -\mdDescribeMacro[false]{nobreak} Sometimes it is useful to prevent a frame from splitting. The \mdoption{nobreak} option is used for this purpose. If you activate this option you can enable it by setting \mdoption{nobreak=false}. - - -\mdDescribeMacro[0pt]{needspace} Sometimes it is useful to set a minimum height befor a frame should be splitted. For such cases you can use \mdoption{needspace}. The option requires a length which sets the minimum height befor a frame will be splitted. - -\mdDescribeMacro{style} If you define a special style with \mdcommand{mdfdefinstyle} you can use the key \mdoption{style} to load the style. \mdname has no predefined styles. - -%%\mdDescribeMacro[none]{settings} With version 0.9 of the package \mdname this option was added. This option allows the user to commit some macros. An example is shown in the appendix. - -%\mdDescribeMacro[none]{printheight} This key allows the entries \texttt{none}, \texttt{info} or \texttt{warning}. In relation to the key the vertical space at the beginning of the environment \mdname on the current page will be printed in the \texttt{log} file. - -\mdDescribeMacro[left]{align} Sometimes it is usefull to align the environment it selfs. For this you have the option \mdoption{align} which can be set to the following strings: \mdoption{left}, \mdoption{right} and \mdoption{center}. The alignments \mdoption{left} or \mdoption{right} depend on the given lenght \mdoption{leftmargin} and \mdoption{rightmargin}. Later I will present an example to demonstrate my bad English explanation. - -\mdDescribeMacro[none]{pstrickssetting} With this key you can pass several options to \mdcommand{psset}. For example - if you want all lines dashed you will have to set - \mdoption{pstrickssetting=\{linestyle=dashed\}}. It is very important - to put the options of \mdoption{pstrickssetting} in brackets. - \limitation[PSTricks] -\mdDescribeMacro[none]{tikzsetting} With this key you can pass several options to \mdcommand{tikzset}. Some examples are listed in the next section. It is very important - to put the options of \mdoption{tikzsetting} in brackets. - \limitation - -\mdDescribeMacro[none]{apptotikzsetting} With this key you can add several options to \mdoption{tikzsetting}. This key based on the idea of manipulation of predefined keys of \mdname. -The package \mdname define via \mdcommand{tikzset} the following keys to draw frames. -\begin{itemize} - \item \mdcommand{tikzset\{mdfbox/.style\}} - \item \mdcommand{tikzset\{mdfcorners./style\}} - \item \mdcommand{tikzset\{mdfbackground./style\}} - \item \mdcommand{tikzset\{mdfinnerline./style\}} - \item \mdcommand{tikzset\{mdfouterline./style\}} - \item \mdcommand{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} - - -\mdDescribeMacro[true]{topline} Draws a line at the top. -\mdDescribeMacro[true]{bottomline} Draws a line at the bottom. -\mdDescribeMacro[true]{leftline} Draws a line on the left. -\mdDescribeMacro[true]{rightline} Draws a line on the right. - -\mdDescribeMacro[false]{rightline} With this option you can decide whether all lines should be drawn or not. - -\subsection{Frametitle} - - -\mdDescribeMacro[none]{frametitle} The environment get a title. To set a title use \mdoption{frametitle=\{The Title of the frame\}} as an option of the environment. -\mdDescribeMacro[\mbox{} \mdcommand{bfseries}\mdcommand{large}]{frametitleformat} Sets the format of the frame title. - -\subsection{Footnotes} -Inside the environment you can use the command \mdcommand{footnote} as usual. \mdname uses the syntax of environment \mdpack{minipage} with the same counter. - -Every footnote text will be collect inside a box and will be displayed at the end of the environment \mdname. - -\mdDescribeMacro[\mbox{} \mdcommand{bigskipamount}]{footnotedistance} The length is the distance between the end of the environement \mdname and the displaying of the \mdcommand{footnoterule}. - -\mdDescribeMacro[true]{footnoteinside} The position of the footnotes can be changed with the option \mdoption{footnoteinside}. The footnotes will be displayed at the end of the environment but you can decide whether the output is inside \mdname or after. - -\vskip\baselineskip -\noindent\textbf{Note}\qquad The ouput of the footnotes with the option \mdoption{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 limited the documentation. The files are -\begin{description}[style=nextline] -\item[\texttt{mdframed-example-default}] Demonstration of examples created with \mdoption{framemethod=default}. -\item[\texttt{mdframed-example-tikz}] Demonstration of examples created with \mdoption{framemethod=TikZ}. -\item[\texttt{mdframed-example-pstricks}] Demonstration of examples created with \mdoption{framemethod=pstricks}. -\item[\texttt{mdframed-example-texsx}] Demonstration of examples like interaction with \mdpack{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 \mdpack{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 \mdpack{mdframed}. - -\begin{mdexample} - The package ... does not exist but - needed by mdframed -\end{mdexample} -To avoid this problem you should install the required -packages which are listed in section \ref{sec:syntax}. - -\begin{mdexample} - package option style is depreciated - use framemethod instead mdframed -\end{mdexample} -With version 0.9d \mdname changed the meaning of the option \mdoption{style}. The option is used to load a defined style by \mdcommand{mdfdefinestyle}. Instead uses \mdoption{framemethod} (see section \ref{globopt}). - -\begin{mdexample} - Unknown framemethod .... mdframed -\end{mdexample} -The input string for the option \mdoption{framemethod} is unkown. See section \ref{globopt}. - -\begin{mdexample} - You have not loaded ntheorem yet -\end{mdexample} -To use the option \mdoption{ntheorem} you have to -load the package \mdpack{ntheorem}. - -\begin{mdexample} - You have only a width of 3cm -\end{mdexample} -The package \mdpack{mdframed} 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. - -\begin{mdexample} - You got a bad break - you have to change it manually - by changing the text, the space - or something else -\end{mdexample} -Sometimes you have enough vertical space for the rules and the space -between the rules and the contents but not for the contents itself. -In this situation you will get this warning because the contents -of this box is empty. You have the possibility to change the -settings or include a \mdcommand{clearpage} in front of -the environment \mdpack{mdframed}. -So far I have no idea how to avoid such things. - -\begin{mdexample} - 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{mdexample} -See the explaation above. - -\begin{mdexample} - You got a bad break - because the last split box is empty - You have to change the settings -\end{mdexample} -The same reason as above but only in the last box. - - -\begin{mdexample} - Option ... is already consumed - and has no effect on input line ... -\end{mdexample} -If you set a global option inside the document -body you will get this warning. - -\section{Known Problems} - In this section I will collect known problems. In case you encounter any further problems, please - drop me an email, \href{mailto:marco.daniel@mada-nada.de}{marco.daniel at mada-nada.de}. - - Do you have any ideas / wishes on further extensions to this package? Please let me know! - -\begin{enumerate} - \item So far the environment isn't compatible with the package \mdpack{gmverb}. -\end{enumerate} - - -\section{ToDo} -\begin{enumerate} - \item see \glqq Known Problems\grqq. - \item So far it isn't possible to combine the environment \mdcommand{begin\{multicols\}} of the package \mdpack{multicol} with \mdpack{mdframed} with the whole option list. - \item Create new styles. - \item Improve page breaks. - \item Improve footnotes - \item Improve documentation and create a separate pdf with examples - \item Create styles for frame title -\end{enumerate} - -\section{Previous versions} -If you have trouble with the new version of \mdname you can load \texttt{mdframedpre} instead. In this way you load the version v0.6 (see \nameref{rev}). -%With the new version 0.7a I changed the internal commands (I use \mdpack{etoolbox}) and the algorithm of the splitting. So I don't know whether I will get new bugs or not. For the last case and the previous version (v0.6) works well you can load \mdpack{mdframedpre} instead of \mdpack{mdframed}. - -\section{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 \mdpack{mdframed} work?} -With the environment \mdcommand{begin\{mdframed\}} \ldots \mdcommand{end\{mdframed\}} -the whole contents will be saved in a \mdcommand{savebox} called \mdcommand{@tempboxa}. -After the calculation of the width and the height of the \mdcommand{@tempboxa} (done by \mdpack{mdframed.sty}) the box -will be set sequently (done by \mdpack{md-frame-X.mdf}). The following figure demonstrates this. - -\begin{center} -\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 \mdcommand{@tempboxa}} & - \mybox{\mdcommand{md@putbox@single}} \\ - \mybox{split \textbackslash @tempboxa in \mdcommand{tw@} to the free space of the page} & - \mybox{\mdcommand{md@putbox@first}} \\ - \mybox{contents of \mdcommand{@tempboxa} have enough space on the new page} & - \mybox{\mdcommand{md@putbox@second}} \\ - \mybox{split \mdcommand{@tempboxa} in \mdcommand{tw@} to the free space of the page} & - \mybox{\mdcommand{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 \mdcommand{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 \mdcommand{tw@}} (m-4-2); - -\draw (m-2-2) edge node[align=center,fill=white]% - {calculate the height of the new \mdcommand{@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 \mdcommand{@tempboxa}} (\x2,\y1) - -- ($(m-3-1.west)-(0.8,0)$)-- ($(m-3-1.west)$) ; - - -\end{tikzpicture} - -\captionof{figure}{Setting the contents of \mdpack{mdframed}}\label{fig:way} -\end{center} - -The width of the contents is the result of the settings of \mdoption{leftmargin}, \mdoption{rightmargin}, \mdoption{linewidth}, \mdoption{innerleftmargin} and \mdoption{innerrightmargin} (see figure \eqref{fig:laengen}). - - - -\subsection{The Framecommands} -The package \mdpack{mdframed} knows four kinds of \glqq Framecommand\grqq. These commands tell \LaTeX\ how to set the contents of \mdpack{mdframed}. -\begin{description} - \item[\mdcommand{md@putbox@single}] This command sets the contents of a single unspliot frame. - \item[\mdcommand{md@putbox@first}] This command sets the contents of the first frame of a split frame. - \item[\mdcommand{md@putbox@middle}] This command sets the contents of the middle frame of a split frame. - \item[\mdcommand{md@putbox@second}] This command sets the contents of the last frame of a split frame. -\end{description} - -Using the explained commands we give an example. The command \mdcommand{box} uses the contents of the savebox and types them out. - -First we want to type out the single box without any settings (but with the calculated width). -\begin{mdexample} -\makeatletter - \def\md@putbox@single{\box\@tempboxa} -\makeatother -\end{mdexample} -I am using the command \mdcommand{leftline} to start the \glqq Framecommands\grqq\ at the left. -\begin{mdexample}[deletekeywords={leftline},moretexcs={leftline}] -\makeatletter - \def\md@putbox@single{\leftline{\box\@tempboxa}} -\makeatother -\end{mdexample} - -Now you have to know how the lengths are named. Every length which can be modified by the options has the following syntax: -\begin{mdexample} -\mdf@<Name of the Length>@length -\end{mdexample} -For example the leftmargin is: -\begin{mdexample} -\mdf@leftmargin@length -\end{mdexample} - -To create only a line at the left with the correct \mdoption{leftmargin} you can set \mdcommand{md@putboxsingle} as follows - -\begin{mdexample}[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{mdexample} - -In this way you can do what you want. If you create your own style you -can save the file as \mdpack{md-frame-X.mdf}. -\mdpack{X} must be an integer. -In this way you can use the option \mdoption{framemethod} to -load the file by setting \mdoption{framemethod=X}. - -\clearpage - - - -%\clearpage -\subsection{Revision history}\label{rev} -\raggedright -\minisec{Version 1.0 submitted 13 Nov 2011} -\begin{itemize*} -\item add option \mdoption{userdefinedwidth} -\item add option \mdoption{align} -\item add option \mdoption{apptotikzsetting} -\item create new command \mdcommand{mdfapptodefinestyle} -\item changed internal algorithm -\item removed calc instead using \eTeX\ \verb+\dimexpr+ -\item expand documentation -\item trying to fixe problems with \mdpack{xcolor} -\item fixed bug with \mdoption{framemethod=pstricks} -\item create file \mdpack{mdframed-example-default} -\item create file \mdpack{mdframed-example-tikz} -\item create file \mdpack{mdframed-example-pstricks} -\item create file \mdpack{mdframed-example-texsx} (texsx stands for tex stackexchange) -\end{itemize*} - - -\footnotesize -\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 \mdoption{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 \mdoption{style}}!!! (inspired by Lars Madsen) -\item added option \mdoption{framemethod} (inspired by Lars Madsen) -\item added options \mdoption{needspace} (inspired by Lars Madsen) -\item added new command \mdcommand{mdfdefinestyle} (inspired by Lars Madsen) -\item fixes documentation -\item renamed \mdpack{md-frame-3.mdf} to \mdpack{md-frame-2.mdf} -\end{itemize*} - - - -\minisec{Version 0.9b submitted 7 Sep 2011} -\begin{itemize*} -\item fixes bugs in \mdcommand{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 \mdoption{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: \mdcommand{newmdenv}, \mdcommand{renewmdenv}, \mdcommand{newmdtheoremenv} -\item fixes bugs -\item fixes documentation -\end{itemize*} - -\minisec{Version 0.7a submitted 6 August 2011} -\begin{itemize*} -\item added option \mdoption{frametitle} -\item added option \mdoption{frametitlefont} -\item allow twolumn-mode -\item changed the calculation -\item added option \mdoption{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 \mdcommand{mdfsetup} -\item expanded documentation -\end{itemize*} - - - -\minisec{Version 0.6 submitted 18 Dec 2010} -\begin{itemize*} -\item added \mdoption{style=3} with \mdpack{pstricks} -\item added option \mdoption{pstrickssetting} -\item added option \mdoption{splitbottomskip} -\item added option \mdoption{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 \mdpack{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: \mdoption{ntheorem} -\end{itemize*} - -\minisec{Version 0.3a submitted 23 Apr 2010} -\begin{itemize*} -\item added new options: \mdoption{leftmargin} and \mdoption{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*} -\end{document} diff --git a/Master/texmf-dist/doc/latex/mdframed/mdframed-example-default.pdf b/Master/texmf-dist/doc/latex/mdframed/mdframed-example-default.pdf Binary files differindex 8a92f0b311e..af6395ee86e 100644 --- a/Master/texmf-dist/doc/latex/mdframed/mdframed-example-default.pdf +++ b/Master/texmf-dist/doc/latex/mdframed/mdframed-example-default.pdf diff --git a/Master/texmf-dist/doc/latex/mdframed/mdframed-example-default.tex b/Master/texmf-dist/doc/latex/mdframed/mdframed-example-default.tex index 82209c353ea..d58246131d5 100644 --- a/Master/texmf-dist/doc/latex/mdframed/mdframed-example-default.tex +++ b/Master/texmf-dist/doc/latex/mdframed/mdframed-example-default.tex @@ -1,29 +1,36 @@ -%Documenation of the package mdframed -%%$Id: mdframed-example-default.tex 221 2011-11-13 18:03:29Z marco $ +%% +%% This is file `mdframed-example-default.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% mdframed-examples.dtx (with options: `mdframed-example-default') +%% ---------------------------------------------------------------- +%% 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 + +%%$Id: mdframed-examples.dtx 270 2011-12-09 12:19:09Z marco $ \setcounter{errorcontextlines}{999} \documentclass[parskip=false,english,11pt]{ltxmdf} -\svnInfo $Id: mdframed-example-default.tex 221 2011-11-13 18:03:29Z marco $ -\usepackage{babel} -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[T1,altbullet]{lucidabr} -\usepackage[scaled=0.82]{beramono} +\ltxmdfsetifoot $Id: mdframed-examples.dtx 270 2011-12-09 12:19:09Z marco $ -\usepackage[]{showexpl} -\lstset{style=lstmdframed,explpreset={pos=b,rframe={}},} +\usepackage{showexpl} +\lstset{style=lstltxmdf,explpreset={pos=b,rframe={}},} \newcommand\Loadedframemethod{default} \usepackage[framemethod=\Loadedframemethod]{mdframed} -\title{The \mdname package} -\subtitle{Examples for \mdoption{framemethod=\Loadedframemethod}} +\title{The \Pack{mdframed} package} +\subtitle{Examples for \Opt{framemethod=\Loadedframemethod}} \author{\href{mailto:marco.daniel@mada-nada.de}{Marco Daniel}} \version{\mdversion} -\date{\svnToday} -\introduction{In this document I collect various examples for \mdoption{framemethod=\Loadedframemethod}. +\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 @@ -31,11 +38,10 @@ Some presented examples are more or less exorbitant.} L[v ] = f, \end{align} where $L$ is a linear differential operator, $v$ is - the dependent variable, and $f$ is a given non-zero + the dependent variable, and $f$ is a given non-zero function of the independent variables alone. } - \newcounter{examplecount} \setcounter{examplecount}{0} \renewcommand\thesubsection{} @@ -47,15 +53,15 @@ Some presented examples are more or less exorbitant.} \begin{document} \maketitle \section{Loading} -In the preamble only the package \mdname width the option \mdoption{framemethod=\Loadedframemethod} is loaded. All other modifications will be done by \mdcommand{mdfdefinestyle} or \mdcommand{mdfsetup}. +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 \mdcommand{global} inside the examples is necessary to work with the package \mdpack{showexpl}.} +\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{mdexample} +\begin{tltxmdfexample} \mdfsetup{skipabove=\topskip,skipbelow=\topskip} \newrobustcmd\ExampleText{% An \textit{inhomogeneous linear} differential equation @@ -64,10 +70,10 @@ has the form L[v ] = f, \end{align} where $L$ is a linear differential operator, $v$ is -the dependent variable, and $f$ is a given non-zero +the dependent variable, and $f$ is a given non-zero function of the independent variables alone. } -\end{mdexample} +\end{tltxmdfexample} \clearpage \Examplesec{very simple} \begin{LTXexample} @@ -80,25 +86,26 @@ function of the independent variables alone. \end{mdframed} \end{LTXexample} - \Examplesec{hidden line + frame title} \begin{LTXexample} \global\mdfapptodefinestyle{exampledefault}{% - topline=false,rightline=false,bottomline=false} + 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{\linewidth}{\centering\bfseries #1}}% + \parbox{\dimexpr\linewidth-6pt\relax}%6pt=linewidth + {\centering\bfseries #1}}% \par\kern.5\baselineskip\noindent% } \global\mdfapptodefinestyle{exampledefault}{% - rightline=true} + rightline=true,innerleftmargin=0,innerrightmargin=0} \begin{mdframed}[style=exampledefault,frametitle={Inhomogeneous linear}] \ExampleText \end{mdframed} @@ -113,7 +120,7 @@ function of the independent variables alone. \end{LTXexample} \Examplesec{theorem with separate header and the help of TikZ (complex)} -\begin{mdexample} +\begin{tltxmdfexample} \makeatletter \newcounter{theo}[section] \newcommand*\newmdframedtitleenv[1]{% @@ -158,7 +165,7 @@ function of the independent variables alone. \begin{theo} \ExampleText \end{theo} -\end{mdexample} +\end{tltxmdfexample} \makeatletter \newcounter{theo}[section] \newcommand*\newmdframedtitleenv[1]{% @@ -196,6 +203,7 @@ function of the independent variables alone. \begin{mdframed}[innertopmargin=0pt,linecolor=blue!20,% linewidth=2pt,topline=false,]% }{\end{mdframed}} + \begin{theo}[Inhomogeneous Linear] \ExampleText \end{theo} @@ -216,13 +224,13 @@ The example below is inspired by the following post on StackExchange \href{http: \llap{\color{white}% \rule[\dimexpr-\mdfboundingboxdepth% \ifbool{mdf@bottomline}{-\mdf@middlelinewidth@length}{}% - +\interruptlength\relax]% + +\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}% @@ -242,9 +250,28 @@ The example below is inspired by the following post on StackExchange \href{http: \makeatother \overlaplines - -\begin{mdframed}[linecolor=blue,linewidth=2pt] +\begin{mdframed}[linecolor=blue,linewidth=8pt] \ExampleText \end{mdframed} \end{LTXexample} \end{document} + \endinput +%% +%% ================================================================ +%% 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! +%% +%% ================================================================ +%% +%% End of file `mdframed-example-default.tex'. diff --git a/Master/texmf-dist/doc/latex/mdframed/mdframed-example-pstricks.pdf b/Master/texmf-dist/doc/latex/mdframed/mdframed-example-pstricks.pdf Binary files differindex ce87a83e442..9e5cda715b6 100644 --- a/Master/texmf-dist/doc/latex/mdframed/mdframed-example-pstricks.pdf +++ b/Master/texmf-dist/doc/latex/mdframed/mdframed-example-pstricks.pdf diff --git a/Master/texmf-dist/doc/latex/mdframed/mdframed-example-pstricks.tex b/Master/texmf-dist/doc/latex/mdframed/mdframed-example-pstricks.tex index d7b13cd831e..51b28defac1 100644 --- a/Master/texmf-dist/doc/latex/mdframed/mdframed-example-pstricks.tex +++ b/Master/texmf-dist/doc/latex/mdframed/mdframed-example-pstricks.tex @@ -1,29 +1,37 @@ -%Documenation of the package mdframed -%%$Id: mdframed-example-pstricks.tex 220 2011-11-13 17:39:13Z marco $ +%% +%% This is file `mdframed-example-pstricks.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% mdframed-examples.dtx (with options: `mdframed-example-pstricks') +%% ---------------------------------------------------------------- +%% 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 + +%%$Id: mdframed-examples.dtx 270 2011-12-09 12:19:09Z marco $ \setcounter{errorcontextlines}{999} \documentclass[parskip=false,english,11pt]{ltxmdf} -\svnInfo $Id: mdframed-example-pstricks.tex 220 2011-11-13 17:39:13Z marco $ -\usepackage{babel} -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[T1,altbullet]{lucidabr} -\usepackage[scaled=0.82]{beramono} - -\usepackage[]{showexpl} -\lstset{style=lstmdframed,explpreset={pos=b,rframe={}},} +\ltxmdfsetifoot$Id: mdframed-examples.dtx 270 2011-12-09 12:19:09Z marco $ +\lstDeleteShortInline{|} \newcommand\Loadedframemethod{PSTricks} \usepackage[framemethod=\Loadedframemethod]{mdframed} -\title{The \mdname package} -\subtitle{Examples for \mdoption{framemethod=\Loadedframemethod}} +\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} -\date{\svnToday} -\introduction{In this document I collect various examples for \mdoption{framemethod=\Loadedframemethod}. +\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 @@ -31,11 +39,10 @@ Some presented examples are more or less exorbitant.} L[v ] = f, \end{align} where $L$ is a linear differential operator, $v$ is - the dependent variable, and $f$ is a given non-zero + the dependent variable, and $f$ is a given non-zero function of the independent variables alone. } - \newcounter{examplecount} \setcounter{examplecount}{0} \renewcommand\thesubsection{} @@ -47,15 +54,15 @@ Some presented examples are more or less exorbitant.} \begin{document} \maketitle \section{Loading} -In the preamble only the package \mdname width the option \mdoption{framemethod=\Loadedframemethod} is loaded. All other modifications will be done by \mdcommand{mdfdefinestyle} or \mdcommand{mdfsetup}. +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 \mdcommand{global} inside the examples is necessary to work with the package \mdpack{showexpl}.} - +\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{mdexample} +\begin{tltxmdfexample} \mdfsetup{skipabove=\topskip,skipbelow=\topskip} \newrobustcmd\ExampleText{% An \textit{inhomogeneous linear} differential equation @@ -64,11 +71,12 @@ has the form L[v ] = f, \end{align} where $L$ is a linear differential operator, $v$ is -the dependent variable, and $f$ is a given non-zero +the dependent variable, and $f$ is a given non-zero function of the independent variables alone. } -\end{mdexample} +\end{tltxmdfexample} \clearpage + \Examplesec{very simple} \begin{LTXexample} \global\mdfdefinestyle{exampledefault}{% @@ -80,7 +88,6 @@ function of the independent variables alone. \end{mdframed} \end{LTXexample} - \Examplesec{hidden line + frame title} \begin{LTXexample} \global\mdfapptodefinestyle{exampledefault}{% @@ -110,4 +117,24 @@ function of the independent variables alone. \ExampleText \end{mdframed} \end{LTXexample} -\end{document}
\ No newline at end of file +\end{document} + \endinput +%% +%% ================================================================ +%% 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! +%% +%% ================================================================ +%% +%% End of file `mdframed-example-pstricks.tex'. diff --git a/Master/texmf-dist/doc/latex/mdframed/mdframed-example-texsx.pdf b/Master/texmf-dist/doc/latex/mdframed/mdframed-example-texsx.pdf Binary files differindex 583bb0aa435..ef0208f9891 100644 --- a/Master/texmf-dist/doc/latex/mdframed/mdframed-example-texsx.pdf +++ b/Master/texmf-dist/doc/latex/mdframed/mdframed-example-texsx.pdf diff --git a/Master/texmf-dist/doc/latex/mdframed/mdframed-example-texsx.tex b/Master/texmf-dist/doc/latex/mdframed/mdframed-example-texsx.tex index bd78dac88d2..af300511f50 100644 --- a/Master/texmf-dist/doc/latex/mdframed/mdframed-example-texsx.tex +++ b/Master/texmf-dist/doc/latex/mdframed/mdframed-example-texsx.tex @@ -1,29 +1,36 @@ -%Documenation of the package mdframed -%%$Id: mdframed-example-texsx.tex 220 2011-11-13 17:39:13Z marco $ +%% +%% This is file `mdframed-example-texsx.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% mdframed-examples.dtx (with options: `mdframed-example-texsx') +%% ---------------------------------------------------------------- +%% 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 + +%%$Id: mdframed-examples.dtx 270 2011-12-09 12:19:09Z marco $ \setcounter{errorcontextlines}{999} -\documentclass[parskip=false,english,11pt]{ltxmdf} -\svnInfo $Id: mdframed-example-texsx.tex 220 2011-11-13 17:39:13Z marco $ -\usepackage{babel} -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[T1,altbullet]{lucidabr} -\usepackage[scaled=0.82]{beramono} +\documentclass[parskip=false,english,11pt,ltxlipsum]{ltxmdf} +\ltxmdfsetifoot $Id: mdframed-examples.dtx 270 2011-12-09 12:19:09Z marco $ -\usepackage[]{showexpl} -\lstset{style=lstmdframed,explpreset={pos=b,rframe={}},} +\usepackage{showexpl} +\lstset{style=lstltxmdf,explpreset={pos=b,rframe={}},} \newcommand\Loadedframemethod{default} \usepackage[framemethod=\Loadedframemethod]{mdframed} -\title{The \mdname package} -\subtitle{Examples for \mdoption{framemethod=\Loadedframemethod}} +\title{The \Pack{mdframed} package} +\subtitle{Examples for \Opt{framemethod=\Loadedframemethod}} \author{\href{mailto:marco.daniel@mada-nada.de}{Marco Daniel}} \version{\mdversion} -\date{\svnToday} -\introduction{In this document I collect various examples for \mdoption{framemethod=\Loadedframemethod}. +\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 @@ -31,11 +38,10 @@ Some presented examples are more or less exorbitant.} L[v ] = f, \end{align} where $L$ is a linear differential operator, $v$ is - the dependent variable, and $f$ is a given non-zero + the dependent variable, and $f$ is a given non-zero function of the independent variables alone. } - \newcounter{examplecount} \setcounter{examplecount}{0} \renewcommand\thesubsection{} @@ -44,20 +50,18 @@ Some presented examples are more or less exorbitant.} \subsection{Example~\arabic{examplecount}~--~#1\relax}% } -\usepackage{lipsum} - \begin{document} \maketitle \section{Loading} -In the preamble only the package \mdname width the option \mdoption{framemethod=\Loadedframemethod} is loaded. All other modifications will be done by \mdcommand{mdfdefinestyle} or \mdcommand{mdfsetup}. +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 \mdcommand{global} inside the examples is necessary to work with the package \mdpack{showexpl}.} +\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{mdexample} +\begin{tltxmdfexample} \mdfsetup{skipabove=\topskip,skipbelow=\topskip} \newrobustcmd\ExampleText{% An \textit{inhomogeneous linear} differential equation @@ -66,27 +70,27 @@ has the form L[v ] = f, \end{align} where $L$ is a linear differential operator, $v$ is -the dependent variable, and $f$ is a given non-zero +the dependent variable, and $f$ is a given non-zero function of the independent variables alone. } -\end{mdexample} +\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{mdexample}[moretexcs={BeforeBeginEnvironment,AfterEndEnvironment},morekeywords={lstlisting}] +\begin{tltxmdfexample}[moretexcs={BeforeBeginEnvironment,AfterEndEnvironment},morekeywords={lstlisting}] \BeforeBeginEnvironment{lstlisting}{% \begin{mdframed}[<modification>]% \vspace{-0.7em}} \AfterEndEnvironment{lstlisting}{% \vspace{-0.5em}% \end{mdframed}} -\end{mdexample} +\end{tltxmdfexample} \Examplesec{Package multicol} -How I wrote in \glqq Known Problems\grqq\ you can't combine \mdpack{multicol} with \mdname. In a simple way without any breaks you can use: +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] @@ -98,7 +102,7 @@ How I wrote in \glqq Known Problems\grqq\ you can't combine \mdpack{multicol} w \end{LTXexample} \clearpage \twocolumn[\Examplesec{Working in twocolumn mode}] -\begin{mdexample} +\begin{tltxmdfexample} \twocolumn[% \Examplesec{Working in twocolumn mode}] @@ -111,7 +115,7 @@ How I wrote in \glqq Known Problems\grqq\ you can't combine \mdpack{multicol} w \ExampleText \end{mdframed} \lipsum[2] -\end{mdexample} +\end{tltxmdfexample} \lipsum[2]\lipsum[2] \begin{mdframed}[leftmargin=10pt,% rightmargin=10pt,% @@ -123,7 +127,7 @@ How I wrote in \glqq Known Problems\grqq\ you can't combine \mdpack{multicol} w \onecolumn \Examplesec{Working inside enumerate} \begin{LTXexample} -Text Text Text Text Text Text Text Text +Text Text Text Text Text Text Text Text \begin{enumerate} \item in the following \ldots \begin{mdframed}[linecolor=blue,linewidth=2] @@ -131,6 +135,26 @@ Text Text Text Text Text Text Text Text \end{mdframed} \item \lipsum[2] \end{enumerate} -Text Text Text Text Text Text +Text Text Text Text Text Text \end{LTXexample} -\end{document}
\ No newline at end of file +\end{document} + \endinput +%% +%% ================================================================ +%% 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! +%% +%% ================================================================ +%% +%% End of file `mdframed-example-texsx.tex'. diff --git a/Master/texmf-dist/doc/latex/mdframed/mdframed-example-tikz.pdf b/Master/texmf-dist/doc/latex/mdframed/mdframed-example-tikz.pdf Binary files differindex 8e386b575cc..cbd11f4f371 100644 --- a/Master/texmf-dist/doc/latex/mdframed/mdframed-example-tikz.pdf +++ b/Master/texmf-dist/doc/latex/mdframed/mdframed-example-tikz.pdf diff --git a/Master/texmf-dist/doc/latex/mdframed/mdframed-example-tikz.tex b/Master/texmf-dist/doc/latex/mdframed/mdframed-example-tikz.tex index 74e4f397256..5539f819aab 100644 --- a/Master/texmf-dist/doc/latex/mdframed/mdframed-example-tikz.tex +++ b/Master/texmf-dist/doc/latex/mdframed/mdframed-example-tikz.tex @@ -1,29 +1,36 @@ -%Documenation of the package mdframed -%%$Id: mdframed-example-tikz.tex 220 2011-11-13 17:39:13Z marco $ +%% +%% This is file `mdframed-example-tikz.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% mdframed-examples.dtx (with options: `mdframed-example-tikz') +%% ---------------------------------------------------------------- +%% 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 + +%%$Id: mdframed-examples.dtx 270 2011-12-09 12:19:09Z marco $ \setcounter{errorcontextlines}{999} \documentclass[parskip=false,english,11pt]{ltxmdf} -\svnInfo $Id: mdframed-example-tikz.tex 220 2011-11-13 17:39:13Z marco $ -\usepackage{babel} -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[T1,altbullet]{lucidabr} -\usepackage[scaled=0.82]{beramono} +\ltxmdfsetifoot $Id: mdframed-examples.dtx 270 2011-12-09 12:19:09Z marco $ -\usepackage[]{showexpl} -\lstset{style=lstmdframed,explpreset={pos=b,rframe={}},} +\usepackage{showexpl} +\lstset{style=lstltxmdf,explpreset={pos=b,rframe={}},} \newcommand\Loadedframemethod{TikZ} \usepackage[framemethod=\Loadedframemethod]{mdframed} -\title{The \mdname package} -\subtitle{Examples for \mdoption{framemethod=\Loadedframemethod}} +\title{The \Pack{mdframed} package} +\subtitle{Examples for \Opt{framemethod=\Loadedframemethod}} \author{\href{mailto:marco.daniel@mada-nada.de}{Marco Daniel}} \version{\mdversion} -\date{\svnToday} -\introduction{In this document I collect various examples for \mdoption{framemethod=\Loadedframemethod}. +\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 @@ -31,11 +38,10 @@ Some presented examples are more or less exorbitant.} L[v ] = f, \end{align} where $L$ is a linear differential operator, $v$ is - the dependent variable, and $f$ is a given non-zero + the dependent variable, and $f$ is a given non-zero function of the independent variables alone. } - \newcounter{examplecount} \setcounter{examplecount}{0} \renewcommand\thesubsection{} @@ -47,15 +53,15 @@ Some presented examples are more or less exorbitant.} \begin{document} \maketitle \section{Loading} -In the preamble only the package \mdname width the option \mdoption{framemethod=\Loadedframemethod} is loaded. All other modifications will be done by \mdcommand{mdfdefinestyle} or \mdcommand{mdfsetup}. +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 \mdcommand{global} inside the examples is necessary to work with the package \mdpack{showexpl}.} +\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{mdexample} +\begin{tltxmdfexample} \mdfsetup{skipabove=\topskip,skipbelow=\topskip} \newrobustcmd\ExampleText{% An \textit{inhomogeneous linear} differential equation @@ -64,10 +70,10 @@ has the form L[v ] = f, \end{align} where $L$ is a linear differential operator, $v$ is -the dependent variable, and $f$ is a given non-zero +the dependent variable, and $f$ is a given non-zero function of the independent variables alone. } -\end{mdexample} +\end{tltxmdfexample} \clearpage \ExampleText{round corner} \begin{LTXexample} @@ -88,8 +94,15 @@ function of the independent variables alone. \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, @@ -106,10 +119,9 @@ function of the independent variables alone. \end{mdframed} \end{LTXexample} - \Examplesec{complex example with TikZ} -\begin{mdexample} +\begin{tltxmdfexample} \tikzstyle{titregris} = [draw=gray, thick, fill=white, shading = exersicetitle, % text=gray, rectangle, rounded corners, @@ -160,7 +172,7 @@ color(100bp)=(black!5)} \begin{mdframed}[style=exercisestyle,exercisepoints=10] \ExampleText \end{mdframed} -\end{mdexample} +\end{tltxmdfexample} \tikzstyle{titregris} = [draw=gray, thick, fill=white, shading = exersicetitle, % @@ -212,5 +224,24 @@ color(100bp)=(black!5)} \ExampleText \end{mdframed} - -\end{document}
\ No newline at end of file +\end{document} + \endinput +%% +%% ================================================================ +%% 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! +%% +%% ================================================================ +%% +%% End of file `mdframed-example-tikz.tex'. diff --git a/Master/texmf-dist/doc/latex/mdframed/mdframed-examples.pdf b/Master/texmf-dist/doc/latex/mdframed/mdframed-examples.pdf Binary files differnew file mode 100644 index 00000000000..806d7b129e5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/mdframed/mdframed-examples.pdf diff --git a/Master/texmf-dist/doc/latex/mdframed/mdframed.pdf b/Master/texmf-dist/doc/latex/mdframed/mdframed.pdf Binary files differnew file mode 100644 index 00000000000..a2824637511 --- /dev/null +++ b/Master/texmf-dist/doc/latex/mdframed/mdframed.pdf 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 + diff --git a/Master/texmf-dist/tex/latex/mdframed/ltxmdf.cls b/Master/texmf-dist/tex/latex/mdframed/ltxmdf.cls index d52123efd05..63f4474a06f 100644 --- a/Master/texmf-dist/tex/latex/mdframed/ltxmdf.cls +++ b/Master/texmf-dist/tex/latex/mdframed/ltxmdf.cls @@ -8,23 +8,47 @@ %% Public License, as described in lppl.txt in the base LaTeX distribution. %% Either version 1.0 or, at your option, any later version. -%%$Id: ltxmdf.cls 220 2011-11-13 17:39:13Z marco $ -%%$Rev: 220 $ +%%$Id: ltxmdf.cls 269 2011-12-09 12:14:02Z marco $ +%%$Rev: 269 $ %%$Author: marco $ -%%$Date: 2011-11-13 18:39:13 +0100 (So, 13. Nov 2011) $ +%%$Date: 2011-12-09 13:14:02 +0100 (Fr, 09. Dez 2011) $ %% Allgemeine Angaben -\def\md@maindate@svn$#1: #2 #3 #4-#5-#6 #7 #8${#4/#5/#6\space } +\def\ltxmdf@svn$#1: #2 #3 #4-#5-#6 #7 #8${#4/#5/#6\space } \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{ltxmdf}[\md@maindate@svn$Id: ltxmdf.cls 220 2011-11-13 17:39:13Z marco $ ltxmdf] +\ProvidesPackage{ltxmdf}[\ltxmdf@svn$Id: ltxmdf.cls 269 2011-12-09 12:14:02Z marco $ ltxmdf] +\DeclareOption{tocdepthsec}{\def\ltxmdf@tocdepth{1}} +\DeclareOption{tocdepthsub}{\def\ltxmdf@tocdepth{2}} +\newif\ifltxmdf@lipsum +\ltxmdf@lipsumfalse +\DeclareOption{ltxlipsum}{\ltxmdf@lipsumtrue} +\newif\ifltxmdf@showframe +\ltxmdf@showframefalse +\DeclareOption{ltxshowframe}{\ltxmdf@showframetrue} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} +\ExecuteOptions{tocdepthsub} \ProcessOptions\relax \LoadClass{scrartcl} +\RequirePackage{selinput} +\SelectInputMappings{ + adieresis={ä}, + germandbls={ß}, + Euro={€}, +} + \RequirePackage{etoolbox} %Required Packages no font / no language -\RequirePackage[nofancy,draft,notoday]{svninfo} +%\RequirePackage[nofancy,draft,notoday]{svninfo} \RequirePackage[left=2.5cm,right=2.5cm,top=3cm,bottom=3cm]{geometry} +\ifltxmdf@showframe + \RequirePackage{showframe} +\fi +\ifltxmdf@lipsum + \RequirePackage{lipsum} +\fi \RequirePackage[T1]{fontenc} +\RequirePackage[scaled=0.82]{beramono} \RequirePackage{microtype} \RequirePackage[french=quotes]{csquotes} \RequirePackage{xspace} @@ -42,18 +66,18 @@ \RequirePackage{array,booktabs} \RequirePackage{xcolor,tikz} \RequirePackage{graphicx} -\AtEndPreamble{% - \RequirePackage{hyperref} + +\RequirePackage[numbered]{hypdoc} \hypersetup{% breaklinks=true, pdftitle={Documenation of mdframed},% pdfauthor={Marco Daniel},% colorlinks=true,% - linkcolor=titleblue, + linkcolor=ltxmdfblue, urlcolor=cyan, - bookmarksdepth=4, + bookmarksdepth=\ltxmdf@tocdepth, } -} + %Kopf- und Fusszeilen \clearscrheadfoot @@ -63,23 +87,27 @@ \renewcommand{\subsectionmark}[1]{\markright{\subsectionmarkformat #1}} %nur Titel ohne Nr. \ihead{\rightmark} \ohead{\leftmark} -\ofoot{\pagemark} -\ifoot{\svnId} +\ofoot{\pagemark} + +\def\ltxmdfsetifoot$#1: #2 #3 #4-#5-#6 #7 #8${% + \ifoot{#2 #3 #4-#5-#6 #7 #8} +} +\ltxmdfsetifoot$Id: ltxmdf.cls 269 2011-12-09 12:14:02Z marco $ %Tikz und Farbe \usetikzlibrary{calc,backgrounds,arrows,matrix} -\colorlet{titleblue}{blue!30!black} +\colorlet{ltxmdfblue}{blue!30!black} \lstset{keywordstyle=\bfseries} -\lstdefinestyle{lstmdframed}{% +\lstdefinestyle{lstltxmdf}{% basicstyle=\small\ttfamily, language={[LaTeX]TeX}, basicstyle=\small,% xleftmargin=20pt,% xrightmargin=20pt,% frame=single,% - rulecolor=\color{titleblue},% + rulecolor=\color{ltxmdfblue},% framesep=5pt,% framerule=1pt,% texcsstyle=*\color{red!50!black}\bfseries, @@ -116,49 +144,29 @@ } -\lstnewenvironment{mdexample}[1][] - {\lstset{style=lstmdframed,#1}}% +\lstnewenvironment{tltxmdfexample}[1][] + {\lstset{style=lstltxmdf,#1}}% {} +\lstMakeShortInline[basicstyle=\small\ttfamily\color{blue!60!black}]{|} + %table of contens anpassen: \renewcommand\tableofcontents{% -\setcounter{tocdepth}{2}% - \begin{multicols}{2}[\centering\textbf{\sffamily\Large\contentsname}] + \setcounter{tocdepth}{\ltxmdf@tocdepth}% + \begin{multicols}{2}[\centering\textbf{\sffamily\Large\contentsname}] \@starttoc{toc} - \end{multicols} + \end{multicols} } - -%Anweisung zur Darstellung -\newcommand*\mdoption[1]{\textsf{\color{titleblue}#1}} -\newcommand*\mdname{\textsf{mdframed}\xspace} -\newcommand*\mdpack[1]{\texttt{#1}\xspace} -\newcommand*\mdsetting[1]{\textsf{#1}\xspace} -\newcommand*\mdcommand[1]{\texttt{\textbackslash #1}\xspace} - -\newcommand*\mdDescribeMacro[2][]{\par\kern\baselineskip% - \noindent\makebox[0pt][l]{\kern-2em% - \textsf{\bfseries\color{titleblue}#2}% - }\hfill\mbox{\mdDefault{#1}}\par\kern.5ex\noindent\ignorespaces} -\newcommand*{\mdDefault}[1]{% - \ifx\relax#1\relax\else{\small\mdsetting{default=#1}}\fi} - -\newcommand*\mdDescribeCmd[2][]{\par\kern\baselineskip% - \noindent\makebox[0pt][l]{\kern-2em% - \textsf{\bfseries\color{titleblue}\textbackslash #2}% - }{#1}\hfill\mbox{\mdDefault{#1}}\par\kern.5ex\noindent\ignorespaces} - - -\newcommand\NOTE{\minisec{Note}} - -\newcommand\limitation[1][TikZ]{\newline{\small This works only with \mdoption{framemethod=#1}.}} - %%Maketitle angepasst: \def\title#1{\def\@title{#1}} \def\subtitle#1{\def\@subtitle{#1}} \def\author#1{\def\@author{#1}} \def\version#1{\def\@version{#1}} \def\date#1{\def\@date{#1}} +\def\@@date$#1: #2 #3 #4-#5-#6 #7 #8${#4/#5/#6} +\date{\@@date$Id: ltxmdf.cls 269 2011-12-09 12:14:02Z marco $} + \long\def\introduction#1{\def\@introduction{#1}} \def\maketitle{% @@ -168,7 +176,7 @@ \begingroup \parindent\z@ \centering - \color{titleblue}\Large\bfseries\sffamily\@title + \color{ltxmdfblue}\Large\bfseries\sffamily\@title \par\kern.5\baselineskip \normalfont\large\normalcolor\@subtitle \par\kern.5\baselineskip @@ -184,5 +192,231 @@ \endgroup } +%Own Appendix +\def\ltxmdfappendix{% + \clearpage + %\newgeometry{left=5.5cm,}% +} +%Modifkation of code +\preto\theCodelineNo{\color{gray}} +\setlength\MacroTopsep{10pt} +\appto\MacroFont{\color{ltxmdfblue}} + + +\DoNotIndex{\@captype,\@endparenv,\@endparpenalty,\@endpetrue,\@floatpenalty,\@footnotetext,\@ifnextchar,\@undefined,\@tempboxa} +\DoNotIndex{\@M,\@empty,\@height,\@mpfn,\@mpfootins,\@mpfootnotetext,\@nil,\@plus,\@width} + +\DoNotIndex{\@captype,\@endparenv,\@endparpenalty,\@endpetrue,\@floatpenalty} +\DoNotIndex{\@footnotetext,\@ifnextchar,\@undefined,\@tempboxa} +\DoNotIndex{\@M,\@empty,\@height,\@mpfn,\@mpfootins,\@mpfootnotetext,\@nil,\@plus,\@width} +\DoNotIndex{\@afterheading,\@afterindentfalse,\@firstoftwo,\@gobble,\@ifpackageloaded} +\DoNotIndex{\@nobreaktrue,\@nobreakfalse,\@secondoftwo,\@tempa,\@tempdima} + +\DoNotIndex{\addpenalty,\addvspace,\advance,\afterassignment,\AfterEndEnvironment,\appto} + +\DoNotIndex{\baselineskip,\begin,\boolfalse,\begingroup,\box} +\DoNotIndex{\BeforeBeginEnvironment,\bfseries,\bgroup,\boxmaxdepth} + +\DoNotIndex{\color@endgroup,\color@setgroup,\columnwidth,\csdef,\c@mpfootnote,\csname} +\DoNotIndex{\clip,\color,\color@begingroup,\coordinate,\csappta,\csuse,\csxdef,\Currentoption} + +\DoNotIndex{\dimexpr,\DeclareBoolOption,\DeclareListParser,\def,\define@key,\dimen@,\dimen@i,\dp,\deflength} +\DoNotIndex{\DeclareDefaultOption,\defcounter,\DisableKeyvaloption} + +\DoNotIndex{\eject,\end,\endtrivlist,\edef,\else,\endcsname,\endinput,\expandafter,\endgroup\egroup,\enlargethispage} + +\DoNotIndex{\fwd@reserved@a,\fwd@reserveda,\fi,\fill,\forcsvlist} + +\DoNotIndex{\gdef} + +\DoNotIndex{\hbox,\height,\hrule,\hsize,\hspace,\ht,\hb@xt@,\hss} + +\DoNotIndex{\if@minipage,\if@twocolumn,\if@twoside,\ifbool,\ifdim,\ifdimequal} +\DoNotIndex{\ifdimgreater,\ifdimless,\iffwd@footnoteinside,\ifinner,\ifnum,\ifodd} +\DoNotIndex{\ifblank,\ifboolexpr,\ifcase,\ifcsundef,\IfFileExists,\ifnumequal,\ifstrequal} +\DoNotIndex{\iftoggle,\ifundef,\input,\kernel@ifnextchar,\ifvoid,\ifx,\item} + +\DoNotIndex{\kern} + +\DoNotIndex{\leftline,\let,\linewidth,\lrbox,\large,\letcs,\listadd,\llap,\lowercase} + +\DoNotIndex{\maxdimen,\medskipamount,\MessageBreak,\makebox} + +\DoNotIndex{\NeedsTeXFormat,\newcounter,\newlength,\newrobustcmd,\nobreak,\normalcolor,\number} +\DoNotIndex{\newbool,\newcommand,\newenvironment,\newtheorem,\newtoggle,\node,\noindent} +\DoNotIndex{\notblank,\notbool,\null,\newpsstyle} +\DoNotIndex{\next} + +\DoNotIndex{\or} + +\DoNotIndex{\p@,\PackageInfo,\PackageWarning,\pagegoal,\pagetotal,\partopsep,\patchcmd,\penalty} +\DoNotIndex{\ProcessKeyvalOptions,\ProvidesPackage,\providecommand,\path} +\DoNotIndex{\protected@edef,\ProvidesFile,\psframe,\psline,\psset,\pst@number,\psxunit} +\DoNotIndex{\par,\parfillskip,\parindent,\PassOptionsToPackage,\pgfmathsetlengthmacro} + +\DoNotIndex{\relax,\RequirePackage,\raggedright,\renewcommand,\rlap,\rput,\rule} + +\DoNotIndex{\setbox,\setkeys,\setlength,\SetupKeyvalOptions,\splitmaxdepth,\splittopskip,\stepcounter,\strutbox} +\DoNotIndex{\setbool,\settoggle,\space,\string} + +\DoNotIndex{\textwidth,\the,\thempfn,\thempfootnote,\topsep,\trivlist,\tw@,\tikzset} + +\DoNotIndex{\unskip,\unvbox} + +\DoNotIndex{\value,\vbox,\vfill,\vsize,\vskip,\vsplit} + +\DoNotIndex{\width,\wd} + +\DoNotIndex{\xifinlist} + +\DoNotIndex{\z@,\z@skip,\zref@addprop,\zref@extract,\zref@label,\zref@newprop,\zref@refused,\ZREF@mainlist} + +\IndexPrologue{\section*{Index}% + \markboth{Index}{Index}The index only collect package relevant words.} +%\DoNotIndex{\newrobustcmd,\DeclareBoolOption,\DeclareListParser,\deflength} +%\DoNotIndex{\z@,\@ne,\@M} +%\DoNotIndex{\define@key} +%\DoNotIndex{\@nil,\dimen@,\dimen@i} +%\DoNotIndex{\@mpfn,\@mpfootins,\@mpfootnotetext,\c@mpfootnote} +%\DoNotIndex{\advance,\begingroup,\ifx,\fi,\else,\@plus,\@height,\@width,\dp,\ht,\wd} +%\DoNotIndex{\closeout,\day,\def,\edef,\else,\empty,\endgroup,\csname,\endcsname,\endinput} +%\DoNotIndex{\def,\long,\edef,\xdef,\gdef,\let,\global} +%\DoNotIndex{\if,\ifnum,\ifdim,\ifcat,\ifmmode,\ifvmode,\ifhmode,% +% \iftrue,\iffalse,\ifvoid,\ifx,\ifeof,\ifcase,\else,\or,\fi} +%\DoNotIndex{\box,\copy,\setbox,\unvbox,\unhbox,\hbox,% +% \vbox,\vtop,\vcenter} +%\DoNotIndex{\@empty,\immediate,\write} +%\DoNotIndex{\egroup,\bgroup,\expandafter,\begingroup,\endgroup} +%\DoNotIndex{\divide,\advance,\multiply,\count,\dimen} +%\DoNotIndex{\relax,\space,\string} +%\DoNotIndex{\csname,\endcsname,\@spaces,\openin,\openout,% +% \closein,\closeout} +%\DoNotIndex{\catcode,\endinput} +%\DoNotIndex{\jobname,\message,\read,\the,\m@ne,\noexpand} +%\DoNotIndex{\hsize,\vsize,\hskip,\vskip,\kern,\hfil,\hfill,\hss} +%\DoNotIndex{\m@ne,\z@,\z@skip,\@ne,\tw@,\p@} +%\DoNotIndex{\dp,\wd,\ht,\vss,\unskip} + +\def\macro#1{% + \MakePrivateLetters + \topsep\MacroTopsep \trivlist + \edef\saved@macroname{#1}% + \def\makelabel##1{\makebox[0pt][l]{\kern-2em ##1}}% + \if@inlabel + \let\@tempa\@empty \count@\macro@cnt + \loop \ifnum\count@>\z@ + \edef\@tempa{\@tempa\hbox{\strut}}\advance\count@\m@ne \repeat + \edef\makelabel##1{\llap{\vtop to\baselineskip + {\@tempa\hbox{##1}\vss}}}% + \advance \macro@cnt \@ne + \else \macro@cnt\@ne \fi + \toks@={\@gobble}% + \@for\next:=#1\do + {\toks@=\expandafter{\the\expandafter\toks@% + \expandafter\\% + \expandafter\PrintMacroName\expandafter{\next}}}% + \item[\fbox{\begin{tabular}{@{\textbackslash}>{}l} + \the\toks@ + \end{tabular}}]% + \leavevmode\par\kern\MacroTopsep\noindent\ignorespaces + \global\advance\c@CodelineNo\@ne + \@for\next:=#1\do + {% + \expandafter\SpecialMainIndex\expandafter{\next}\nobreak + \expandafter\DoNotIndex\expandafter{\next}}% + \global\advance\c@CodelineNo\m@ne + \ignorespaces} + + + +%Anweisung zur Darstellung +\newcommand*\Opt[1]{{\MacroFont #1}\xspace} +\newcommand*\Env[1]{{\MacroFont #1}\xspace} +\newcommand*\Cmd[1]{{\MacroFont \string #1}\xspace} +\newcommand*\Pack[1]{\texttt{#1}\xspace} + +\newcommand*\ExplCmd[2][]{% + \par\kern\baselineskip% + \noindent\makebox[0pt][l]{\kern-2em% + \@bsphack + \MacroFont\textbackslash #2% + \SpecialUsageIndex{#2}% + \@esphack + }% + \hfill\mbox{% + \ifx\relax#1\relax + \space + \else + {\small default=\ttfamily #1} + \fi + }% + \par\kern.5ex\noindent\ignorespaces + } +\newcommand*\ExplEnv[2][]{% + \par\kern\baselineskip% + \noindent\makebox[0pt][l]{\kern-2em% + \@bsphack + \MacroFont #2% + \SpecialEnvIndex{#2}% + \@esphack + }% + \hfill\mbox{% + \ifx\relax#1\relax + \space + \else + {\small default=\ttfamily #1} + \fi + }% + \par\kern.5ex\noindent\ignorespaces + } + +\def\SpecialOptIndex#1{\@bsphack + \index{#1\actualchar{\protect\ttfamily#1} + (option)\encapchar usage}% + \index{options:\levelchar#1\actualchar{\protect\ttfamily#1}\encapchar + usage}\@esphack} +\newcommand*\ExplOpt[2][]{% + \par\kern\baselineskip% + \noindent\makebox[0pt][l]{\kern-2em% + \@bsphack + \MacroFont #2% + \SpecialOptIndex{#2}% + \@esphack + }% + \hfill\mbox{% + \ifx\relax#1\relax + \space + \else + {\small default=\ttfamily #1} + \fi + }% + \par\kern.5ex\noindent\ignorespaces + } + +% % \newcommand*\mdoption[1]{\textsf{\color{ltxmdfblue}#1}} +% % \newcommand*\mdname{\textsf{mdframed}\xspace} +% % \newcommand*\mdpack[1]{\texttt{#1}\xspace} +% % \newcommand*\mdsetting[1]{\textsf{#1}\xspace} +% % \newcommand*\mdcommand[1]{\texttt{\textbackslash #1}\xspace} +% % +% % \newcommand*\mdDescribeMacro[2][]{\par\kern\baselineskip% +% % \noindent\makebox[0pt][l]{\kern-2em% +% % \textsf{\bfseries\color{ltxmdfblue}#2}% +% % }\hfill\mbox{\mdDefault{#1}}\par\kern.5ex\noindent\ignorespaces} +% % \newcommand*{\mdDefault}[1]{% +% % \ifx\relax#1\relax\else{\small\mdsetting{default=#1}}\fi} +% % +% % \newcommand*\mdDescribeCmd[2][]{\par\kern\baselineskip% +% % \noindent\makebox[0pt][l]{\kern-2em% +% % \textsf{\bfseries\color{ltxmdfblue}\textbackslash #2}% +% % }{#1}\hfill\mbox{\mdDefault{#1}}\par\kern.5ex\noindent\ignorespaces} + + +\newcommand\NOTE{\minisec{Note}} + +\newcommand\limitation[1][TikZ]{\newline{\small This works only with \Opt{framemethod=#1}.}} + + + diff --git a/Master/texmf-dist/tex/latex/mdframed/md-frame-0.mdf b/Master/texmf-dist/tex/latex/mdframed/md-frame-0.mdf index ccad5636f2e..058c9ef5a02 100644 --- a/Master/texmf-dist/tex/latex/mdframed/md-frame-0.mdf +++ b/Master/texmf-dist/tex/latex/mdframed/md-frame-0.mdf @@ -1,99 +1,94 @@ -%%==================================================%% -%%= Ausgabe der Box nach Vorgabe der Ausgaberoutine=%% -%%==================================================%% -%% Styledatei fuer das Paket mdframed erstellt durch -%% Marco Daniel und Elke Schubert -%% +%% 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: md-frame-0.mdf 219 2011-11-13 14:17:56Z marco $ -%%$Rev: 219 $ -%%$Author: marco $ -%%$Date: 2011-11-13 15:17:56 +0100 (So, 13. Nov 2011) $ - +%%$Id: mdframed.dtx 271 2011-12-09 12:25:08Z marco $ \def\mdframedOpackagename{md-frame-0} \def\md@frameOdate@svn$#1: #2 #3 #4-#5-#6 #7 #8${#4/#5/#6\space } -\ProvidesFile{md-frame-0.mdf}[\md@frameOdate@svn$Id: md-frame-0.mdf 219 2011-11-13 14:17:56Z marco $ \mdversion: \mdframedOpackagename] +\ProvidesFile{md-frame-0.mdf}% + [\md@frameOdate@svn$Id: mdframed.dtx 271 2011-12-09 12:25:08Z marco $% + \mdversion: \mdframedOpackagename] -%Hilfparameter \def\mdf@background@default{\color{\mdf@backgroundcolor}} \def\mdf@linecolor@default{\color{\mdf@middlelinecolor}} - -%%==================================================%% -%%================single-box========================%% -%%==================================================%% \def\md@frame@background@single{% - \rlap{\mdf@background@default% - \rule[-\mdfboundingboxdepth]% - {\mdfboundingboxtotalwidth}% - {\mdfboundingboxtotalheight}% - }% + \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}}% - {}% - }% + \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}% - }% + \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}% - }% + \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[\linewidth]{% + \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}% + \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[\@tempdima]{% + +\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@topandbottomline@single% \md@frame@background@single% \hspace*{\mdf@innerleftmargin@length}% \ifbool{mdf@rightline}{% @@ -105,57 +100,59 @@ }% \fi% } -%%==================================================%% -%%================first-box=========================%% -%%==================================================%% -% \def\md@frame@background@first{% - \rlap{\mdf@background@default% - \rule[-\mdfboundingboxdepth]% - {\mdfboundingboxtotalwidth}% - {\mdfboundingboxtotalheight}% - }% + \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}% - }% + \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}% - }% + \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}% - }% + \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[\linewidth]{% + \mdf@makebox@out[\linewidth]{% \mdf@makeboxalign@left% \setlength{\mdfboundingboxwidth}{\wd\tw@}% - \setlength{\mdfboundingboxtotalwidth}{\dimexpr\mdfboundingboxwidth+\mdf@innerleftmargin@length+\mdf@innerrightmargin@length\relax}% + \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[\@tempdima]{% + \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}% @@ -169,61 +166,61 @@ {\box\tw@}% }% \mdf@makeboxalign@right% - }% + }% \fi% } -%%==================================================%% -%%=================last-box=========================%% -%%==================================================%% \def\md@frame@background@second{% - \rlap{\mdf@background@default% - \rule[-\mdfboundingboxdepth]% - {\mdfboundingboxtotalwidth}% - {\mdfboundingboxtotalheight}% - }% + \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}% - }% + \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}% - }% + \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}% - }% -}% -% + \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[\linewidth]{% + \mdf@makebox@out{% \mdf@makeboxalign@left% \setlength{\mdfboundingboxwidth}{\wd\@tempboxa}% - \setlength{\mdfboundingboxtotalwidth}{\dimexpr\mdfboundingboxwidth+\mdf@innerleftmargin@length+\mdf@innerrightmargin@length\relax}% + \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{\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[\@tempdima]{% + +\ifbool{mdf@rightline}{\mdf@middlelinewidth@length}{\z@}% + \relax}% + \mdf@makebox@in[\@tempdima]{% \null% \ifbool{mdf@leftline}{% \hspace*{\mdf@middlelinewidth@length}% @@ -237,51 +234,50 @@ {\box\@tempboxa}% }% \mdf@makeboxalign@right% - }% + }% \fi% }% -%%==================================================%% -%%================middle-box========================%% -%%==================================================%% \def\md@frame@background@middle{% - \rlap{\mdf@background@default% - \rule[-\mdfboundingboxdepth]% - {\mdfboundingboxtotalwidth}% - {\mdfboundingboxtotalheight}% - }% + \rlap{\mdf@background@default% + \rule[-\mdfboundingboxdepth]% + {\mdfboundingboxtotalwidth}% + {\mdfboundingboxtotalheight}% + }% }% -% \def\md@frame@leftline@middle{% - \llap{\mdf@linecolor@default% - \rule[-\mdfboundingboxdepth]% - {\mdf@middlelinewidth@length}% - {\mdfboundingboxtotalheight}% - }% + \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}% - }% -}% -% + \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[\linewidth]{% + \mdf@makebox@out{% \mdf@makeboxalign@left% \setlength{\mdfboundingboxwidth}{\wd\tw@}% - \setlength{\mdfboundingboxtotalwidth}{\dimexpr\mdfboundingboxwidth+\mdf@innerleftmargin@length+\mdf@innerrightmargin@length\relax}% + \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{\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[\@tempdima]{% + +\ifbool{mdf@rightline}{\mdf@middlelinewidth@length}{\z@}% + \relax}% + \mdf@makebox@in[\@tempdima]{% \null% \ifbool{mdf@leftline}{% \hspace*{\mdf@middlelinewidth@length}% @@ -289,10 +285,11 @@ \md@frame@background@middle% \hspace*{\mdf@innerleftmargin@length}% \ifbool{mdf@rightline}{% - \md@frame@rightline@middle}{} + \md@frame@rightline@middle}{}% {\box\tw@}% }% \mdf@makeboxalign@right% - }% + } \fi% } + \endinput diff --git a/Master/texmf-dist/tex/latex/mdframed/md-frame-1.mdf b/Master/texmf-dist/tex/latex/mdframed/md-frame-1.mdf index ea3832e27fb..8a90831e83d 100644 --- a/Master/texmf-dist/tex/latex/mdframed/md-frame-1.mdf +++ b/Master/texmf-dist/tex/latex/mdframed/md-frame-1.mdf @@ -1,21 +1,15 @@ -%%==================================================%% -%%= Ausgabe der Box nach Vorgabe der Ausgaberoutine=%% -%%==================================================%% -%% Styledatei fuer das Paket mdframed erstellt durch -%% Marco Daniel und Elke Schubert -%% +%% 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: md-frame-1.mdf 223 2011-11-13 18:10:49Z marco $ -%%$Rev: 223 $ -%%$Author: marco $ -%%$Date: 2011-11-13 19:10:49 +0100 (So, 13. Nov 2011) $ - +%%$Id: mdframed.dtx 271 2011-12-09 12:25:08Z marco $ \def\mdframedIpackagename{md-frame-1} \def\md@frameIdate@svn$#1: #2 #3 #4-#5-#6 #7 #8${#4/#5/#6\space } -\ProvidesFile{md-frame-1.mdf}[\md@frameIdate@svn$Id: md-frame-1.mdf 223 2011-11-13 18:10:49Z marco $ \mdversion: \mdframedIpackagename] +\ProvidesFile{md-frame-1.mdf}% + [\md@frameIdate@svn$Id: mdframed.dtx 271 2011-12-09 12:25:08Z marco $ % + \mdversion: \mdframedIpackagename] %%%% _____t_____ %%%% | | %%%% | | @@ -26,102 +20,104 @@ %%%% |___________| %%%% b %%Zusammenhaenge abfragen: -\newrobustcmd*\md@test@ltrb{\ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline}) - and (bool {mdf@leftline}) and (bool {mdf@rightline})}} -%3-set -\newrobustcmd*\md@test@ltr{\ifboolexpr{ (bool {mdf@topline}) and not (bool {mdf@bottomline}) - and (bool {mdf@leftline}) and (bool {mdf@rightline})}} -\newrobustcmd*\md@test@ltb{\ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline}) - and (bool {mdf@leftline}) and not (bool {mdf@rightline})}} -\newrobustcmd*\md@test@trb{\ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline}) - and not (bool {mdf@leftline}) and (bool {mdf@rightline})}} -\newrobustcmd*\md@test@lrb{\ifboolexpr{ not (bool {mdf@topline}) and (bool {mdf@bottomline}) - and (bool {mdf@leftline}) and (bool {mdf@rightline})}} -%2-set -\newrobustcmd*\md@test@lb{\ifboolexpr{ not (bool {mdf@topline}) and (bool {mdf@bottomline}) - and (bool {mdf@leftline}) and not (bool {mdf@rightline})}} -\newrobustcmd*\md@test@rb{\ifboolexpr{ not (bool {mdf@topline}) and (bool {mdf@bottomline}) - and not (bool {mdf@leftline}) and (bool {mdf@rightline})}} -\newrobustcmd*\md@test@tr{\ifboolexpr{ (bool {mdf@topline}) and not (bool {mdf@bottomline}) - and not (bool {mdf@leftline}) and (bool {mdf@rightline})}} -\newrobustcmd*\md@test@lt{\ifboolexpr{ (bool {mdf@topline}) and not (bool {mdf@bottomline}) - and (bool {mdf@leftline}) and not (bool {mdf@rightline})}} -\newrobustcmd*\md@test@lr{\ifboolexpr{not (bool {mdf@topline}) and not (bool {mdf@bottomline}) - and (bool {mdf@leftline}) and (bool {mdf@rightline})}} -\newrobustcmd*\md@test@tb{\ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline}) - and not (bool {mdf@leftline}) and not (bool {mdf@rightline})}} -%Einzellinien -\newrobustcmd*\md@test@l{\ifboolexpr{ not (bool {mdf@topline}) and not (bool {mdf@bottomline}) - and (bool {mdf@leftline}) and not (bool {mdf@rightline})}} -\newrobustcmd*\md@test@r{\ifboolexpr{ not (bool {mdf@topline}) and not (bool {mdf@bottomline}) - and not (bool {mdf@leftline}) and (bool {mdf@rightline})}} -\newrobustcmd*\md@test@t{\ifboolexpr{ (bool {mdf@topline}) and not (bool {mdf@bottomline}) - and not (bool {mdf@leftline}) and not (bool {mdf@rightline})}} -\newrobustcmd*\md@test@b{\ifboolexpr{ not (bool {mdf@topline}) and (bool {mdf@bottomline}) - and not (bool {mdf@leftline}) and not (bool {mdf@rightline})}} -%keine Linien -\newrobustcmd*\md@test@noline{\ifboolexpr{ not (bool {mdf@topline}) and not (bool {mdf@bottomline}) - and not (bool {mdf@leftline}) and not (bool {mdf@rightline})}} -% -%Allgemeine Einstellungen fuer tikz +\newrobustcmd*\md@test@ltrb{% + \ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline}) + and (bool {mdf@leftline}) and (bool {mdf@rightline})}} +\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})}} +\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})}} +\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})}} +\newrobustcmd*\md@test@noline{% + \ifboolexpr{ not (bool {mdf@topline}) and not (bool {mdf@bottomline}) + and not (bool {mdf@leftline}) and not (bool {mdf@rightline})}} \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{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={}}% - \ifdimgreater{\mdf@outerlinewidth@length}{\z@}%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={}}% - \ifdimgreater{\mdf@innerlinewidth@length}{\z@}% 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={}}% - \ifdimgreater{\mdf@middlelinewidth@length}{\z@}% 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},% + preaction={draw=\mdf@middlelinecolor,% + line width=\mdf@middlelinewidth@length},% line width=\mdf@middlelinewidth@length,% tikzsetting}}% }{}% }% -% - - -% Befehle fuer Ausgabe von Rahmen und Hintergrund \newrobustcmd*\md@tikzbox@tfl[1]{%three or four borders - \clip(0,0)rectangle(\mdfboundingboxwidth,\mdfboundingboxheight);% - \begin{scope}[mdfcorners]% - \clip[preaction=mdfouterline][postaction=mdfbackground][postaction=mdfinnerline]#1;% - \end{scope}% - \path[mdfmiddleline,mdfcorners]#1;}% + \clip(0,0)rectangle(\mdfboundingboxwidth,\mdfboundingboxheight);% + \begin{scope}[mdfcorners]% + \clip[preaction=mdfouterline]% + [postaction=mdfbackground]% + [postaction=mdfinnerline]#1;% + \end{scope}% + \path[mdfmiddleline,mdfcorners]#1;}% \newrobustcmd*\md@tikzbox@otl[2]{%one or two borders - \clip(0,0)rectangle(\mdfboundingboxwidth,\mdfboundingboxheight);% - \begin{scope} - \path[mdfouterline,mdfcorners]#1;% - \clip[postaction=mdfbackground]#2;% - \path[mdfinnerline,mdfcorners]#1;% - \end{scope} - \path[mdfmiddleline,mdfcorners]#1;}% -% -% Info zu den verwendeten Punkten: -% O ist die untere linke Ecke der Mitte der middleline -% P ist die obere rechte Ecke der Mitte der middleline -% A ist der Punkt fuer den anchor (d.h. die untere linke Ecke) der Ausgabebox -% + \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;}% \def\md@putbox@single{% \ifvoid\@tempboxa \else% - \mdf@makebox[\linewidth]{% + \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% @@ -133,7 +129,6 @@ \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% @@ -145,9 +140,9 @@ \advance\mdfboundingboxheight by \mdf@innerlinewidth@length\relax% \advance\mdfboundingboxheight by \mdf@middlelinewidth@length\relax% \advance\mdfboundingboxheight by \mdf@outerlinewidth@length\relax}{}% - \mdf@makebox[\mdfboundingboxwidth]{% + \mdf@makebox@in[\mdfboundingboxwidth]{% \null% - \begin{tikzpicture}% + \begin{tikzpicture}[remember picture]% \begin{scope} \pgfmathsetlengthmacro\md@Ax{+\mdf@innerleftmargin@length}% \pgfmathsetlengthmacro\md@Ay{+\mdf@innerbottommargin@length}% @@ -155,56 +150,84 @@ \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}}{}% -% + \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@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; + \mdfcreateextratikz \end{tikzpicture}% }% \mdf@makeboxalign@right% }% \fi }% - \def\md@putbox@first{% \ifvoid\@tempboxa \else% - \mdf@makebox[\linewidth]{% + \mdf@makebox@out{% \mdf@makeboxalign@left% \md@tikz@settings% \setlength\mdfboundingboxwidth{\wd\tw@}% @@ -218,7 +241,6 @@ \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% @@ -226,65 +248,75 @@ \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[\mdfboundingboxwidth]{% + \mdf@makebox@in[\mdfboundingboxwidth]{% \null% - \begin{tikzpicture} + \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@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}}{}% + \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}}{}% -% + \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@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)}}{}% + {\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)}}{}% + {\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@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; + \mdfcreateextratikz% \end{tikzpicture}% }% \mdf@makeboxalign@right% }% \fi }% - - - \def\md@putbox@middle{% \ifvoid\@tempboxa \else% - \mdf@makebox[\linewidth]{% + \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% @@ -296,13 +328,11 @@ \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[\mdfboundingboxwidth]{% + \mdf@makebox@in[\mdfboundingboxwidth]{% \null% - \begin{tikzpicture} + \begin{tikzpicture}[remember picture] \begin{scope} \pgfmathsetlengthmacro\md@Ax{+\mdf@innerleftmargin@length}% \pgfmathsetlengthmacro\md@Ay{+\mdf@splitbottomskip@length}% @@ -310,24 +340,29 @@ \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@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);}}{}% + {\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);}}{}% + {\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);}}{}% + {\md@tikzbox@otl{(P)--(P|-O)}{(O)rectangle(P)}}{}% \ifboolexpr{not (bool {mdf@leftline}) and not (bool {mdf@rightline})}% - {\path[mdfbackground](O)rectangle(P);}{}% -% + {\path[mdfbackground](O)rectangle(P)}{}% \node[mdfbox]at(\md@Ax,\md@Ay){\box\tw@};% Ausgabebox einfuegen \end{scope} %HIER KOMMT EIN WEITERES MAKRO @@ -337,15 +372,12 @@ }% \fi }% - - \def\md@putbox@second{% \ifvoid\@tempboxa \else% - \mdf@makebox[\linewidth]{% + \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% @@ -357,17 +389,15 @@ \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[\mdfboundingboxwidth]{% + \mdf@makebox@in[\mdfboundingboxwidth]{% \null% - \begin{tikzpicture} + \begin{tikzpicture}[remember picture] \begin{scope} \pgfmathsetlengthmacro\md@Ax{+\mdf@innerleftmargin@length}% \pgfmathsetlengthmacro\md@Ay{+\mdf@innerbottommargin@length}% @@ -375,32 +405,52 @@ \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@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@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)}}{}% + {\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)}}{}% + {\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);}{}% -% + {\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 @@ -410,4 +460,4 @@ }% \fi }% -\endinput + \endinput diff --git a/Master/texmf-dist/tex/latex/mdframed/md-frame-2.mdf b/Master/texmf-dist/tex/latex/mdframed/md-frame-2.mdf deleted file mode 100644 index bd000726079..00000000000 --- a/Master/texmf-dist/tex/latex/mdframed/md-frame-2.mdf +++ /dev/null @@ -1,438 +0,0 @@ -%%==================================================%% -%%= Ausgabe der Box nach Vorgabe der Ausgaberoutine=%% -%%==================================================%% -%% Styledatei fuer das Paket mdframed erstellt durch -%% Marco Daniel - -%% This package may be distributed under the terms of the LaTeX Project -%% Public License, as described in lppl.txt in the base LaTeX distribution. -%% Either version 1.0 or, at your option, any later version. - -%%$Id: md-frame-2.mdf 214 2011-11-12 21:49:58Z marco $ -%%$Rev: 214 $ -%%$Author: marco $ -%%$Date: 2011-11-12 22:49:58 +0100 (Sa, 12. Nov 2011) $ - -%%Allgemeine Einstellungen fuer pstricks -%%Hier nur einfacher Rahmen mit Einstellungen -\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: md-frame-2.mdf 214 2011-11-12 21:49:58Z marco $ \mdversion: \mdframedIIpackagename] -% -\def\md@ptlength@to@pscode#1{\pst@number{#1} \pst@number\psxunit div} -\let\ptTps\md@ptlength@to@pscode\relax -%%%% _____t_____ -%%%% | | -%%%% | | -%%%% | | -%%%% l| |r -%%%% | | -%%%% | | -%%%% |___________| -%%%% b -%zusammenhaenge abfragen: -\newrobustcmd*\md@test@ltrb{\ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline}) - and (bool {mdf@leftline}) and (bool {mdf@rightline})}} -%3-set -\newrobustcmd*\md@test@ltr{\ifboolexpr{ (bool {mdf@topline}) and not (bool {mdf@bottomline}) - and (bool {mdf@leftline}) and (bool {mdf@rightline})}} -\newrobustcmd*\md@test@ltb{\ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline}) - and (bool {mdf@leftline}) and not (bool {mdf@rightline})}} -\newrobustcmd*\md@test@trb{\ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline}) - and not (bool {mdf@leftline}) and (bool {mdf@rightline})}} -\newrobustcmd*\md@test@lrb{\ifboolexpr{ not (bool {mdf@topline}) and (bool {mdf@bottomline}) - and (bool {mdf@leftline}) and (bool {mdf@rightline})}} -%2-set -\newrobustcmd*\md@test@lb{\ifboolexpr{ not (bool {mdf@topline}) and (bool {mdf@bottomline}) - and (bool {mdf@leftline}) and not (bool {mdf@rightline})}} -\newrobustcmd*\md@test@rb{\ifboolexpr{ not (bool {mdf@topline}) and (bool {mdf@bottomline}) - and not (bool {mdf@leftline}) and (bool {mdf@rightline})}} -\newrobustcmd*\md@test@tr{\ifboolexpr{ (bool {mdf@topline}) and not (bool {mdf@bottomline}) - and not (bool {mdf@leftline}) and (bool {mdf@rightline})}} -\newrobustcmd*\md@test@lt{\ifboolexpr{ (bool {mdf@topline}) and not (bool {mdf@bottomline}) - and (bool {mdf@leftline}) and not (bool {mdf@rightline})}} -%Einzellinien -\newrobustcmd*\md@test@single{% - \ifboolexpr{ not (test {\md@test@ltrb} or test {\md@test@ltr} or test {\md@test@ltb} - or test {\md@test@trb} or test {\md@test@lrb} or test {\md@test@lb} - or test {\md@test@rb} or test {\md@test@tr} or test {\md@test@lt} ) }} - -%%==================================================%% -%%================single-box========================%% -%%==================================================%% -\def\md@putbox@single{% - \ifvoid\@tempboxa - \else% - \mdf@makebox[\linewidth]{% - \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[\mdfboundingboxwidth]{% - \null% - \begin{pspicture}(0,0)(\mdfboundingboxwidth,\mdfboundingboxheight) - \md@test@ltrb{% - \psframe[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul \ptTps{\mdf@middlelinewidth@length} 0.5 mul)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add) - }{} - \md@test@ltr{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - 0) - }{} - \md@test@ltb{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul)% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul \ptTps{\mdf@middlelinewidth@length} 0.5 mul)% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} %X - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - }{} - \md@test@trb{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! 0 - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdf@middlelinewidth@length} 0.5 mul) - (! 0 \ptTps{\mdf@middlelinewidth@length} 0.5 mul) - }{} - \md@test@lrb{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdfboundingboxheight})% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdfboundingboxheight}) - }{} - \md@test@lb{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdfboundingboxheight})% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) - }{} - \md@test@rb{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! 0 \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdfboundingboxheight}) - }{} - \md@test@tr{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! 0 - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - 0) - }{} - \md@test@lt{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} %X - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - }{} - \md@test@single{% - \ifbool{mdf@bottomline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! 0 \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) - }{}% - \ifbool{mdf@topline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! 0 \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add)% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add) - }{}% - \ifbool{mdf@leftline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul \ptTps{\mdfboundingboxheight} )% - }{}% - \ifbool{mdf@rightline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add 0)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add - \ptTps{\mdfboundingboxheight} )% - }{}% - }{}% - %Hintergrund - \psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length,dimen=outer]% - (!0 \ifbool{mdf@bottomline}{\ptTps{\mdf@middlelinewidth@length}}{0}) - (! \ptTps{\mdfboundingboxwidth} % - \ptTps{\mdfboundingboxheight} \ifbool{mdf@topline}{\ptTps{\mdf@middlelinewidth@length} sub}{}) - %Ausgabe - \rput[b](!\ptTps{\mdfboundingboxwidth} 0.5 mul % X-Koordinate - \ptTps{\mdf@innerbottommargin@length} - \ifbool{mdf@bottomline}{\ptTps{\mdf@middlelinewidth@length} add}{} - ){\box\@tempboxa} - \end{pspicture}% - }% - \mdf@makeboxalign@right% - }% - \fi -}% -%%==================================================%% -%%================first-box=========================%% -%%==================================================%% - -\def\md@putbox@first{% - \ifvoid\@tempboxa - \else% - \mdf@makebox[\linewidth]{% - \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[\mdfboundingboxwidth]{% - \null% - \psset{unit=1truecm}% - \ifdimgreater{\mdfboundingboxheight}{\vsize} - {\begin{pspicture}(0,0)(\mdfboundingboxwidth,\vsize)} - {\begin{pspicture}(0,0)(\mdfboundingboxwidth,\mdfboundingboxheight)} - %Hintergrund - \psline[linecolor=\mdf@backgroundcolor,fillstyle=solid,linestyle=solid, - linearc={\dimexpr\mdf@roundcorner@length-\mdf@middlelinewidth@length\relax}, - fillcolor=\mdf@backgroundcolor,linewidth=\mdf@middlelinewidth@length]% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul 0)% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul - \ptTps{\mdfboundingboxheight} \ifbool{mdf@topline}% - {\ptTps{\mdf@middlelinewidth@length} neg 1.5 mul add}% - {\ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add} )% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X - \ptTps{\mdfboundingboxheight} \ifbool{mdf@topline}% - {\ptTps{\mdf@middlelinewidth@length} neg 1.5 mul add}% - {\ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add} )% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add %X - 0) - \ifboolexpr{ test {\md@test@ltrb} or test {\md@test@ltr}}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - 0) - }{} - \ifboolexpr{ test {\md@test@tr} or test {\md@test@trb}}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! 0 - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - 0) - }{} - \ifboolexpr{ test {\md@test@ltb} or test {\md@test@lt}}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@roundcorner@length} neg add %X - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - }{} - \ifboolexpr{ test {\md@test@single} or test {\md@test@rb} or test {\md@test@lrb} or test {\md@test@lb}}{% - \ifbool{mdf@topline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! 0 \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add)% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add) - }{}% - \ifbool{mdf@leftline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul \ptTps{\mdfboundingboxheight} )% - }{}% - \ifbool{mdf@rightline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add 0)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add - \ptTps{\mdfboundingboxheight} )% - }{}% - }{}% - %Ausgabe - \rput[b](!\ptTps{\mdfboundingboxwidth} 0.5 mul % X-Koordinate - \ptTps{\mdf@splitbottomskip@length}){\box\tw@} - \end{pspicture}% - }% - \mdf@makeboxalign@right% - }% - \fi -}% - -%%==================================================%% -%%================middle-box========================%% -%%==================================================%% - -\def\md@putbox@middle{% - \ifvoid\@tempboxa - \else% - \mdf@makebox[\linewidth]{% - \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}% - \psset{unit=1truecm}% - \mdf@makebox[\mdfboundingboxwidth]{% - \null% - \ifdimgreater{\mdfboundingboxheight}{\vsize} - {\begin{pspicture}(0,0)(\mdfboundingboxwidth,\vsize)} - {\begin{pspicture}(0,0)(\mdfboundingboxwidth,\mdfboundingboxheight)} - \ifbool{mdf@leftline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul \ptTps{\mdfboundingboxheight} )% - }{}% - \ifbool{mdf@rightline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add 0)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add - \ptTps{\mdfboundingboxheight} )% - }{}% - %Hintergrund - \psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length,dimen=outer,% - linearc=\z@]% - (!0 0) - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdfboundingboxheight}) - %Ausgabe - \rput[b](!\ptTps{\mdfboundingboxwidth} 0.5 mul % X-Koordinate - \ptTps{\mdf@splitbottomskip@length} ){\box\tw@} - \end{pspicture}% - }% - \mdf@makeboxalign@right% - }% - \fi -}% -%%==================================================%% -%%=================last-box=========================%% -%%==================================================%% -\def\md@putbox@second{ - \ifvoid\@tempboxa - \else% - \mdf@makebox[\linewidth]{% - \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[\mdfboundingboxwidth]{% - \null% - \begin{pspicture}(0,0)(\mdfboundingboxwidth,\mdfboundingboxheight) - %Hintergrund - \psline[linecolor=\mdf@backgroundcolor,fillstyle=solid,linestyle=solid, - linearc={\dimexpr\mdf@roundcorner@length-\mdf@middlelinewidth@length\relax}, - fillcolor=\mdf@backgroundcolor,linewidth=\mdf@middlelinewidth@length]%% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul \ptTps{\mdfboundingboxheight} )% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul - \ifbool{mdf@bottomline}% - {\ptTps{\mdf@middlelinewidth@length} neg 1.5 mul neg}% - {\ptTps{\mdf@middlelinewidth@length} neg 0.5 mul neg} )% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add - \ifbool{mdf@bottomline}% - {\ptTps{\mdf@middlelinewidth@length} neg 1.5 mul neg}% - {\ptTps{\mdf@middlelinewidth@length} neg 0.5 mul neg} )% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add - \ptTps{\mdfboundingboxheight} ) - %%%%%%%%%%%% - \ifboolexpr{ test {\md@test@ltrb} or test {\md@test@lrb}}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdfboundingboxheight})% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdfboundingboxheight}) - }{} - \ifboolexpr{ test {\md@test@ltb} or test {\md@test@lb}}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdfboundingboxheight})% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) - }{} - \ifboolexpr{ test {\md@test@trb} or test {\md@test@rb}}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! 0 \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdfboundingboxheight}) - }{} - \ifboolexpr{ test {\md@test@single} or test {\md@test@ltr} or test {\md@test@tr} or test {\md@test@lt}}{% - \ifbool{mdf@bottomline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! 0 \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) - }{}% - \ifbool{mdf@leftline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul \ptTps{\mdfboundingboxheight} )% - }{}% - \ifbool{mdf@rightline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add 0)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add - \ptTps{\mdfboundingboxheight} )% - }{}% - }{}% - %Ausgabe - \rput[b](!\ptTps{\mdfboundingboxwidth} 0.5 mul % X-Koordinate - \ptTps{\mdf@innerbottommargin@length} - \ifbool{mdf@bottomline}{\ptTps{\mdf@middlelinewidth@length} add}{} - ){\box\@tempboxa} - \end{pspicture}% - }% - \mdf@makeboxalign@right% - }% - \fi -}% - -\endinput -%eof - diff --git a/Master/texmf-dist/tex/latex/mdframed/md-frame-3.mdf b/Master/texmf-dist/tex/latex/mdframed/md-frame-3.mdf index f9552c7589e..53133ebf5d5 100644 --- a/Master/texmf-dist/tex/latex/mdframed/md-frame-3.mdf +++ b/Master/texmf-dist/tex/latex/mdframed/md-frame-3.mdf @@ -1,25 +1,16 @@ -%%==================================================%% -%%= Ausgabe der Box nach Vorgabe der Ausgaberoutine=%% -%%==================================================%% -%% Styledatei fuer das Paket mdframed erstellt durch -%% Marco Daniel - +%% 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: md-frame-3.mdf 222 2011-11-13 18:03:53Z marco $ -%%$Rev: 222 $ -%%$Author: marco $ -%%$Date: 2011-11-13 19:03:53 +0100 (So, 13. Nov 2011) $ - -%%Allgemeine Einstellungen fuer pstricks -%%Hier nur einfacher Rahmen mit Einstellungen +%%$Id: mdframed.dtx 271 2011-12-09 12:25:08Z marco $ \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: md-frame-3.mdf 222 2011-11-13 18:03:53Z marco $ \mdversion: \mdframedIIpackagename] -% -\def\md@ptlength@to@pscode#1{\pst@number{#1} \pst@number\psxunit div} +\ProvidesFile{md-frame-2.mdf}% + [\md@frameIIdate@svn$Id: mdframed.dtx 271 2011-12-09 12:25:08Z marco $ % + \mdversion: \mdframedIIpackagename] +\def\md@ptlength@to@pscode#1{\pst@number{#1} \pst@number\psxunit div } \let\ptTps\md@ptlength@to@pscode\relax %%%% _____t_____ %%%% | | @@ -30,401 +21,484 @@ %%%% | | %%%% |___________| %%%% 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 +%%Zusammenhaenge abfragen: +\newrobustcmd*\md@test@ltrb{% + \ifboolexpr{ (bool {mdf@topline}) and (bool {mdf@bottomline}) + and (bool {mdf@leftline}) and (bool {mdf@rightline})}} +\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})}} +\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@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} ) }} + \ifboolexpr{ not (test {\md@test@ltrb} or test {\md@test@ltr} or + test {\md@test@ltb} or test {\md@test@trb} or + test {\md@test@lrb} or test {\md@test@lb} or + test {\md@test@rb} or test {\md@test@tr} or + test {\md@test@lt} ) }} -%%==================================================%% -%%================single-box========================%% -%%==================================================%% +\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,}% \def\md@putbox@single{% \ifvoid\@tempboxa \else% - \mdf@makebox[\linewidth]{% - \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[\mdfboundingboxwidth]{% - \null% + \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[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul \ptTps{\mdf@middlelinewidth@length} 0.5 mul)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add) - }{} - \md@test@ltr{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - 0) - }{} - \md@test@ltb{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul)% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul \ptTps{\mdf@middlelinewidth@length} 0.5 mul)% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} %X - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - }{} - \md@test@trb{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! 0 - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdf@middlelinewidth@length} 0.5 mul) - (! 0 \ptTps{\mdf@middlelinewidth@length} 0.5 mul) - }{} - \md@test@lrb{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdfboundingboxheight})% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdfboundingboxheight}) - }{} - \md@test@lb{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdfboundingboxheight})% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) - }{} - \md@test@rb{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! 0 \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdfboundingboxheight}) - }{} - \md@test@tr{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! 0 - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - 0) - }{} - \md@test@lt{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} %X - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% + \md@test@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@single{% - \ifbool{mdf@bottomline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! 0 \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) + \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@topline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! 0 \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add)% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add) - }{}% - \ifbool{mdf@leftline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul \ptTps{\mdfboundingboxheight} )% - }{}% - \ifbool{mdf@rightline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add 0)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add - \ptTps{\mdfboundingboxheight} )% - }{}% - }{}% - %Hintergrund - \psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length,dimen=outer]% - (!0 \ifbool{mdf@bottomline}{\ptTps{\mdf@middlelinewidth@length}}{0}) - (! \ptTps{\mdfboundingboxwidth} % - \ptTps{\mdfboundingboxheight} \ifbool{mdf@topline}{\ptTps{\mdf@middlelinewidth@length} sub}{}) - %Ausgabe - \rput[b](!\ptTps{\mdfboundingboxwidth} 0.5 mul % X-Koordinate - \ptTps{\mdf@innerbottommargin@length} - \ifbool{mdf@bottomline}{\ptTps{\mdf@middlelinewidth@length} add}{} - ){\box\@tempboxa} + \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 }% -%%==================================================%% -%%================first-box=========================%% -%%==================================================%% - \def\md@putbox@first{% \ifvoid\@tempboxa \else% - \mdf@makebox[\linewidth]{% - \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[\mdfboundingboxwidth]{% - \null% - \psset{unit=1truecm}% - \ifdimgreater{\mdfboundingboxheight}{\vsize} - {\begin{pspicture}(0,0)(\mdfboundingboxwidth,\vsize)} - {\begin{pspicture}(0,0)(\mdfboundingboxwidth,\mdfboundingboxheight)} - %Hintergrund - \psline[linecolor=\mdf@backgroundcolor,fillstyle=solid,linestyle=solid, - linearc={\dimexpr\mdf@roundcorner@length-\mdf@middlelinewidth@length\relax}, - fillcolor=\mdf@backgroundcolor,linewidth=\mdf@middlelinewidth@length]% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul 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) + \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[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - 0) - }{} + \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[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! 0 - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - 0) - }{} + \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[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@roundcorner@length} neg add %X - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul add)% + \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[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! 0 \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add)% - (! \ptTps{\mdfboundingboxwidth} - \ptTps{\mdfboundingboxheight} \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add) - }{}% - \ifbool{mdf@leftline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul \ptTps{\mdfboundingboxheight} )% - }{}% - \ifbool{mdf@rightline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add 0)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add - \ptTps{\mdfboundingboxheight} )% - }{}% - }{}% - %Ausgabe - \rput[b](!\ptTps{\mdfboundingboxwidth} 0.5 mul % X-Koordinate - \ptTps{\mdf@splitbottomskip@length}){\box\tw@} - \end{pspicture}% + \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 }% - -%%==================================================%% -%%================middle-box========================%% -%%==================================================%% - \def\md@putbox@middle{% \ifvoid\@tempboxa \else% - \mdf@makebox[\linewidth]{% + \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}% - \psset{unit=1truecm}% - \mdf@makebox[\mdfboundingboxwidth]{% - \null% - \ifdimgreater{\mdfboundingboxheight}{\vsize} - {\begin{pspicture}(0,0)(\mdfboundingboxwidth,\vsize)} - {\begin{pspicture}(0,0)(\mdfboundingboxwidth,\mdfboundingboxheight)} - \ifbool{mdf@leftline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul \ptTps{\mdfboundingboxheight} )% - }{}% - \ifbool{mdf@rightline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add 0)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add - \ptTps{\mdfboundingboxheight} )% - }{}% - %Hintergrund - \psframe[linecolor=\mdf@backgroundcolor,fillstyle=solid,% - fillcolor=\mdf@backgroundcolor,linestyle=solid, - linewidth=\mdf@middlelinewidth@length,dimen=outer,% + \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}) + (!0 0) + (! \ptTps{\mdfboundingboxwidth} + \ptTps{\mdfboundingboxheight}) %Ausgabe - \rput[b](!\ptTps{\mdfboundingboxwidth} 0.5 mul % X-Koordinate - \ptTps{\mdf@splitbottomskip@length} ){\box\tw@} + \rput[b](! + \ptTps{\mdfboundingboxwidth} 0.5 mul % X-Koordinate + \ptTps{\mdf@splitbottomskip@length} ){\box\tw@} \end{pspicture}% }% \mdf@makeboxalign@right% }% \fi }% -%%==================================================%% -%%=================last-box=========================%% -%%==================================================%% \def\md@putbox@second{ \ifvoid\@tempboxa \else% - \mdf@makebox[\linewidth]{% - \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[\mdfboundingboxwidth]{% - \null% - \begin{pspicture}(0,0)(\mdfboundingboxwidth,\mdfboundingboxheight) - %Hintergrund - \psline[linecolor=\mdf@backgroundcolor,fillstyle=solid,linestyle=solid, - linearc={\dimexpr\mdf@roundcorner@length-\mdf@middlelinewidth@length\relax}, - fillcolor=\mdf@backgroundcolor,linewidth=\mdf@middlelinewidth@length]%% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul \ptTps{\mdfboundingboxheight} )% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul - \ifbool{mdf@bottomline}% - {\ptTps{\mdf@middlelinewidth@length} neg 1.5 mul neg}% - {\ptTps{\mdf@middlelinewidth@length} neg 0.5 mul neg} )% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add - \ifbool{mdf@bottomline}% - {\ptTps{\mdf@middlelinewidth@length} neg 1.5 mul neg}% - {\ptTps{\mdf@middlelinewidth@length} neg 0.5 mul neg} )% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg add - \ptTps{\mdfboundingboxheight} ) + \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[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdfboundingboxheight})% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdfboundingboxheight}) - }{} - \ifboolexpr{ test {\md@test@ltb} or test {\md@test@lb}}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdfboundingboxheight})% - (! \ptTps{\mdf@middlelinewidth@length} 0.5 mul neg \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) - }{} - \ifboolexpr{ test {\md@test@trb} or test {\md@test@rb}}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! 0 \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add %X - \ptTps{\mdfboundingboxheight}) - }{} - \ifboolexpr{ test {\md@test@single} or test {\md@test@ltr} or test {\md@test@tr} or test {\md@test@lt}}{% - \ifbool{mdf@bottomline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! 0 \ptTps{\mdf@middlelinewidth@length} 0.5 mul )% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul ) - }{}% - \ifbool{mdf@leftline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul 0)% - (! \ptTps{\mdf@middlelinewidth@length} neg 0.5 mul \ptTps{\mdfboundingboxheight} )% - }{}% - \ifbool{mdf@rightline}{% - \psline[linewidth=\mdf@middlelinewidth@length,linecolor=\mdf@linecolor,fillstyle=none,dimen=middle]% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add 0)% - (! \ptTps{\mdfboundingboxwidth} \ptTps{\mdf@middlelinewidth@length} 0.5 mul add - \ptTps{\mdfboundingboxheight} )% - }{}% - }{}% - %Ausgabe - \rput[b](!\ptTps{\mdfboundingboxwidth} 0.5 mul % X-Koordinate - \ptTps{\mdf@innerbottommargin@length} - \ifbool{mdf@bottomline}{\ptTps{\mdf@middlelinewidth@length} add}{} + \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}% }% @@ -432,7 +506,4 @@ }% \fi }% - -\endinput -%eof - + \endinput diff --git a/Master/texmf-dist/tex/latex/mdframed/mdframed.sty b/Master/texmf-dist/tex/latex/mdframed/mdframed.sty index 9303173956d..e708bbe99bb 100644 --- a/Master/texmf-dist/tex/latex/mdframed/mdframed.sty +++ b/Master/texmf-dist/tex/latex/mdframed/mdframed.sty @@ -1,51 +1,60 @@ -%%==================================================%% -%%========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. %% +%% This is file `mdframed.sty', +%% generated with the docstrip utility. %% -%%==================================================%% -%% Erstellung eines Rahmens, der am Seitenende keine -%% horizontale Linie einfuegt -%%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>%% -%% _______________ %% -%% | page 1 | %% -%% | Text | %% -%% | __Text__ | %% -%% | | Text | | %% -%% P A G E B R E A K %% -%% | | Text | | %% -%% | |_Text_| | %% -%% | Text | %% -%% |____page 2___| %% -%% %% -%%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>%% - -%%$Id: mdframed.sty 220 2011-11-13 17:39:13Z marco $ -%%$Rev: 220 $ -%%$Author: marco $ -%%$Date: 2011-11-13 18:39:13 +0100 (So, 13. Nov 2011) $ - -%% Allgemeine Angaben -\def\mdversion{v1.0} +%% The original source files were: +%% +%% mdframed.dtx (with options: `package') +%% ---------------------------------------------------------------- +%% 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___| +%% +%% >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +%% ================================================== +%% +\def\mdversion{v1.0b} \def\mdframedpackagename{mdframed} \def\md@maindate@svn$#1: #2 #3 #4-#5-#6 #7 #8${#4/#5/#6\space } \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{mdframed}[\md@maindate@svn$Id: mdframed.sty 220 2011-11-13 17:39:13Z marco $ \mdversion: \mdframedpackagename] -%%==================================================%% -%%=============== Benoetigte Pakete ================%% -%%==================================================%% +\ProvidesPackage{mdframed}% + [\md@maindate@svn$Id: mdframed.dtx 271 2011-12-09 12:25:08Z marco $% + \mdversion: \mdframedpackagename] \newcommand*\md@PackageWarning[1]{\PackageWarning{\mdframedpackagename}{#1}} \newcommand*\md@PackageInfo[1]{\PackageInfo{\mdframedpackagename}{#1}} \newcommand*\md@LoadFile@IfExist[1]{% @@ -58,25 +67,13 @@ }% } } - \RequirePackage{kvoptions} \RequirePackage{etex} \RequirePackage{etoolbox}[2011/01/03] \RequirePackage{zref-abspage} - -%separate Handhabung color -\md@LoadFile@IfExist{color} - - - - +\RequirePackage{color} \SetupKeyvalOptions{family=mdf,prefix=mdf@} -%%==================================================%% -%%============Hilfsmakros fuer Optionen=============%% -%%==================================================%% - -%%%\md@iflength{<EINGABE>}{<IST LAENGE>}{<IST KEINE LAENGE>} \newlength{\md@templength} \def\md@iflength#1{% \afterassignment\md@iflength@check% @@ -93,13 +90,10 @@ \fi } \def\md@iflength@cleanup#1\relax{} - -%%\mdf@option@length{<Laengenbezeichnung>}{<Defaultwert>} \newrobustcmd*{\mdf@option@length}[2]{% \expandafter\newlength\csname mdf@#1@length\endcsname% \expandafter\setlength\csname mdf@#1@length\endcsname{#2}% } -%%\mdf@define@key@length{<Bezeichnungder Option der Laenge>} \newrobustcmd*{\mdf@define@key@length}[1]{% \define@key{mdf}{#1}{% \def\@tempa{##1} @@ -109,10 +103,7 @@ \expandafter\setlength\csname mdf@#1@length\endcsname{\csname mdfl@#1\endcsname}% }% } -%%Schleifenmakro zur Optioneneingabe \DeclareListParser*{\mdf@dolist}{,} - -%Laengenoptionen \def\mdf@do@lengthoption#1{% \mdf@lengthoption@doubledo#1\@nil% } @@ -120,7 +111,6 @@ \mdf@option@length{#1}{#2}% \mdf@define@key@length{#1}% } -%Stringoptionen \def\mdf@do@stringoption#1{% \mdf@stringoption@doubledo#1\@nil% } @@ -130,9 +120,6 @@ \csdef{mdf@#1}{##1}% }% } - - -%Booloptionen \def\mdf@do@booloption#1{% \mdf@booloption@doubledo#1\@nil% } @@ -142,8 +129,6 @@ \setbool{mdf@#1}{##1}% }% } - -%Alignoptionen \def\mdf@do@alignoption#1{% \mdf@alignoption@tripledo#1\@nil% } @@ -151,21 +136,9 @@ \csdef{mdf@align@#1@left}{\null\hspace*{#2}}% \csdef{mdf@align@#1@right}{\hspace*{#3}\null}% } - -%%==================================================%% -%%=====================Optionen=====================%% -%%==================================================%% - - -%Festlegung welcher Stildatei -%% 0 := tex-Kommandos -- rule -%% 1 := tikz -%% 2 := pstricks -%% 3 := pstricks <- veraltet \newcounter{mdf@globalstyle@cnt} \defcounter{mdf@globalstyle@cnt}{0} \newcommand*\mdfglobal@style{0} - \define@key{mdf}{style}{% \md@PackageWarning{package option style is depreciated^^J use framemethod instead\MessageBreak}% @@ -173,14 +146,14 @@ \defcounter{mdf@globalstyle@cnt}{#1}% \ifcase\value{mdf@globalstyle@cnt}\relax %0 <- kein Grafikpaket - \or\md@LoadFile@IfExist{tikz}%1 <- tikz wird benoetigt - \or\md@LoadFile@IfExist{pstricks-add}%2 <- tikz wird benoetigt - \or\defcounter{mdf@globalstyle@cnt}{2}\md@LoadFile@IfExist{pstricks-add}%3 <- pstricks wird benoetigt - \or\md@LoadFile@IfExist{pstricks-add}%4 <- pstricks wird benoetigt + \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% } - \providecommand*\mdf@framemethod{} \def\md@framemethod@i{}% \def\md@framemethod@ii{}% @@ -203,13 +176,11 @@ }% \ifcase\value{mdf@globalstyle@cnt}\relax% %0 <- kein Grafikpaket - \or\md@LoadFile@IfExist{tikz}%1 <- tikz wird benoetigt - \or\md@LoadFile@IfExist{pstricks-add}%2 <- pstricks wird benoetigt - \or\md@LoadFile@IfExist{pstricks-add}%3 <- pstricks wird benoetigt <- support old style + \or\md@LoadFile@IfExist{tikz}% + \or\md@LoadFile@IfExist{pstricks-add}% + \or\md@LoadFile@IfExist{pstricks-add}% \fi% } - -%%%%Optionen mit Laengen \mdf@dolist{\mdf@do@lengthoption}{% {skipabove==\z@},% {skipbelow==\z@},% @@ -231,8 +202,7 @@ {roundcorner==\z@},% {footenotedistance==\medskipamount}, {userdefinedwidth==\linewidth} -} -%%%%Optionen mit String +} \mdf@dolist{\mdf@do@stringoption}{% {defaultunit==pt},% {settings=={}},% @@ -247,7 +217,6 @@ {frametitlefont==\bfseries\large},% {printheight==none},% } -%%%%Optionen mit Boolflag \mdf@dolist{\mdf@do@booloption}{% {ntheorem==false},% {topline==true},% @@ -258,9 +227,6 @@ {nobreak==false},% {footnoteinside==true},% } - - -%Alignoptionen: \mdf@dolist{\mdf@do@alignoption}{% {left==\mdf@leftmargin@length==\z@},% {center==\fill==\fill},% @@ -268,7 +234,6 @@ {outer==\fill==\mdf@rightmargin@length},%not supported yet {outer==\mdf@leftmargin@length==\fill},%not supported yet } - \newcommand*\mdf@align{}% \newcommand*\mdf@makeboxalign@left{\null\hspace*{\mdf@leftmargin@length}}% \newcommand*\mdf@makeboxalign@right{}% @@ -282,8 +247,6 @@ \def\mdf@makeboxalign@right{\csuse{mdf@align@#1@right}}% }% } - -%Unterstuetzung der Optionen fuer tikz \def\mdf@tikzset@local{\tikzset{tikzsetting/.style={}}} \define@key{mdf}{tikzsetting}{% \def\mdf@tikzset@local{\tikzset{tikzsetting/.style={#1}}}% @@ -291,14 +254,10 @@ \define@key{mdf}{apptotikzsetting}{% \appto\mdf@tikzset@local{#1}% } - -%Unterstuetzung der Optionen fuer pstricks \def\mdf@psset@local{} \define@key{mdf}{pstrickssetting}{% \def\mdf@psset@local{#1} } - -%Unterstuetzung der xcolor fuer pstricks \def\mdf@xcolor{} \define@key{mdf}{xcolor}[none]{% \@ifpackageloaded{xcolor}{% @@ -308,13 +267,10 @@ \ifx\mdf@xcolor\@tempa \else \PassOptionsToPackage{\mdf@xcolor}{xcolor}% - \RequirePackage{xcolor}% + \RequirePackage{xcolor}% \fi% }% } - - -%Nutzung des Paketes needspace \define@key{mdf}{needspace}[\z@]{% \begingroup% \setlength{\dimen@}{#1}% @@ -326,29 +282,20 @@ \vskip\z@skip % hide the previous |\vskip| from |\addvspace| \endgroup% } - \DeclareDefaultOption{% \md@PackageWarning{Unknown Option '\CurrentOption' for mdframed}} - - \ProcessKeyvalOptions*\relax \newcommand*{\mdfsetup}{\setkeys{mdf}} - - -%Erlauben von mdfdefinestyle sowie redefinition von style \define@key{mdf}{style}{% \ifcsundef{mdf@definestyle@#1}{% - \md@PackageWarning{Unknown definedstyle #1^^J - You have to define a style via \string\mdfdefinedstyle\MessageBreak - }% - }% - {\expandafter\expandafter\expandafter\mdfsetup% - \expandafter\expandafter\expandafter{\csname mdf@definestyle@#1\endcsname}}% + \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}}% }% - -%%==================================================%% -%%==========Ausgabe des Platzes auf Seite===========%% -%%==================================================%% \let\md@PackageNoInfo\@gobble \newrobustcmd*\md@ifstrequal@expand{% \expandafter\ifstrequal\expandafter{\mdf@printheight}% @@ -361,64 +308,57 @@ %case "warning" \md@ifstrequal@expand{warning}{\def\md@tempa{Warning}}{% %case "unknown" - \md@PackageWarning{Unknown key for printheight=\mdf@printheight %^^J + \md@PackageWarning{Unknown key for printheight=\mdf@printheight^^J use none, info or warning}% \def\md@tempa{none}% }% }% }% -\def\md@PackageInfoSpace{\csname md@Package\md@tempa\endcsname} -} -%%==================================================%% -%%========Angepasste lrbox sowie trivlist===========%% -%%==================================================%% -%Anpassung lrbox -\let\md@lrbox\lrbox -\patchcmd\md@lrbox\hbox\vbox{}{} -\patchcmd\md@lrbox\color@setgroup{% -\color@setgroup\color{\mdf@fontcolor}% -\hsize=\md@horizontalspaceofbox% -\columnwidth=\hsize% -\textwidth=\hsize% -\linewidth=\hsize% -\bgroup\md@@frametitle\egroup\noindent% -}{}{} -\def\endmd@lrbox{\unskip\color@endgroup} +\def\md@PackageInfoSpace{\csname md@Package\md@tempa\endcsname}% +} +\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} -%Anpassung trivlist +\def\endmd@lrbox{\endgroup\unskip\color@endgroup} \let\md@trivlist\trivlist \let\endmd@trivlist\endtrivlist \patchcmd\endmd@trivlist\@endparenv\md@endparenv{}{} \def\md@endparenv{% \addpenalty\@endparpenalty\addvspace\mdf@skipbelow@length\@endpetrue} - - -%%==================================================%% -%%==============leftline anpassen===================%% -%%==================================================%% -\newrobustcmd*\mdf@makebox[2][\mdf@userdefinedwidth@length]{% - \noindent\makebox[#1][l]{#2}% +\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}% } - - -%%==================================================%% -%%==================framestyle======================%% -%%==================================================%% -%inspired by Lars Madsen \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}}% } - -%%==================================================%% -%%=============Umgebungdefinition===================%% -%%==================================================%% -%\newmdenv[<mdframed-options>]{<environmen>} \newrobustcmd*\newmdenv[2][]{% \newenvironment{#2}{% \mdfsetup{#1}% @@ -427,98 +367,41 @@ \end{mdframed}% }% } -%\renewmdenv[<mdframed-options>]{<environmen>} \newrobustcmd*\renewmdenv[2][]{% \expandafter\let\csname #2\endcsname\relax% \expandafter\let\csname end#2\endcsname\relax% \newmdenv[#1]{#2}% }% - -%http://tex.stackexchange.com/questions/26298/own-command-to-create-new-environment -%\newtheorem{<envname>}[<numberedlike>]{<caption>}[<within>] -%\newmdtheoremenv[<mdframed-options>]{<envname>}[<numberedlike>]{<caption>}[<within>] -%\md@tempa[<mdframed-options>] -%\md@tempb{<envname>}% -%\md@tempc[<numberedlike>]% -%\md@tempd{<caption>}% -%\md@tempe[<within>]% \newrobustcmd*\newmdtheoremenv{% \kernel@ifnextchar[%] {\newmdtheoremenv@i}{\newmdtheoremenv@i[]}% } \def\newmdtheoremenv@i[#1]#2{% - \def\md@tempa{#1}% - \def\md@tempb{#2}% - \kernel@ifnextchar[%] - {\newmdtheoremenv@ii}{\newmdtheoremenv@ii[]}% + \kernel@ifnextchar[%] + {\newmdtheoremenv@ii[#1]#2}{\newmdtheoremenv@ii[#1]#2[]}% } - -\def\newmdtheoremenv@ii[#1]#2{% - \def\md@tempc{#1}% - \ifboolexpr{ test {\ifcsundef{c@\md@tempc}} and test {\ifcsundef{c@md@@\md@tempc}} and not (test {\ifdefempty{\md@tempc}}) }% - {\md@PackageWarning{No Counter \md@tempc defined\MessageBreak}% - \edef\md@reserved@a{}}% - {\ifcsundef{c@\md@tempc}% - {\ifdefempty{\md@tempc}{\edef\md@reserved@a{}}{\edef\md@reserved@a{md@@\md@tempc}}}% - {\edef\md@reserved@a{\md@tempc}}% - } - \edef\md@tempc{\md@reserved@a} - \def\md@tempd{#2}% +\def\newmdtheoremenv@ii[#1]#2[#3]#4{% \kernel@ifnextchar[%] - {\newmdtheoremenv@iii}{\newmdtheoremenv@iii[]}% + {\newmdtheoremenv@iii[#1]#2[#3]#4}{\newmdtheoremenv@iii[#1]#2[#3]#4[]}% } - -\def\newmdtheoremenv@iii[#1]{% - \def\md@tempe{#1}% - \ifboolexpr{ test {\ifcsundef{c@\md@tempe}} and test {\ifcsundef{c@md@@\md@tempe}} and not (test {\ifdefempty{\md@tempe}}) }% - {\md@PackageWarning{No Counter \md@tempe defined\MessageBreak}% - \edef\md@reserved@a{}}% - {\ifcsundef{c@\md@tempe}% - {\ifdefempty{\md@tempe}{\edef\md@reserved@a{}}{\edef\md@reserved@a{md@@\md@tempe}}}% - {\edef\md@reserved@a{\md@tempe}}% - } - \edef\md@tempe{\md@reserved@a} - \ifboolexpr{ not (test {\ifdefempty{\md@tempc}}) - and - not (test {\ifdefempty{\md@tempe}}) - }{% - \md@PackageWarning{You defined {\string\newtheorem} with ^^J - both optional arguments^^J - <numeredlike> and <within>. This isn't allowed^^J - \mdframedpackagename will use <numeredlike>\MessageBreak}% - \begingroup\edef\md@reserved@a{% - \endgroup\noexpand\newtheorem{md@@\md@tempb}[\md@tempc]{\md@tempd}}% - }% - {\ifdefempty{\md@tempc}{}{% - \begingroup% - \edef\md@reserved@a{\endgroup% - \noexpand\newtheorem{md@@\md@tempb}[\md@tempc]{\md@tempd}}}% - \ifdefempty{\md@tempe}{}{% - \begingroup% - \edef\md@reserved@a{\endgroup% - \noexpand\newtheorem{md@@\md@tempb}{\md@tempd}[\md@tempe]}}% - } - \ifboolexpr{test {\ifdefempty{\md@tempc}} - and - test {\ifdefempty{\md@tempe}} - }{% - \begingroup% - \edef\md@reserved@a{\endgroup% - \noexpand\newtheorem{md@@\md@tempb}{\md@tempd}% - } - }{}% - \md@reserved@a% - \protected@csxdef{\md@tempb}{\noexpand\mdfsetup{\md@tempa}% - \noexpand\begin{mdframed}[]\noexpand\begin{md@@\md@tempb}% - }% - \protected@csxdef{end\md@tempb}{% - \noexpand\end{md@@\md@tempb}\noexpand\end{mdframed}% +\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}}% } - -%%==================================================%% -%%=================== Frametitle ===================%% -%%==================================================%% \let\mdraggedtitle\raggedright \providecommand*\mdframedtitleenv[1]{% \@afterindentfalse @@ -527,7 +410,7 @@ \mdraggedtitle\nobreak\mdf@frametitlefont#1\relax% \par}% \@afterheading} -% + \newrobustcmd*\md@@frametitle{% \ifx\mdf@frametitle\@empty\relax% \else @@ -536,7 +419,6 @@ \color@endgroup \fi% } - \newrobustcmd*\md@checkntheorem{% \ifbool{mdf@ntheorem}% %%% Pruefen ob ntheorem gesetzt ist {\ifundef{\theorempreskipamount}% @@ -546,16 +428,9 @@ }% }{}% } - - -%%==================================================%% -%%=================== Fussnoten ====================%% -%%==================================================%% \newrobustcmd*\md@footnoterule{% \kern0\p@% \hrule \@width 1in \kern 2.6\p@} - - \newrobustcmd*\md@footnoteoutput{% \ifvoid\@mpfootins\else \nobreak% @@ -565,53 +440,32 @@ \unvbox\@mpfootins \fi% } - \newrobustcmd*\md@footnoteinput{% \def\@mpfn{mpfootnote}% \def\thempfn{\thempfootnote}% \c@mpfootnote\z@% \let\@footnotetext\@mpfootnotetext% } - -\def\thempfootnote{{\itshape\@alph\c@mpfootnote}} -\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}} -\long\def\@mpfootnotetext#1{% - \global\setbox\@mpfootins\vbox{% - \unvbox\@mpfootins - \reset@font\footnotesize - \hsize\columnwidth - \@parboxrestore - \protected@edef\@currentlabel - {\csname p@mpfootnote\endcsname\@thefnmark}% - \color@begingroup - \@makefntext{% - \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% - \color@endgroup}} - - -%%==================================================%% -%%======= Laden der gewuenschten Style-Datei =======%% -%%==================================================%% \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}% - }% + \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 -%%==================================================%% -%%========= style-abhaengige Modifikation ==========%% -%%==================================================%% + \newrobustcmd*\md@styledefinition{% - \ifnumequal{\value{mdf@globalstyle@cnt}}{0}% + \ifnumequal{\value{mdf@globalstyle@cnt}}{0}% {\deflength{\mdf@innerlinewidth@length}{\z@}% \deflength{\mdf@middlelinewidth@length}{\mdf@linewidth@length}% \deflength{\mdf@outerlinewidth@length}{\z@}% @@ -619,62 +473,53 @@ \let\mdf@middlelinecolor\mdf@linecolor% \let\mdf@outerlinecolor\mdf@linecolor% }{}% - \ifnumequal{\value{mdf@globalstyle@cnt}}{2}% + \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}% + \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% }{}% } - -%%==================================================%% -%%Modifikation zur Nutzung innerhalb float/minipage=%% -%%==================================================%% -%option nobreak \let\md@reserved@a\@empty \newrobustcmd*\detected@md@put@frame{% \ifmdf@nobreak%Option nobreak=true? - \def\md@reserved@a{\md@put@frame@standalone}% - \else - \def\md@reserved@a{\md@put@frame}% - \ifnum\@floatpenalty<0\relax%Detecting float - \if@twocolumn% - \ifx\@captype\@undefined - \def\md@reserved@a{\md@put@frame}% - \else - \md@PackageInfo{mdframed inside float ^^J - mdframed uses option nobreak \mdframedpackagename}% - \def\md@reserved@a{\md@put@frame@standalone}% - \fi - \else - \md@PackageInfo{mdframed inside float ^^J - mdframed uses option nobreak \mdframedpackagename}% - \def\md@reserved@a{\md@put@frame@standalone}% - \fi% - \fi% - \if@minipage% - \md@PackageInfo{mdframed inside minipage ^^J - mdframed uses option nobreak \mdframedpackagename}% - \def\md@reserved@a{\md@put@frame@standalone}% - \fi% - \ifinner% - \md@PackageInfo{mdframed inside a box ^^J - mdframed uses option nobreak \mdframedpackagename}% - \def\md@reserved@a{\md@put@frame@standalone}% - \fi% + \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% } - -%%==================================================%% -%%======keine Linien anzeigen - hidealllines =======%% -%%==================================================%% \newrobustcmd*\md@hidealllines@check{% \ifbool{mdf@hidealllines}{% \setbool{mdf@leftline}{false}% @@ -683,40 +528,22 @@ \setbool{mdf@bottomline}{false}% }{}% } - - -%%==================================================%% -%%==Deklaration diverser Eingabe und Hilfsparameter=%% -%%==================================================%% -%X-Laengen \newlength\mdfboundingboxwidth \newlength\mdfboundingboxtotalwidth -%Y-Laengen \newlength\mdfboundingboxheight \newlength\mdfboundingboxdepth \newlength\mdfboundingboxtotalheight - - - \newlength\md@freevspace@length \newlength\md@horizontalwidthofbox@length \newlength\md@verticalmarginwhole@length - \providecommand*\ptTps{} - -%Kommando in tikz mit relax belegt: \newrobustcmd\mdfcreateextratikz{} - - -%%==================================================%% -%%==================Umgebung========================%% -%%==================================================%% \def\mdframed{\@ifnextchar[\mdframed@i\mdframed@ii}% \def\mdframed@ii{\mdframed@i[]}% \def\mdframed@i[#1]{% default-Umgebung \begingroup -%check is needed? - \mdfsetup{userdefinedwidth=\linewidth,#1}%% +%%Ueberlegung- wie es besser geht!!!! WICHTIG + \mdfsetup{userdefinedwidth=\linewidth,#1} \md@hidealllines@check% \mdf@settings% \md@twoside@checklength% @@ -725,26 +552,23 @@ \setlength{\topsep}{\mdf@skipabove@length}% \begingroup% \let\partopsep\z@% - \expandafter\endgroup% + \expandafter\endgroup% \begin{md@trivlist}\item\relax% \md@checkntheorem% \md@styledefinition% - \md@horizontalmargin@equation% \md@footnoteinput% + \md@horizontalmargin@equation% \begin{md@lrbox}{\@tempboxa}% }% - \def\endmdframed{% \ifmdf@footnoteinside% \def\md@reserveda{% \md@footnoteoutput% \end{md@lrbox}% - \let\hsize\linewidth \detected@md@put@frame}% \else% \def\md@reserveda{% - \end{md@lrbox} - \let\hsize\linewidth + \end{md@lrbox}% \detected@md@put@frame% \md@footnoteoutput% }% @@ -754,9 +578,6 @@ \hrule \@height\z@ \@width\hsize \endgroup\@endparenv% } -%%==================================================%% -%%================== Twoside-Modus =================%% -%%==================================================%% \newtoggle{md:checktwoside} \settoggle{md:checktwoside}{false} \newrobustcmd*\md@twoside@checklength{% @@ -781,16 +602,13 @@ }{}% \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}% @@ -800,7 +618,6 @@ \fi \md@reserveda% } - \newrobustcmd*\md@pageisodd{% \ifdimequal{\mdf@outermargin@length}{-999pt}% {\setlength\mdf@rightmargin@length{\z@}}% @@ -817,12 +634,7 @@ {\setlength\mdf@rightmargin@length{\z@}}% {\setlength\mdf@rightmargin@length{\mdf@innermargin@length}}% } - \newrobustcmd*\md@@setzref{\md@zref@label\if@md@pageodd} - -%%==================================================%% -%%================= Platz auf Seite ================%% -%%==================================================%% \newrobustcmd*\md@freepagevspace{% \penalty\@M \vskip 2\baselineskip \vskip\height \penalty9999 \vskip -2\baselineskip \vskip-\height @@ -833,14 +645,9 @@ \advance\md@freevspace@length by -\pagetotal\relax% }% } - -%%==================================================%% -%================= Breite der Box =================%% -%%==================================================%% \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}% @@ -853,21 +660,17 @@ \advance\md@horizontalspaceofbox by \mdf@innerlinewidth@length\relax% \advance\md@horizontalspaceofbox by \mdf@middlelinewidth@length\relax% \advance\md@horizontalspaceofbox by \mdf@outerlinewidth@length\relax% - }{}% + }{}% \notbool{mdf@rightline}{% \advance\md@horizontalspaceofbox by \mdf@innerlinewidth@length\relax% \advance\md@horizontalspaceofbox by \mdf@middlelinewidth@length\relax% - \advance\md@horizontalspaceofbox by \mdf@outerlinewidth@length\relax% + \advance\md@horizontalspaceofbox by \mdf@outerlinewidth@length\relax% }{}% - % \advance\md@horizontalspaceofbox by - \width\md@arrayparboxrestore% %%% Beruecksichtigung, dass Auszaehlung bzw. list-Umgebung enthalten - \ifdimless{\md@horizontalspaceofbox}{3cm}{\md@PackageWarning{You have only a width of 3cm}}{} + \ifdimless{\md@horizontalspaceofbox}{3cm}% + {\md@PackageWarning{You have only a width of 3cm}}{} \hsize=\md@horizontalspaceofbox% } - -%%==================================================%% -%%===========Beruecksichtige Linienausgabe==========%% -%%==================================================%% \newrobustcmd*\md@keeplines@single{% \notbool{mdf@topline}{% \advance\md@verticalmarginwhole@length by -\mdf@middlelinewidth@length% @@ -876,39 +679,25 @@ \advance\md@verticalmarginwhole@length by -\mdf@middlelinewidth@length% }{}% } - -%%==================================================%% -%%===========Additionsalgorithmus fuer for==========%% -%%==================================================%% \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% } -%%==================================================%% -%%====================Reset changes=================%% -%%==================================================%% -\protected@edef\md@reset{\boxmaxdepth\the\boxmaxdepth +\protected@edef\md@reset{\boxmaxdepth\the\boxmaxdepth \splittopskip\the\splittopskip}% - - -%%==================================================%% -%%===========Ausgaberoutine -> Berechnung===========%% -%%==================================================%% - \newrobustcmd*\md@put@frame@standalone{\relax% \ifvoid\@tempboxa\relax \md@PackageWarning{The environment is empty\MessageBreak}% \let\md@reserved@a\relax% \else %Hier berechnung Box-Inhalt+Rahmen oben und unten - \setlength{\md@verticalmarginwhole@length}{\dimexpr\ht\@tempboxa+\dp\@tempboxa\relax}% + \setlength{\md@verticalmarginwhole@length}% + {\dimexpr\ht\@tempboxa+\dp\@tempboxa\relax}% \mdf@dolist{\md@advancelength@verticalmarginwhole}{% outerlinewidth,middlelinewidth,innerlinewidth,innertopmargin, innerbottommargin,innerlinewidth,middlelinewidth,outerlinewidth}% @@ -917,24 +706,23 @@ \fi \md@reserved@a% } - - \def\md@put@frame{\relax% \ifvoid\@tempboxa\relax \md@PackageWarning{The environment is empty\MessageBreak}% \let\md@reserved@a\relax% \else - \md@print@space% - \md@freepagevspace% - \md@PackageInfoSpace{\the\md@freevspace@length before the beginning of the environment^^J - ending on input line \MessageBreak}% + \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}%die Seite hat nur noch minimal Platz + {\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}% + \setlength{\md@verticalmarginwhole@length}% + {\dimexpr\ht\@tempboxa+\dp\@tempboxa\relax}% \mdf@dolist{\md@advancelength@verticalmarginwhole}{% outerlinewidth,middlelinewidth,innerlinewidth,innertopmargin, innerbottommargin,innerlinewidth,middlelinewidth,outerlinewidth}% @@ -943,7 +731,7 @@ {%passt auf Seite% \begingroup \iftoggle{md:checktwoside}{\md@@setzref}{}% - \md@putbox@single%%passt auf Seite + \md@putbox@single \endgroup \let\md@reserved@a\relax}% {\def\md@reserved@a{\md@put@frame@i}}%passt nicht auf Seite @@ -951,7 +739,6 @@ \fi \md@reserved@a% } - \def\md@put@frame@i{%Box muss gesplittet werden -- Ausgabe der ersten Teilbox %Berechnung der Splittgroesse -- Linien und Abstand oben \md@freepagevspace% @@ -978,7 +765,6 @@ \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@ @@ -987,11 +773,11 @@ \advance\dimen@i by 0.5\dimen@ \splittopskip\z@% \setbox\@tempboxa\vbox{\unvbox\tw@% - \hrule \@height\dp\strutbox \@width\z@%benoetigt um Tiefe zu haben + %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 @@ -1004,7 +790,7 @@ \fi \ifvoid\tw@%%pruefe, ob erste Box leer ist \hrule \@height\z@ \@width\hsize - \vfill\eject% + \vfill\eject% \def\md@reserved@a{\md@put@frame}% \else \ifdimequal{\ht\tw@}{0pt}% @@ -1022,11 +808,10 @@ \vfill\eject% \def\md@reserved@a{\md@put@frame@ii}% }% - \fi% + \fi% \fi% \md@reserved@a% } - \def\md@put@frame@ii{%Ausgabe der mittleren Box(en) wenn vorhanden \setlength{\md@freevspace@length}{\vsize}% \setlength{\dimen@}{\dimexpr\ht\@tempboxa+\dp\@tempboxa\relax}% @@ -1039,7 +824,7 @@ \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\tw@\vbox{\unvbox\tw@}%PRUEFEN!!! \setbox\@tempboxa\vbox{\unvbox\@tempboxa}%PRUEFEN!!!! \ifvoid\@tempboxa\relax% \md@PackageWarning{You got a bad break\MessageBreak @@ -1067,18 +852,26 @@ }%Hier kommt die Ausgabe der letzten Box \md@reserved@a% } - -%%==================================================%% -%%= Sicherstellen, dass Optionen nur global setzbar=%% -%%==================================================%% -\DisableKeyvalOption[% - action=warning, - package=mdframed, -]{mdf}{framemethod}% - -\DisableKeyvalOption[% - action=warning, - package=mdframed, -]{mdf}{xcolor}% -\endinput -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DisableKeyvalOption[action=warning,package=mdframed]{mdf}{framemethod}% +\DisableKeyvalOption[action=warning,package=mdframed]{mdf}{xcolor}% + + \endinput +%% +%% ================================================================ +%% 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! +%% +%% ================================================================ +%% +%% End of file `mdframed.sty'. |