summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-09-11 23:33:45 +0000
committerKarl Berry <karl@freefriends.org>2011-09-11 23:33:45 +0000
commitaa9c5f6a29813abf377376fe0669a48ca5ee5dde (patch)
tree3cf29c585eb77c4bfec9ea4eb9a296f8c4b391d8 /Master/texmf-dist/doc
parent245bdb189ef1aad54d7c3a6da23c072067179b67 (diff)
mdframed 0.9e (11sep11)
git-svn-id: svn://tug.org/texlive/trunk@23902 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r--Master/texmf-dist/doc/latex/mdframed/README20
-rw-r--r--Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.pdfbin136219 -> 142805 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.tex444
3 files changed, 327 insertions, 137 deletions
diff --git a/Master/texmf-dist/doc/latex/mdframed/README b/Master/texmf-dist/doc/latex/mdframed/README
index cf04fcfaf66..4ba5eac5f01 100644
--- a/Master/texmf-dist/doc/latex/mdframed/README
+++ b/Master/texmf-dist/doc/latex/mdframed/README
@@ -1,18 +1,20 @@
-%%$Id: README 190 2011-09-07 10:39:52Z marco $
-%%$Rev: 190 $
+%%$Id: README 198 2011-09-11 10:50:44Z marco $
+%%$Rev: 198 $
%%$Author: marco $
-%%$Date: 2011-09-07 12:39:52 +0200 (Mi, 07. Sep 2011) $
+%%$Date: 2011-09-11 12:50:44 +0200 (So, 11. Sep 2011) $
+
+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.
-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
----------------------------
-v0.9b
-- fixes bugs in \newmdtheoremenv (Thanks to Enrico Gregorio)
-
+v0.9e
+- working with twoside modus
diff --git a/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.pdf b/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.pdf
index 6e4ab46c6d3..16a9edba958 100644
--- a/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.pdf
+++ b/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.tex b/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.tex
index fb041fc1032..3795a2c3d27 100644
--- a/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.tex
+++ b/Master/texmf-dist/doc/latex/mdframed/mdframed-doc-en.tex
@@ -1,6 +1,6 @@
%Documenation of the package mdframed
-%%$Id: mdframed-doc-en.tex 188 2011-09-07 10:32:16Z marco $
-%%$Rev: 188 $
+%%$Id: mdframed-doc-en.tex 198 2011-09-11 10:50:44Z marco $
+%%$Rev: 198 $
%%$Author: marco $
%%$Dater:$
%% [latex -> ps -> pdf]
@@ -8,7 +8,7 @@
\documentclass[english,11pt,]{scrartcl}
%\usepackage{showframe}
\usepackage[nofancy,draft,notoday]{svninfo}
-\svnInfo $Id: mdframed-doc-en.tex 188 2011-09-07 10:32:16Z marco $
+\svnInfo $Id: mdframed-doc-en.tex 198 2011-09-11 10:50:44Z marco $
\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
@@ -34,11 +34,14 @@
\ifoot{\svnId}
-\usepackage[left=5cm,right=3cm,top=3cm,bottom=2cm]{geometry}
-
+\usepackage[left=5cm,right=3cm,top=3cm,bottom=3cm]{geometry}
+\usepackage{array,booktabs}
\usepackage{xcolor}
-\definecolor{titleblue}{rgb}{0,0,0.9}
+\usepackage{tikz}
+\usetikzlibrary{calc,backgrounds,arrows,matrix}
+
+\colorlet{titleblue}{blue!30!black}
\usepackage{amsmath}
\usepackage[amsmath]{ntheorem}
@@ -80,7 +83,8 @@
skipabove,ntheorem,theorem,lemma,mdframed,linecolor,%
frametitle,infobox,innerlinewidth,roundcorner,leftline,topline,%
splitbottomskip,middlelinewidth,middlelinecolor,tikzsetting,%
- rightline,bottomline,innerrightmargin,style,linewidth,lem,section},%
+ rightline,bottomline,innerrightmargin,style,linewidth,lem,section,%
+ definedstyle,needspace,mdf@globalstyle@cnt,framemethod},%
moretexcs={newmdtheoremenv,newmdenv,theoremstyle,mdfsetup,@length,%
md@putbox@single,@tempboxa,mdf@,%
mdf@linewidth,mdf@leftmargin@length,interruptlength,%
@@ -88,7 +92,7 @@
color,md@frame@leftline@single,mdf@innerbottommargin@length,%
mdf@middlelinewidth@length,mdfboundingboxheight,%
md@frame@rightline@single,mdfboundingboxwidth,%
- mdf@innerrightmargin@length},
+ mdf@innerrightmargin@length,mdfdefinestyle,defcounter},
#1,
}%
}%
@@ -111,7 +115,7 @@
\makeatother
\newcommand*\mdoption[1]{\textsf{\bfseries\color{titleblue}#1}}
\newcommand*\mdname{\textsf{mdframed}\xspace}
-\newcommand*\mdpack[1]{\textsf{#1}\xspace}
+\newcommand*\mdpack[1]{\texttt{#1}\xspace}
\newcommand*\mdsetting[1]{\textsf{#1}\xspace}
\newcommand*\mdcommand[1]{\texttt{\textbackslash #1}\xspace}
@@ -127,9 +131,6 @@
\textsf{\bfseries\color{titleblue}\textbackslash #2}%
\quad}{#1}\ignorespaces}
- \usepackage{pst-node}
- \usepackage{pstricks-add}
-
\usepackage{hyperref}
\hypersetup{%
breaklinks=true,
@@ -162,24 +163,18 @@ bookmarksdepth=4,
\end{center}
\begin{abstract}
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 using \mdcommand{newenvironment} the user may choose between several individual designs.
+By defining new environments the user may choose between several individual designs.
\end{abstract}
+\vspace*{2\baselineskip}
+
\pdfbookmark[1]{\contentsname}{tocbook}
\tableofcontents
+
+
\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.
-\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}
+
%\newtheorem{mdtheorem}{Theorem}[section]
\newmdtheoremenv[outerlinewidth=2,leftmargin=40,rightmargin=40,%
@@ -194,6 +189,21 @@ Many users wish to (further) emphasize lemmata, definitions, proofs, etc. The pa
\[ 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}, \mdpack{calc} and \mdpack{color}.
By setting the correct options \mdpack{mdframed} will load \mdpack{xcolor}, \mdpack{tikz} or \mdpack{pstricks}.
@@ -212,10 +222,16 @@ The package defines only one environment with the following syntax:
With version 0.8 you have two commands to create environments with \mdpack{mdframed}.
-\par\kern\baselineskip%
-\noindent\llap{\textsf{\bfseries\color{titleblue}autodetecting floats}\quad}\ignorespaces
+\mdDescribeMacro{autodetecting floats}
With version 0.9 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} automaticlly.
+\mdDescribeMacro{twoside-mode} With version 0.9d I added the detection of the \mdpack{twoside}. When you are using \mdname inside \mdpack{twoside} mode you have to set the option \mdoption{innermargin}
+and \mdoption{outermargin} (see section \ref{optlength}).
+
+%%%%%%%%%%%%%%%%%%%%%%%
+\section{Commands}
+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}
@@ -231,7 +247,7 @@ In this way you can simply use:
\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:\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:
+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>}%
@@ -250,10 +266,31 @@ The last four arguments are equivalent to the command \mdcommand{newtheorem}. On
So far there is no \mdcommand{renewmdtheoremenv}!
+\mdDescribeMacro{\textbackslash mdfsetup}To set the options globally
+you can use the optional argument of \mdcommand{usepackage} or
+you can use the command \mdcommand{mdfsetup} which is not limited to the preamble.
+
+\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}
+
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%
\section{Options}
The package allows the following global and local options:
-\subsection{Global Options}
+\subsection{Global Options}\label{globopt}
The following options are only global options.
\mdDescribeMacro[none]{xcolor}
@@ -261,22 +298,37 @@ 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.
-\mdDescribeMacro[0]{style}
-With this key you can change the way frames are drawn. By using
-\mdoption{style=0} the frames are drawn by the \LaTeX-command \mdcommand{rule}.
-By setting the key to \mdoption{style=1} the package
-\mdpack{tikz} will draw the frames. By setting the key to \mdoption{style=3} the
-package \mdpack{pstricks} will draw the frames. The manipulation of the frames
-depends on the \mdoption{style}. For further information see below.
+\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, 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.}
+
+\noindent\textbf{Note}\qquad 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.
-\mdDescribeMacro{\textbackslash mdfsetup}To set the options globally
-you can use the optional argument of \mdcommand{usepackage} or
-you can use the command \mdcommand{mdfsetup} which is not limited to the preamble.
-\subsubsection{Options with lengths}
+\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
@@ -285,43 +337,93 @@ the second one is a number (e.g. 2) which will be multiplied by \mdoption{1 defa
\begin{center}
% \includegraphics{laengen}
-\psscalebox{0.7}{%
-\Large
-\begin{pspicture}(-2,-2)(12,8)
- %
- \psframe[fillstyle=vlines,linecolor=green!70!black,hatchcolor=green!70!black](2,2)(8,4)
- \rput*(5,3){Contents}
- \psframe[linecolor=red!70!black,linewidth=10pt](0,0)(10,6)
- \psframe[linecolor=blue!70!black,linewidth=10pt](!0 0.1 3 mul add
- 0 3 0.1 mul add )%
- (! 10 0.1 3 mul neg add
- 6 0.1 3 mul neg add)
- \psframe[linecolor=yellow!70!black,linewidth=10pt](!0 0.2 3 mul add
- 0 3 0.2 mul add )%
- (! 10 0.2 3 mul neg add
- 6 0.2 3 mul neg add)
- \psline{<->}(5,6)(5,8)
- \uput[0](5,7){skipabove}
- \psline{<->}(5,0)(5,-2)
- \uput[0](5,-1){skipbelow}
- \psline{<->}(5,4)(5,5.1)
- \uput*[90](5,4){innertopmargin}
- \psline{<->}(5,2)(5,0.9)
- \uput*[90](5,1){innerbottommargin}
- \psline{<->}(10,3)(12,3)
- \uput[0](10,2.8){rightmargin}
- \psline{<->}(0,3)(-2,3)
- \uput[180](0,2.8){leftmargin}
- \psline{<->}(8,3)(9.1,3)
- \uput*[0](8.2,3){\psrotateleft{innerrightmargin}}
- \psline{<->}(0.9,3)(2,3)
- \uput*[0](1.2,3){\psrotateleft{innerleftmargin}}
- \psline(-2,8)(12,8)\uput*[0](-2,8){text above}
- \psline(-2,-2)(12,-2)\uput*[0](-2,-2){text below}
-\end{pspicture}
-}
-
- \captionof{figure}{adjustable lengths of \mdpack{mdframed}}
+\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}
@@ -340,27 +442,31 @@ the second one is a number (e.g. 2) which will be multiplied by \mdoption{1 defa
\paragraph*{The following lengths are not shown in figure \eqref{fig:laengen}.}
\mbox{}
+\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.
- \textbf{This works only with \mdoption{style=1} and \mdoption{style=3}.}
+ \textbf{This works only with \mdoption{framemethod=TikZ} and \mdoption{framemethod=PSTricks}.}
\mdDescribeMacro[0pt]{innerlinewidth} Sets the width of the inner line around the environment.
- \textbf{This works only with \mdoption{style=1}.}
+ \textbf{This works only with \mdoption{framemethod=TikZ}.}
\mdDescribeMacro[0pt]{outerlinewidth} Sets the width of the outer line around the environment.
- \textbf{This works only with \mdoption{style=1}.}
+ \textbf{This works only with \mdoption{framemethod=TikZ}.}
\mdDescribeMacro[\newline linewidth]{middlelinewidth} Sets the width of the middle line around the environment.
- \textbf{This works only with \mdoption{style=1}.}
+ \textbf{This works only with \mdoption{framemethod=TikZ}.}
\subsubsection{Colored Options}
\mdDescribeMacro[black]{linecolor} Sets the color of the line around the environment.
\mdDescribeMacro[\newline linecolor]{innerlinecolor} Sets the color of the inner line around the environment.
- \textbf{This works only with \mdoption{style=1}.}
+ \textbf{This works only with\mdoption{framemethod=TikZ}.}
\mdDescribeMacro[\newline linecolor]{middlelinecolor} Sets the color of the middle line around the environment.
- \textbf{This works only with \mdoption{style=1}.}
+ \textbf{This works only with \mdoption{framemethod=TikZ}.}
\mdDescribeMacro[\newline linecolor]{outerlinecolor} Sets the color of the outer line around the environment.
- \textbf{This works only with \mdoption{style=1}.}
+ \textbf{This works only with \mdoption{framemethod=TikZ}.}
\mdDescribeMacro[white]{backgroundcolor} Sets the color of the background of the environment.
\mdDescribeMacro[black]{fontcolor} Sets the color of the contents of the environment.
@@ -379,7 +485,7 @@ the second one is a number (e.g. 2) which will be multiplied by \mdoption{1 defa
\mdDescribeMacro[\mbox{} \mdcommand{bfseries}\mdcommand{large}]{frametitleformat} Sets the format of the frame title.
-\subsubsection{General options}
+\subsubsection{General options}\label{genopt}
@@ -391,6 +497,11 @@ the second one is a number (e.g. 2) which will be multiplied by \mdoption{1 defa
\mdDescribeMacro[false]{nobreak} Sometimes it is useful to prevent a frame from splitting. The \mdoption{nobreak} option is used for this purpose.
+
+\mdDescribeMacro[0pt]{needspace} Sometimes it is useful to set a minimum height befor a frame should be splittet. For such cases you can use \mdoption{needspace}.
+
+\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.
@@ -400,12 +511,12 @@ the second one is a number (e.g. 2) which will be multiplied by \mdoption{1 defa
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.
- \textbf{This works only with \mdoption{style=3}.}
+ \textbf{This works only with \mdoption{framemethod=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.
- \textbf{This works only with \mdoption{style=1}.}
+ \textbf{This works only with \mdoption{framemethod=TikZ}.}
\section{Examples}
-Now I present some examples. Of course I know that some of them are only gimmicks. To create the following examples I am using \mdoption{style=1}.
+Now I present some examples. Of course I know that some of them are only gimmicks. To create the following examples I am using \mdoption{framemethod=TikZ}.
\mdfsetup{skipabove=\baselineskip,skipbelow=\baselineskip}
\begin{mdexample}
\mdfsetup{outerlinewidth=5pt,innerlinewidth=0pt,
@@ -469,8 +580,24 @@ Some Text Some Text Some Text Some Text Some Text Some Text
%Some Text Some Text Some Text Some Text Some Text Some Text
\clearpage
\onecolumn
-\clearpage
+\subsection{Framed \texttt{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}]
+\BeforeBeginEnvironment{lstlisting}{%
+ \begin{mdframed}[<modification>]%
+ \vspace{-0.7em}}
+\AfterEndEnvironment{lstlisting}{%
+ \vspace{-0.5em}%
+ \end{mdframed}}
+\end{mdexample}
+
+
+
\section{Errors, Warnings and Messages}
+
The package \mdpack{mdframed} provides different errors, warnings and
messages in the \texttt{log}-file. Some \LaTeX-editors like
\TeX Maker(X) have a special tab for errors and warnings
@@ -480,19 +607,21 @@ The followings errors and warnings are generated by \mdpack{mdframed}.
\begin{mdexample}
The package ... does not exist but
- is required by mdframed
+ 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}
- The style number ... does not exist
- mdframed ues instead style=0
+ 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}
-If you set the option \mdoption{style} and a file
-\texttt{md-frame-'number'.mdf} does not exist
-you will get this warning. So check the
-option \mdoption{style}.
+The input string for the option \mdoption{framemethod} is unkown. See section \ref{globopt}.
\begin{mdexample}
You have not loaded ntheorem yet
@@ -529,7 +658,7 @@ So far I have no idea how to avoid such things.
like enlargethispage or something else
You got a bad break
\end{mdexample}
-See the explanation above.
+See the explaation above.
\begin{mdexample}
You got a bad break
@@ -562,10 +691,8 @@ body you will get this warning.
\section{ToDo}
\begin{enumerate}
\item see \glqq Known Problems\grqq.
- \item Work with \mdoption{twoside}-mode by setting \mdoption{inner} and \mdoption{outer}.
\item Create new styles.
\item Improve page breaks.
- \item Section with version history.
\end{enumerate}
\section{Previous versions}
@@ -573,7 +700,10 @@ If you have trouble with the new version of \mdname you can load \texttt{mdframe
%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}
-Thanks for the bug reports and suggestions
+
+\vskip\baselineskip
+
+
\textsf{Dick Nickalls;\quad Dr. Dietrich Grau;\quad Piazza Luca\quad Jobst Hoffmann}.
\medskip
@@ -584,7 +714,7 @@ Thanks for the bug reports and suggestions
\clearpage
\appendix
\section{More information}
-\addtocontents{toc}{\protect\setcounter{tocdepth}{-4}}
+%\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?}
@@ -594,29 +724,48 @@ After the calculation of the width and the height of the \mdcommand{@tempboxa} (
will be set sequently (done by \mdpack{md-frame-X.mdf}). The following figure demonstrates this.
\begin{center}
-\newcommand{\mybox}[1]{\psframebox[linecolor=gray,shadowcolor=lightgray]{\parbox{3.5cm}{\centering\small #1}}}
-% \includegraphics{way}
-\begin{psmatrix}[mnode=r,colsep=4,rowsep=1.2]
- [name=s1] \mybox{read in and save contents in \textbackslash @tempboxa} &
- [name=f1] \mybox{\textbackslash md@putbox@single} \\
- [name=s2] \mybox{split \textbackslash @tempboxa in \textbackslash tw@ to the free space of the page} &
- [name=f2] \mybox{\textbackslash md@putbox@first} \\
- [name=s3] \mybox{contents of \textbackslash @tempboxa have enough space on the new page} &
- [name=f3] \mybox{\textbackslash md@putbox@second} \\
- [name=s4] \mybox{split \textbackslash @tempboxa in \textbackslash tw@ to the free space of the page} &
- [name=f4] \mybox{\textbackslash md@putbox@middle} \\[.5\baselineskip]
- %
- \psset{arrowinset=0,arrowscale=1.3,nodesep=3pt}
- \ncline{->}{s1}{f1}\naput{enough space on page}
- \ncline{->}{s1}{s2}\naput{not enough space on page}
- \ncline{->}{s2}{f2}\naput{type out \textbackslash tw@}
- \ncline[angle=90]{->}{f2}{s3}\ncput*{calculate the height of the new \textbackslash @tempboxa}
- \ncline{->}{s3}{f3}\naput{yes}
- \ncline{->}{s3}{s4}\naput{no}
- \ncline{->}{s4}{f4}\naput{type out \textbackslash tw@}
- \ncloop[angleA=180,angleB=-90,loopsize=4.5]{<-}{s3}{f4}
- \nbput{calculate the height of the new \textbackslash @tempboxa}
-\end{psmatrix}
+\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}
@@ -679,6 +828,7 @@ can save the file as \mdpack{md-frame-X.mdf}.
In this way you can use the option \mdoption{style} to
load the file by setting \mdoption{style=X}.
+\clearpage
\subsection{Modify the frame}
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}
@@ -689,6 +839,7 @@ First I will show the the result.
\setlength{\interruptlength}{2.5ex}
\newrobustcmd\overlaplines{%
\input{md-frame-0.mdf}%
+ \global\defcounter{mdf@globalstyle@cnt}{0}
\appto\md@frame@leftline@single{%
\llap{\color{white}%
\rule[-\dp\@tempboxa-\mdf@innerbottommargin@length%
@@ -713,7 +864,7 @@ First I will show the the result.
}%
}
\overlaplines
-\newmdtheoremenv[style=0,ntheorem,linecolor=blue,linewidth=3pt]{lem}{Lemma}[section]
+\newmdtheoremenv[style=0,ntheorem,linecolor=blue,linewidth=2pt]{lem}{Lemma}[section]
\makeatother
@@ -732,11 +883,11 @@ With the new length \mdcommand{interruptlength} you can manipulate the amount of
\newlength{\interruptlength}
\setlength{\interruptlength}{1.5ex}
\makeatletter
-\makeatletter
\newlength{\interruptlength}
\setlength{\interruptlength}{2.5ex}
\newrobustcmd\overlaplines{%
\input{md-frame-0.mdf}%
+ \global\defcounter{mdf@globalstyle@cnt}{0}
\appto\md@frame@leftline@single{%
\llap{\color{white}%
\rule[-\dp\@tempboxa
@@ -766,13 +917,50 @@ With the new length \mdcommand{interruptlength} you can manipulate the amount of
}
\overlaplines
\newmdtheoremenv[style=0,ntheorem,linecolor=blue,%
- linewidth=3pt]{lem}{Lemma}[section]
+ linewidth=10pt]{lem}{Lemma}[section]
\makeatother
\end{mdexample}
+
+\subsection{\mdname in combination with \mdpack{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:
+\begin{mdexample}[moretexcs={lipsum},morekeywords={lipsum,multicols}]
+\begin{multicols}{2}
+\lipsum[1]
+\begin{mdframed}
+Text\par Text\par Text
+\end{mdframed}
+\lipsum[2]
+\end{multicols}
+\end{mdexample}
+\begin{multicols}{2}
+\lipsum[1]
+\begin{mdframed}
+Text\par Text\par Text
+\end{mdframed}
+\lipsum[2]
+\end{multicols}
+
%\clearpage
-\subsection{Revision history}\label{rev}
+\twocolumn[\subsection{Revision history}\label{rev}]
\setkomafont{subsubsection}{\normalfont\bfseries}
-\small
+\small\raggedright
+\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}
+
+\footnotesize
+
\minisec{Version 0.9b submitted 7 Sep 2011}
\begin{itemize}
\item fixes bugs in \mdcommand{newmdtheoremenv} (Thanks to Enrico Gregorio)