From 45c6401dd15f7ce517e6798f2948e94148dcd8c3 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 5 Sep 2011 00:16:23 +0000 Subject: mdframed (4sep11) git-svn-id: svn://tug.org/texlive/trunk@23815 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/mdframed/md-frame-0.mdf | 9 +- .../texmf-dist/tex/latex/mdframed/md-frame-1.mdf | 11 +- .../texmf-dist/tex/latex/mdframed/md-frame-3.mdf | 9 +- Master/texmf-dist/tex/latex/mdframed/mdframed.sty | 176 +++++++++++++++++---- 4 files changed, 159 insertions(+), 46 deletions(-) (limited to 'Master/texmf-dist/tex/latex/mdframed') diff --git a/Master/texmf-dist/tex/latex/mdframed/md-frame-0.mdf b/Master/texmf-dist/tex/latex/mdframed/md-frame-0.mdf index 607021633fc..b01992e0138 100644 --- a/Master/texmf-dist/tex/latex/mdframed/md-frame-0.mdf +++ b/Master/texmf-dist/tex/latex/mdframed/md-frame-0.mdf @@ -8,13 +8,14 @@ %% Public License, as described in lppl.txt in the base LaTeX distribution. %% Either version 1.0 or, at your option, any later version. -%%$Id: md-frame-0.mdf 165 2011-08-30 09:55:55Z marco $ -%%$Rev: 165 $ +%%$Id: md-frame-0.mdf 172 2011-09-04 16:13:47Z marco $ +%%$Rev: 172 $ %%$Author: marco $ -%%$Date: 2011-08-30 11:55:55 +0200 (Di, 30. Aug 2011) $ +%%$Date: 2011-09-04 18:13:47 +0200 (So, 04. Sep 2011) $ + \def\mdframedOpackagename{md-frame-0} \def\md@frameOdate@svn$#1: #2 #3 #4-#5-#6 #7 #8${#4/#5/#6\space } -\ProvidesFile{md-frame-0.mdf}[\md@frameOdate@svn$Id: md-frame-0.mdf 165 2011-08-30 09:55:55Z marco $ \mdversion: \mdframedOpackagename] +\ProvidesFile{md-frame-0.mdf}[\md@frameOdate@svn$Id: md-frame-0.mdf 172 2011-09-04 16:13:47Z marco $ \mdversion: \mdframedOpackagename] %%==================================================%% %%================single-box========================%% %%==================================================%% diff --git a/Master/texmf-dist/tex/latex/mdframed/md-frame-1.mdf b/Master/texmf-dist/tex/latex/mdframed/md-frame-1.mdf index 979bb52d6e9..572f50c8582 100644 --- a/Master/texmf-dist/tex/latex/mdframed/md-frame-1.mdf +++ b/Master/texmf-dist/tex/latex/mdframed/md-frame-1.mdf @@ -8,13 +8,14 @@ %% Public License, as described in lppl.txt in the base LaTeX distribution. %% Either version 1.0 or, at your option, any later version. -%%$Id: md-frame-1.mdf 165 2011-08-30 09:55:55Z marco $ -%%$Rev: 165 $ +%%$Id: md-frame-1.mdf 172 2011-09-04 16:13:47Z marco $ +%%$Rev: 172 $ %%$Author: marco $ -%%$Date: 2011-08-30 11:55:55 +0200 (Di, 30. Aug 2011) $ +%%$Date: 2011-09-04 18:13:47 +0200 (So, 04. Sep 2011) $ + \def\mdframedIpackagename{md-frame-1} \def\md@frameIdate@svn$#1: #2 #3 #4-#5-#6 #7 #8${#4/#5/#6\space } -\ProvidesFile{md-frame-1.mdf}[\md@frameIdate@svn$Id: md-frame-1.mdf 165 2011-08-30 09:55:55Z marco $ \mdversion: \mdframedIpackagename] +\ProvidesFile{md-frame-1.mdf}[\md@frameIdate@svn$Id: md-frame-1.mdf 172 2011-09-04 16:13:47Z marco $ \mdversion: \mdframedIpackagename] %%%% _____t_____ %%%% | | %%%% | | @@ -110,7 +111,7 @@ % Info zu den verwendeten Punkten: % O ist die untere linke Ecke der Mitte der middleline % P ist die obere rechte Ecke der Mitte der middleline -% A ist der Punkt für den anchor (d.h. die untere linke Ecke) der Ausgabebox +% A ist der Punkt fuer den anchor (d.h. die untere linke Ecke) der Ausgabebox % \def\md@putbox@single{% \leftline{\null\hspace*{\mdf@leftmargin@length}%% diff --git a/Master/texmf-dist/tex/latex/mdframed/md-frame-3.mdf b/Master/texmf-dist/tex/latex/mdframed/md-frame-3.mdf index eebeecd4cd2..494dcee2c6a 100644 --- a/Master/texmf-dist/tex/latex/mdframed/md-frame-3.mdf +++ b/Master/texmf-dist/tex/latex/mdframed/md-frame-3.mdf @@ -8,17 +8,16 @@ %% Public License, as described in lppl.txt in the base LaTeX distribution. %% Either version 1.0 or, at your option, any later version. -%%$Id: md-frame-3.mdf 165 2011-08-30 09:55:55Z marco $ -%%$Rev: 165 $ +%%$Id: md-frame-3.mdf 172 2011-09-04 16:13:47Z marco $ +%%$Rev: 172 $ %%$Author: marco $ -%%$Date: 2011-08-30 11:55:55 +0200 (Di, 30. Aug 2011) $ - +%%$Date: 2011-09-04 18:13:47 +0200 (So, 04. Sep 2011) $ %%Allgemeine Einstellungen fuer pstricks %%Hier nur einfacher Rahmen mit Einstellungen \def\mdframedIIIpackagename{md-frame-3} \def\md@frameIIIdate@svn$#1: #2 #3 #4-#5-#6 #7 #8${#4/#5/#6\space } -\ProvidesFile{md-frame-3.mdf}[\md@frameIIIdate@svn$Id: md-frame-3.mdf 165 2011-08-30 09:55:55Z marco $ \mdversion: \mdframedIIIpackagename] +\ProvidesFile{md-frame-3.mdf}[\md@frameIIIdate@svn$Id: md-frame-3.mdf 172 2011-09-04 16:13:47Z marco $ \mdversion: \mdframedIIIpackagename] % \def\md@ptlength@to@pscode#1{\pst@number{#1} \pst@number\psxunit div} \let\ptTps\md@ptlength@to@pscode\relax diff --git a/Master/texmf-dist/tex/latex/mdframed/mdframed.sty b/Master/texmf-dist/tex/latex/mdframed/mdframed.sty index e8cf127a43c..e42bebf4277 100644 --- a/Master/texmf-dist/tex/latex/mdframed/mdframed.sty +++ b/Master/texmf-dist/tex/latex/mdframed/mdframed.sty @@ -32,18 +32,17 @@ %% %% %%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>%% -%%$Id: mdframed.sty 165 2011-08-30 09:55:55Z marco $ -%%$Rev: 165 $ +%%$Id: mdframed.sty 172 2011-09-04 16:13:47Z marco $ +%%$Rev: 172 $ %%$Author: marco $ -%%$Date: 2011-08-30 11:55:55 +0200 (Di, 30. Aug 2011) $ +%%$Date: 2011-09-04 18:13:47 +0200 (So, 04. Sep 2011) $ %% Allgemeine Angaben -\def\mdversion{v0.8a} +\def\mdversion{v0.9} \def\mdframedpackagename{mdframed} \def\md@maindate@svn$#1: #2 #3 #4-#5-#6 #7 #8${#4/#5/#6\space } \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{mdframed}[\md@maindate@svn$Id: mdframed.sty 165 2011-08-30 09:55:55Z marco $ \mdversion: \mdframedpackagename] - +\ProvidesPackage{mdframed}[\md@maindate@svn$Id: mdframed.sty 172 2011-09-04 16:13:47Z marco $ \mdversion: \mdframedpackagename] %%==================================================%% %%=============== Benoetigte Pakete ================%% %%==================================================%% @@ -53,8 +52,8 @@ \IfFileExists{#1.sty}{% \RequirePackage{#1}% }{% - \md@PackageWarning{The package #1 does not exist\MessageBreak - but it is required by \mdframedpackagename\MessageBreak + \md@PackageWarning{The package #1 does not exist^^J + but it is required by \mdframedpackagename^^J see documentation fo further information }% } @@ -172,6 +171,13 @@ \def\mdf@psset@local{#1} } +%Unterstuetzung von eigenen Definitionen +\def\mdf@settings{} +\define@key{mdf}{settings}{% + \def\mdf@settings{#1} +} + + \DeclareStringOption[pt]{defaultunit} %%mdframed umfasst ntheorem-Umgebung ja/nein @@ -198,6 +204,14 @@ \DeclareStringOption{frametitle} \DeclareStringOption[\bfseries\large]{frametitlefont} +%mdframed soll nicht splitte +\DeclareBoolOption[false]{nobreak} + +%Ausgabe des Platzes auf Seite -- nicht float +%Werte none,info,warning +\DeclareStringOption[none]{printheight} + + \ProcessKeyvalOptions* \newcommand*{\mdfsetup}{\setkeys{mdf}} \mdfsetup{globalstyle=0} @@ -218,6 +232,32 @@ } } + + + +%%==================================================%% +%%==========Ausgabe des Platzes auf Seite===========%% +%%==================================================%% +\let\md@PackageNoInfo\@gobble +\newrobustcmd*\md@ifstrequal@expand{% +\expandafter\ifstrequal\expandafter{\mdf@printheight}% +} +\newrobustcmd*\md@print@space{% + %case "none" + \md@ifstrequal@expand{none}{\def\md@tempa{NoInfo}}{% + %case "info" + \md@ifstrequal@expand{info}{\def\md@tempa{Info}}{% + %case "warning" + \md@ifstrequal@expand{warning}{\def\md@tempa{Warning}}{% + %case "unknown" + \md@PackageWarning{Unknown key for printheight=\mdf@printheight %^^J + use none, info or warning}% + \def\md@tempa{none}% + }% + }% + }% +\def\md@PackageInfoSpace{\csname md@Package\md@tempa\endcsname} +} %%==================================================%% %%========Angepasste lrbox sowie trivlist===========%% %%==================================================%% @@ -300,20 +340,20 @@ \mdframedpackagename will use \MessageBreak}% \newtheorem{\csname md\md@tempb \endcsname}[\md@tempc]{\md@tempd}% }% - {\ifdefempty{\md@tempc}{}{\newtheorem{md\md@tempb}[\md@tempc]{\md@tempd}}% - \ifdefempty{\md@tempe}{}{\newtheorem{md\md@tempb}{\md@tempd}[\md@tempe]}% + {\ifdefempty{\md@tempc}{}{\newtheorem{md@@\md@tempb}[\md@tempc]{\md@tempd}}% + \ifdefempty{\md@tempe}{}{\newtheorem{md@@\md@tempb}{\md@tempd}[\md@tempe]}% }% \ifboolexpr{test {\ifdefempty{\md@tempc}} and test {\ifdefempty{\md@tempe}} }{% - \newtheorem{md\md@tempb}{\md@tempd}% + \newtheorem{md@@\md@tempb}{\md@tempd}% }{}% - \expandafter\protected@xdef\csname\md@tempb\endcsname{\noexpand\mdfsetup{\md@tempa}% - \noexpand\begin{mdframed}[]\noexpand\begin{md\md@tempb}% + \protected@csxdef{\md@tempb}{\noexpand\mdfsetup{\md@tempa}% + \noexpand\begin{mdframed}\noexpand\begin{md@@\md@tempb} % }% - \expandafter\protected@xdef\csname end\md@tempb\endcsname{% - \noexpand\end{md\md@tempb}\noexpand\end{mdframed}% + \protected@csxdef{end\md@tempb}{% + \noexpand\end{md@@\md@tempb}\noexpand\end{mdframed}% }% } @@ -350,6 +390,7 @@ %%==================================================%% %%======= Laden der gewuenschten Style-Datei =======%% %%==================================================%% +\newrobustcmd*\mdf@load@style{% \ifcase\mdf@style\relax% \input{md-frame-0.mdf}% \or\input{md-frame-1.mdf}% @@ -364,6 +405,8 @@ mdframed ues instead style=0 \mdframedpackagename}% }% \fi% +}% +\mdf@load@style %%==================================================%% %%========= style-abhaengige Modifikation ==========%% %%==================================================%% @@ -390,6 +433,45 @@ % }{}% } +%%==================================================%% +%%Modifikation zur Nutzung innerhalb float/minipage=%% +%%==================================================%% +%option nobreak +\let\md@reserved@a\@empty +\newrobustcmd*\detected@md@put@frame{% + \ifmdf@nobreak%Option nobreak=true? + \def\md@reserved@a{\md@put@frame@standalone}% + \else + \def\md@reserved@a{\md@put@frame}% + \ifnum\@floatpenalty<0\relax%Detecting float + \if@twocolumn% + \ifx\@captype\@undefined + \def\md@reserved@a{\md@put@frame}% + \else + \md@PackageInfo{mdframed inside float ^^J + mdframed uses option nobreak \mdframedpackagename}% + \def\md@reserved@a{\md@put@frame@standalone}% + \fi + \else + \md@PackageInfo{mdframed inside float ^^J + mdframed uses option nobreak \mdframedpackagename}% + \def\md@reserved@a{\md@put@frame@standalone}% + \fi% + \fi% + \if@minipage% + \md@PackageInfo{mdframed inside minipage ^^J + mdframed uses option nobreak \mdframedpackagename}% + \def\md@reserved@a{\md@put@frame@standalone}% + \fi% + \ifinner% + \md@PackageInfo{mdframed inside a box ^^J + mdframed uses option nobreak \mdframedpackagename}% + \def\md@reserved@a{\md@put@frame@standalone}% + \fi% + \fi% +\md@reserved@a% +} + %%==================================================%% %%==Deklaration diverser Eingabe und Hilfsparameter=%% %%==================================================%% @@ -411,6 +493,7 @@ \begingroup %check is needed? \mdfsetup{#1}%% + \mdf@settings% \let\width\z@% \let\height\z@% \let\partopsep\z@ @@ -424,7 +507,8 @@ \def\endmdframed{% \end{md@lrbox}% - \md@put@frame% +% \md@put@frame% + \detected@md@put@frame \end{md@trivlist}% \hrule \@height\z@ \@width\hsize \endgroup% @@ -511,15 +595,37 @@ %%==================================================%% %%===========Ausgaberoutine -> Berechnung===========%% %%==================================================%% + +\newrobustcmd*\md@put@frame@standalone{\relax% + \ifvoid\@tempboxa\relax + \md@PackageWarning{The environment is empty\MessageBreak}% + \let\md@reserved@a\relax% + \else + %Hier berechnung Box-Inhalt+Rahmen oben und unten + \setlength{\md@verticalmarginwhole@length}{\ht\@tempboxa+\dp\@tempboxa}% + \mdf@dolist{\md@advancelength@verticalmarginwhole}{% + outerlinewidth,middlelinewidth,innerlinewidth,innertopmargin, + innerbottommargin,innerlinewidth,middlelinewidth,outerlinewidth}% + \md@keeplines@single% + \def\md@reserved@a{\md@putbox@single}% + \fi + \md@reserved@a% +} + + \def\md@put@frame{\relax% \ifvoid\@tempboxa\relax \md@PackageWarning{The environment is empty\MessageBreak}% +\let\md@reserved@a\relax% \else + \md@print@space% \md@freepagevspace% + \md@PackageInfoSpace{\the\md@freevspace@length before the beginning of the environment^^J + ending on input line \MessageBreak}% \ifdimless{\md@freevspace@length}{2\baselineskip} {\md@PackageInfo{Not enough space on this page}%die Seite hat nur noch minimal Platz \vfill\eject% - \md@put@frame + \def\md@reserved@a{\md@put@frame}% }{% %Hier berechnung Box-Inhalt+Rahmen oben und unten \setlength{\md@verticalmarginwhole@length}{\ht\@tempboxa+\dp\@tempboxa}% @@ -528,10 +634,12 @@ innerbottommargin,innerlinewidth,middlelinewidth,outerlinewidth}% \md@keeplines@single% \ifdimless{\md@verticalmarginwhole@length}{\md@freevspace@length}% - {\md@putbox@single}%passt auf Seite - {\md@put@frame@i}%passt nicht auf Seite + {\md@putbox@single%%passt auf Seite + \let\md@reserved@a\relax}% + {\def\md@reserved@a{\md@put@frame@i}}%passt nicht auf Seite }% \fi +\md@reserved@a% } \def\md@put@frame@i{%Box muss gesplittet werden -- Ausgabe der ersten Teilbox @@ -544,7 +652,7 @@ \ifdim\dimen@<\dimen@i\relax \hrule \@height\z@ \@width\hsize% \vfill\eject% - \md@put@frame + \def\md@reserved@a{\md@put@frame}% \else% \mdf@dolist{\md@advancelength@freevspace@sub}{% outerlinewidth,middlelinewidth,innerlinewidth,% @@ -582,26 +690,28 @@ You have to change the page settings\MessageBreak like enlargethispage or something else}% \setbox\@tempboxa\vbox{\box\tw@\box\@tempboxa}% - \md@put@frame + \def\md@reserved@a{\md@put@frame}% \fi \ifvoid\tw@%%pruefe, ob erste Box leer ist \hrule \@height\z@ \@width\hsize \vfill\eject% - \md@put@frame% + \def\md@reserved@a{\md@put@frame}% \else - \ifdimequal{\ht\tw@}{0pt} + \ifdimequal{\ht\tw@}{0pt}% {\hrule \@height\z@ \@width\hsize% \vfill\eject% \setbox\@tempboxa\vbox{\unvbox\tw@\unvbox\@tempboxa} - \md@put@frame}% - {% - \md@putbox@first%%Groesse des Splittens passt - \hrule \@height\z@ \@width\hsize - \vfill\eject% - \md@put@frame@ii% - } + \def\md@reserved@a{\md@put@frame}% + }% + {% + \md@putbox@first%%%Groesse des Splittens passt + \hrule \@height\z@ \@width\hsize + \vfill\eject% + \def\md@reserved@a{\md@put@frame@ii}% + }% \fi% - \fi + \fi% +\md@reserved@a% } \def\md@put@frame@ii{%Ausgabe der mittleren Box(en) wenn vorhanden @@ -626,7 +736,7 @@ \md@putbox@middle% \hrule \@height\z@ \@width\hsize \vfill\eject - \md@put@frame@ii% + \def\md@reserved@a{\md@put@frame@ii}% }%Hier die Ausgabe der mittleren Box {\ifvoid\@tempboxa \md@PackageWarning{You got a bad break\MessageBreak @@ -634,7 +744,9 @@ You have to change the settings}% \fi% \md@putbox@second% + \let\md@reserved@a\relax% }%Hier kommt die Ausgabe der letzten Box + \md@reserved@a% } %%==================================================%% -- cgit v1.2.3