summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/koma-script/doc/plength-tikz.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/koma-script/doc/plength-tikz.tex')
-rw-r--r--macros/latex/contrib/koma-script/doc/plength-tikz.tex339
1 files changed, 339 insertions, 0 deletions
diff --git a/macros/latex/contrib/koma-script/doc/plength-tikz.tex b/macros/latex/contrib/koma-script/doc/plength-tikz.tex
new file mode 100644
index 0000000000..73a77dfbdf
--- /dev/null
+++ b/macros/latex/contrib/koma-script/doc/plength-tikz.tex
@@ -0,0 +1,339 @@
+% ======================================================================
+% plength-tikz.tex
+% Copyright (c) Markus Kohm, 2005-2022
+%
+% This file is part of the LaTeX2e KOMA-Script bundle.
+%
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+%
+% This work has the LPPL maintenance status "author-maintained".
+%
+% The Current Maintainer and author of this work is Markus Kohm.
+%
+% This work consists of all files listed in MANIFEST.md.
+% ----------------------------------------------------------------------
+%
+% Generation of plength figures at scrlttr2 chapter of the KOMA-Script
+% guide
+%
+% Maintained by Markus Kohm
+% Original metapost source by Stephan Hennig
+% Original TikZ source by Marei Peischl
+%
+% ======================================================================
+
+\KOMAProvidesFile{plength-tikz.tex}%
+ [$Date: 2022-06-05 12:40:11 +0200 (So, 05. Jun 2022) $
+ KOMA-Script guide (figure in scrlttr2.tex)]
+
+\ExplSyntaxOn
+\prop_if_exist:NF \l_this_plength_description_prop {
+ \prop_new:N \l_this_plength_description_prop
+}
+\prop_set_from_keyval:Nn \l_this_plength_description_prop {
+ firsthead=\letterheadname,
+ firstfoot=\letterfootname,
+ backaddress=\backaddressname,
+ specialmail=\specialmailname,
+ toaddr=\toaddrname,
+ refline=\reflinename,
+ title=\titlename,
+ subject=\subjectname,
+ opening=\openingname,
+ body=\letterbodyname,
+ closing=\closingname,
+ signature=\signaturename,
+ location=\begin{tabular}{@{}c@{}}\locationname\end{tabular},
+}
+
+\prop_if_exist:NF \l_this_plength_var_prop {
+ \prop_new:N \l_this_plength_var_prop
+}
+
+\prop_set_from_keyval:Nn \l_this_plength_var_prop {
+ ticksize=1,
+ textwidth= 147,
+ textheight= 209.4,
+ evensidemargin= 6.1,
+ oddsidemargin = 6.1,
+ paperwidth = 210,
+ paperheight = 297,
+ baselineskip = .9\baselineskip,% 3.86607,
+ headheight = 6,
+ headsep =7.2,
+ footskip =16.73,
+ foldmarkhpos = 3.5,
+ tfoldmarkvpos = 105,
+ bfoldmarkvpos = 210,
+ tfoldmarklength = 2,
+ pfoldmarklength = 4,
+ bfoldmarklength = 2,
+ toaddrvpos = 45,
+ refvpos = 98.5,
+ refaftervskip = \UseVar{baselineskip},
+ toaddrhpos = 20,
+ toaddrwidth = 85,
+ toaddrheight = 40,
+ toaddrindent = 6,
+ specialmailwidth = 50,
+ specialmailrightindent = 4,
+ specialmailheight = \UseVar{baselineskip},
+ locwidth = 37.5,
+ backaddrheight = 5,
+ firstheadvpos = 8,
+ firstheadwidth = \UseVar{paperwidth} - 2 * \UseVar{toaddrhpos},
+ firstfootwidth = \UseVar{firstheadwidth},
+ firstfootvpos = 16.58 + \UseVar{headheight} + \UseVar{headsep} + \UseVar{textheight} + \UseVar{footskip},
+ refwidth = 0,
+ sigindent = 0,
+ toaddrindent =0,
+ sigbeforevskip = 2*\UseVar{baselineskip},
+ firstheadhpos = 0.5* \UseVar{paperwidth}-.5*\UseVar{firstheadwidth},
+ firstheadheight = 5*\UseVar{baselineskip},
+ firstfoothpos = 0.5*(\UseVar{paperwidth}-\UseVar{firstfootwidth}),
+ firstfootheight = 3*\UseVar{baselineskip},
+ fromrulewidth = 0.5 * \UseVar{firstheadwidth},
+ lochpos = \UseVar{paperwidth}-\UseVar{toaddrhpos}-\UseVar{locwidth},
+ refhpos = 25.40+\UseVar{oddsidemargin},
+ text = \UseVar{refhpos},
+ textcenter = \UseVar{refhpos}+0.5*\UseVar{textwidth},
+ refheight = 2*\UseVar{baselineskip},
+ refwidth = \UseVar{textwidth},
+ titlevpos = \UseVar{refvpos}+\UseVar{refheight}+\UseVar{refaftervskip},
+ titlewidth = 90,
+ titleheight = 1.2*\UseVar{baselineskip},
+ subjectvpos = \UseVar{titlevpos}+\UseVar{titleheight}+1*\UseVar{baselineskip},
+ subjectwidth = 80,
+ subjectheight = \UseVar{baselineskip},
+ openingvpos = \UseVar{subjectvpos}+\UseVar{subjectheight}+2*\UseVar{baselineskip},
+ openingwidth = 60,
+ openingheight = \UseVar{baselineskip},
+ bodyvpos = \UseVar{openingvpos}+\UseVar{openingheight}+\UseVar{baselineskip},
+ bodywidth = \UseVar{textwidth},
+ bodyheight = 6*\UseVar{baselineskip},
+ typeareabottom = \UseVar{firstfootvpos}-\UseVar{footskip},
+ sigvpos = \UseVar{bodyvpos}+\UseVar{bodyheight}+\UseVar{baselineskip},
+ sigwidth = 50,
+ sigheight = \UseVar{baselineskip},
+ locvpos = \UseVar{toaddrvpos},
+ locheight = \UseVar{toaddrheight},
+ sigindent = 10,
+ toaddrindent = 7,
+}
+\def\UseVar#1{
+ \fp_eval:n {\prop_item:Nn \l_this_plength_var_prop {#1}}
+}
+
+\def\UseDesc#1{
+ \desc
+ \prop_item:Nn \l_this_plength_description_prop {#1}
+}
+
+\ExplSyntaxOff
+
+\def\desc{\itshape}
+
+\providecommand*{\Multi}[1]{%
+ {\def\and{, }%
+ \begin{tabular}{@{}l@{}}
+ #1
+ \end{tabular}
+ }%
+}
+
+\pgfarrowsdeclare{measure}{measure}
+{
+ \arrowsize=\pgflinewidth
+ \pgfarrowsleftextend{0\arrowsize}
+ \pgfarrowsrightextend{5\arrowsize}
+}{
+ \arrowsize=\pgflinewidth
+ \pgfsetdash{}{0pt}
+ \pgfsetlinewidth{.5\arrowsize}
+ \pgfpathmoveto{\pgfpoint{4.75\arrowsize}{7\arrowsize}}
+ \pgfpathlineto{\pgfpoint{4.75\arrowsize}{-7\arrowsize}}
+ \pgfusepathqstroke
+ \pgfsetlinewidth{0.01pt}
+ \pgfpathmoveto{\pgfpoint{4.5\arrowsize}{0pt}}
+ \pgfpathlineto{\pgfpoint{-.5\arrowsize}{2\arrowsize}}
+ \pgfpathlineto{\pgfpoint{-.5\arrowsize}{-2\arrowsize}}
+ \pgfpathclose
+ \pgfusepathqfillstroke
+}
+
+\pgfdeclaredecoration{vmeasure}{measure begin}{%
+ \state{measure begin}[
+ width={\pgfmetadecoratedpathlength - \pgfdecorationsegmentlength},
+ next state=measure end,
+ ]
+ {
+ \pgfpathmoveto{\pgfqpoint{\dimexpr\pgfmetadecoratedpathlength - \pgfdecorationsegmentlength}{0pt}}
+ }%
+ \state{measure end}[width=0pt, next state=final]{
+ \pgfpathlineto{\pgfpointorigin}
+ }%
+ \state{final}
+ {
+ \pgfpathlineto{\pgfpointdecoratedpathlast}
+ }%
+}%
+
+\tikzset{
+ measure/.style={arrows=measure-measure,every node/.append style={font=\sffamily\strut}},
+ top hmeasure/.style={measure,
+ yshift=7\pgflinewidth,
+ every node/.append style={yshift=10\pgflinewidth},
+ },
+ bottom hmeasure/.style={measure,every node/.append style={below},yshift=-7\pgflinewidth,},
+ left double vmeasure/.style={
+ measure,
+ xshift=-7\pgflinewidth,
+ every node/.append style={rotate=90,above,},
+ },
+ right double vmeasure/.style={
+ measure,
+ xshift=7\pgflinewidth,
+ every node/.append style={rotate=90,below},
+ },
+ right vmeasure/.style={
+ measure,
+ xshift=7\pgflinewidth,
+ arrows=-measure,
+ decoration={vmeasure,post length=14\pgflinewidth,segment length=20\pgflinewidth},decorate,
+ every node/.append style={above=7\pgflinewidth},
+ },
+ left vmeasure/.style={
+ measure,
+ xshift=-7\pgflinewidth,
+ arrows=-measure,
+ decoration={vmeasure,post length=14\pgflinewidth,segment length=20\pgflinewidth},decorate,
+ every node/.append style={above=14\pgflinewidth},
+ },
+ hmeasure/.style={yshift=7\pgflinewidth},
+ measure right/.style={xshift=7\pgflinewidth},
+ measure left/.style={xshift=-7\pgflinewidth}
+}
+
+\begin{tikzpicture}[fill=black!20]
+ \draw (0,0)rectangle (\UseVar{paperwidth},\UseVar{paperheight});
+
+ \filldraw(\UseVar{firstheadhpos},\UseVar{firstheadvpos})rectangle node{\UseDesc{firsthead}}+(\UseVar{firstheadwidth},\UseVar{firstheadheight});
+
+ \filldraw(\UseVar{toaddrhpos},\UseVar{toaddrvpos}) rectangle
+ node {\UseDesc{backaddress}}
+ +(\UseVar{toaddrwidth},\UseVar{backaddrheight});
+
+ \filldraw(\UseVar{toaddrhpos}+.5*\UseVar{toaddrwidth}-\UseVar{specialmailrightindent},\UseVar{toaddrvpos}+\UseVar{backaddrheight}) rectangle
+ node {\UseDesc{specialmail}}
+ +(.5*\UseVar{toaddrwidth},\UseVar{specialmailheight});
+
+ \filldraw(\UseVar{toaddrhpos}+\UseVar{toaddrindent},\UseVar{toaddrvpos}+\UseVar{backaddrheight}+\UseVar{specialmailheight})
+ rectangle node {\UseDesc{toaddr}}
+ +(\UseVar{toaddrwidth}-2*\UseVar{toaddrindent},\UseVar{toaddrheight}-\UseVar{backaddrheight}-\UseVar{specialmailheight});
+
+ \draw(\UseVar{toaddrhpos},\UseVar{toaddrvpos})rectangle+(\UseVar{toaddrwidth},\UseVar{toaddrheight});
+
+ \filldraw (\UseVar{refhpos},\UseVar{refvpos})rectangle node{\UseDesc{refline}}
+ +(\UseVar{refwidth},\UseVar{refheight});
+
+ \filldraw (\UseVar{textcenter}-.5*\UseVar{titlewidth},\UseVar{titlevpos})rectangle node{\UseDesc{title}}
+ +(\UseVar{titlewidth},\UseVar{titleheight});
+
+ \filldraw (\UseVar{text},\UseVar{subjectvpos})rectangle node{\UseDesc{subject}}
+ +(\UseVar{subjectwidth},\UseVar{subjectheight});
+
+ \filldraw (\UseVar{text},\UseVar{openingvpos})rectangle node{\UseDesc{opening}}
+ +(\UseVar{openingwidth},\UseVar{openingheight});
+
+ \filldraw (\UseVar{text},\UseVar{bodyvpos})rectangle node{\UseDesc{body}}
+ +(\UseVar{bodywidth},\UseVar{bodyheight});
+
+ \filldraw (\UseVar{text}+\UseVar{sigindent},\UseVar{sigvpos})rectangle node{\UseDesc{closing}}
+ +(\UseVar{sigwidth},\UseVar{sigheight});
+
+ \filldraw (\UseVar{text}+\UseVar{sigindent}+.1*\UseVar{sigwidth},\UseVar{sigvpos}+\UseVar{sigheight}+\UseVar{sigbeforevskip})rectangle node{\UseDesc{signature}}
+ +(.8*\UseVar{sigwidth},\UseVar{sigheight});
+
+ \filldraw (\UseVar{lochpos},\UseVar{locvpos}) rectangle node{\UseDesc{location}}+(\UseVar{locwidth},\UseVar{locheight});
+
+ \filldraw (\UseVar{firstfoothpos},\UseVar{firstfootvpos}) rectangle node{\UseDesc{firstfoot}} +(\UseVar{firstfootwidth},\UseVar{firstfootheight});
+
+ \draw[thick] (\UseVar{foldmarkhpos},\UseVar{tfoldmarkvpos}) --+(\UseVar{tfoldmarklength},0);
+ \draw[thick] (\UseVar{foldmarkhpos},.5*\UseVar{paperheight}) --+(\UseVar{pfoldmarklength},0);
+ \draw[thick] (\UseVar{foldmarkhpos},\UseVar{bfoldmarkvpos}) --+(\UseVar{bfoldmarklength},0);
+ %%%%%%%%%%%%%%%%%%%%%%%%
+ \draw (\UseVar{text}+\UseVar{sigindent},\UseVar{sigvpos})rectangle +(\UseVar{sigwidth},2*\UseVar{sigheight}+\UseVar{sigbeforevskip});
+
+ \draw (\UseVar{text},\UseVar{titlevpos})rectangle (\UseVar{text}+\UseVar{textwidth},\UseVar{firstfootvpos}-\UseVar{footskip})
+ -- +(.5*\UseVar{firstfootwidth}-.5*\UseVar{textwidth},0);
+ %%%%%%%%%%%%%%%%%%%%%%%%
+
+ \draw[right vmeasure] (\UseVar{foldmarkhpos}+\UseVar{tfoldmarklength},0)--++(0,\UseVar{tfoldmarkvpos})+(0,\UseVar{ticksize})node[anchor=150]{\DescRef{scrlttr2.plength.tfoldmarkvpos}};
+ \draw[right vmeasure] (\UseVar{foldmarkhpos}+\UseVar{bfoldmarklength},0)--++(0,\UseVar{bfoldmarkvpos})+(0,-\UseVar{ticksize})node[anchor=-150]{\DescRef{scrlttr2.plength.bfoldmarkvpos}};
+
+ \draw[top hmeasure] (0,\UseVar{firstheadvpos}) node[right]{\DescRef{scrlttr2.plength.firstheadhpos}} -- +(\UseVar{firstheadhpos},0);
+ \draw[top hmeasure] (\UseVar{firstheadhpos},\UseVar{firstheadvpos})-- node{\DescRef{scrlttr2.plength.firstheadwidth}} +(\UseVar{firstheadwidth},0);
+ \draw[right vmeasure] (\UseVar{paperwidth}-\UseVar{firstheadhpos},0)--node[near end,anchor=base east]{\DescRef{scrlttr2.plength.firstheadvpos}}+(0,\UseVar{firstheadvpos});
+
+ \draw[right vmeasure] (\UseVar{toaddrhpos}+\UseVar{toaddrwidth},0)--+(0,\UseVar{toaddrvpos})node{\DescRef{scrlttr2.plength.toaddrvpos}};
+ \draw[right double vmeasure] (\UseVar{toaddrhpos}+\UseVar{toaddrwidth},\UseVar{toaddrvpos}) -- node[rotate=-90,right]{\DescRef{scrlttr2.plength.backaddrheight}} +(0,\UseVar{backaddrheight});
+ \draw[top hmeasure] (0,\UseVar{toaddrvpos}) node[right]{\DescRef{scrlttr2.plength.toaddrhpos}} --+(\UseVar{toaddrhpos},0);
+ \draw[top hmeasure] (\UseVar{toaddrhpos},\UseVar{toaddrvpos})-- node{\DescRef{scrlttr2.plength.toaddrwidth}} +(\UseVar{toaddrwidth},0);
+ \draw[measure] (\UseVar{toaddrhpos}+\UseVar{toaddrwidth},\UseVar{toaddrvpos}+1.5*\UseVar{backaddrheight})node[right] {\DescRef{scrlttr2.plength.specialmailindent}} --+(-\UseVar{specialmailrightindent},0);
+ \draw[top hmeasure] (\UseVar{toaddrhpos},\UseVar{toaddrvpos}+\UseVar{toaddrheight})-- +(\UseVar{toaddrindent},0) node[right]{\DescRef{scrlttr2.plength.toaddrindent}};
+ \draw[top hmeasure] (\UseVar{toaddrhpos}+\UseVar{toaddrwidth},\UseVar{toaddrvpos}+\UseVar{toaddrheight}) --+ (-\UseVar{toaddrindent},0) node[left]{\DescRef{scrlttr2.plength.toaddrindent}};
+ \draw[left double vmeasure] (\UseVar{toaddrhpos},\UseVar{toaddrvpos})--
+ node{\DescRef{scrlttr2.plength.toaddrheight}}
+ +(0,\UseVar{toaddrheight});
+
+ \draw[right double vmeasure] (\UseVar{lochpos}+\UseVar{locwidth},\UseVar{locvpos})--node{\DescRef{scrlttr2.plength.locheight}}+(0,\UseVar{locheight});
+ \draw[left vmeasure] (\UseVar{lochpos},0)--+(0,\UseVar{locvpos})node{\DescRef{scrlttr2.plength.locvpos}};
+ \draw[top hmeasure] (\UseVar{lochpos}+\UseVar{locwidth},\UseVar{locvpos})-- node{\DescRef{scrlttr2.plength.lochpos}} (\UseVar{paperwidth},\UseVar{locvpos});
+ \draw[top hmeasure] (\UseVar{lochpos},\UseVar{locvpos})-- node{\DescRef{scrlttr2.plength.locwidth}} +(\UseVar{locwidth},0);
+
+ \draw[right vmeasure] (\UseVar{refhpos}+\UseVar{refwidth},0)--+(0,\UseVar{refvpos})node[above=\baselineskip]{\DescRef{scrlttr2.plength.refvpos}};
+ \draw[top hmeasure](0,\UseVar{refvpos})--node{\DescRef{scrlttr2.plength.refhpos}}+(\UseVar{refhpos},0);
+ \draw[top hmeasure](\UseVar{refhpos},\UseVar{refvpos})--node{\DescRef{scrlttr2.plength.refwidth}}+(\UseVar{refwidth},0);
+
+ \draw[right double vmeasure] (\UseVar{refhpos}+\UseVar{refwidth},\UseVar{refvpos}+\UseVar{refheight})--
+ node[rotate=-90,right]{\DescRef{scrlttr2.plength.refaftervskip}}
+ +(0,\UseVar{refaftervskip});
+
+ \draw[right double vmeasure] (\UseVar{text}+\UseVar{openingwidth},\UseVar{titlevpos}+\UseVar{titleheight})--
+ node[rotate=-90,right]{\Length{baselineskip}+\DescRef{scrlttr2.plength.subjectbeforevskip}}
+ (\UseVar{text}+\UseVar{openingwidth},\UseVar{subjectvpos});
+
+ \draw[right double vmeasure] (\UseVar{text}+\UseVar{openingwidth},\UseVar{subjectvpos}+\UseVar{subjectheight})--
+ node[rotate=-90,right]{\DescRef{scrlttr2.plength.subjectaftervskip}}
+ (\UseVar{text}+\UseVar{openingwidth},\UseVar{openingvpos});
+
+ \draw[right double vmeasure] (\UseVar{text}+\UseVar{openingwidth},\UseVar{openingvpos}+\UseVar{openingheight})--
+ node[rotate=-90,right]{\Length{baselineskip}}
+ (\UseVar{text}+\UseVar{openingwidth},\UseVar{bodyvpos});
+
+ \draw[right double vmeasure] (\UseVar{text}+\UseVar{openingwidth},\UseVar{bodyvpos}+\UseVar{bodyheight})--
+ node[rotate=-90,right]{\Length{baselineskip}}
+ (\UseVar{text}+\UseVar{openingwidth},\UseVar{sigvpos});
+
+ \draw[bottom hmeasure](\UseVar{text},\UseVar{firstfootvpos}-\UseVar{footskip})--node{\Length{textwidth}} +(\UseVar{textwidth},0);
+
+ \draw[left double vmeasure] (\UseVar{text}+1.5*\UseVar{sigindent},\UseVar{sigvpos}+\UseVar{sigheight})--node[rotate=-90,right]{\DescRef{scrlttr2.plength.sigbeforevskip}}
+ +(0,\UseVar{sigbeforevskip});
+
+ \draw[left vmeasure] (\UseVar{firstfoothpos},0)--+(0,\UseVar{firstfootvpos})node{\DescRef{scrlttr2.plength.firstfootvpos}};
+ \draw[top hmeasure] (\UseVar{firstfoothpos},\UseVar{firstfootvpos}) -- node{\DescRef{scrlttr2.plength.firstfootwidth}} +(\UseVar{firstfootwidth},0);
+ \draw[bottom hmeasure] (0,\UseVar{firstfootvpos}+\UseVar{firstfootheight}) node[below right]{\DescRef{scrlttr2.plength.firstfoothpos}} -- +(\UseVar{firstfoothpos},0);
+ \draw[right double vmeasure] (\UseVar{firstfoothpos}+\UseVar{firstfootwidth},\UseVar{firstfootvpos}) -- node{$\geq$ \Length{footskip}} +(0,-\UseVar{footskip});
+\end{tikzpicture}
+
+\endinput
+
+%%% Local Variables:
+%%% mode: latex
+%%% coding: utf-8
+%%% End: