summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrkernel-letterclassoptions.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-04-24 23:19:31 +0000
committerKarl Berry <karl@freefriends.org>2015-04-24 23:19:31 +0000
commit0a00b3b492fd27dc12cddae602b2c43206a17d74 (patch)
tree40a09bf2208cc13bcd727626e1ee058e2caa68b1 /Master/texmf-dist/source/latex/koma-script/scrkernel-letterclassoptions.dtx
parent77b150bbd42aa48ba71627e09763785b26adfcfd (diff)
koma-script (24apr15)
git-svn-id: svn://tug.org/texlive/trunk@37036 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkernel-letterclassoptions.dtx')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkernel-letterclassoptions.dtx192
1 files changed, 158 insertions, 34 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-letterclassoptions.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-letterclassoptions.dtx
index b3128d08e86..162fb575ace 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrkernel-letterclassoptions.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-letterclassoptions.dtx
@@ -1,8 +1,8 @@
-% \CheckSum{1498}
+% \CheckSum{1655}
% \iffalse meta-comment
% ======================================================================
% scrkernel-letterclassoptions.dtx
-% Copyright (c) Markus Kohm, 2006-2014
+% Copyright (c) Markus Kohm, 2006-2015
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +20,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-letterclassoptions.dtx
-% Copyright (c) Markus Kohm, 2006-2014
+% Copyright (c) Markus Kohm, 2006-2015
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -55,18 +55,18 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-letterclassoptions.dtx 1799 2014-10-04 16:58:57Z kohm $
+%%% From File: $Id: scrkernel-letterclassoptions.dtx 2001 2015-03-12 11:29:57Z kohm $
%<*driver>
% \fi
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2014-10-04 18:58:57 +0200 (Sat, 04 Oct 2014) $
- \def\filerevision$#1: #2 ${\gdef\filerevision{#2}}
- \filerevision$Revision: 1799 $
+ \filedate$Date: 2015-03-12 12:29:57 +0100 (Thu, 12 Mar 2015) $
+ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
+ \filerevision$Revision: 2001 $
\endgroup
\ProvidesFile{scrkernel-letterclassoptions.dtx}
- [\filedate\space v3.14.\filerevision\space
+ [\filedate\space \filerevision\space
KOMA-Script (letter class options)]
% \iffalse
\documentclass{scrdoc}
@@ -114,8 +114,8 @@
% \subsection{Optionen für Letter-Class-Options}
%
% \begin{macro}{\lco@test}
-% \changes{v2.95}{2006/03/22}{Neu}
-% \changes{v2.97c}{2007/09/12}{an neue Optionenabarbeitung angepasst}
+% \changes{v2.95}{2006/03/22}{Neu}^^A
+% \changes{v2.97c}{2007/09/12}{an neue Optionenabarbeitung angepasst}^^A
% Letter-Class-Optionen können auch für jede per |\documentclass| angegebene
% keyval-Option oder sonstige scan-Option (das sind Optionen, die nicht per
% |\DeclareOption| definiert wurden) geladen werden. Dabei wird die
@@ -234,22 +234,22 @@
% \end{macro}^^A \LoadLetterOptions
%
% \begin{macro}{\LetterOptionNeedsPapersize}
-% \changes{v2.8q}{2001/10/17}{Neu}
+% \changes{v2.8q}{2001/10/17}{Neu}^^A
% Es besteht die Möglichkeit, in \texttt{lco}-Dateien eine bestimmte
% Papiergröße zu fordern. Dazu wird der Name der \texttt{lco}-Datei
% und die geforderte Papiergröse als Parameter übergeben. Stimmt die
% Papiergröße nicht überein, so wird bei \cs{opening} eine Warnung
% ausgegeben.
% \begin{macro}{\@PapersizeWarning}
-% \changes{v2.8q}{2002/03/25}{Neu (intern)}%^^A
+% \changes{v2.8q}{2002/03/25}{Neu (intern)}^^A
% \changes{v3.12}{2013/11/05}{Abweichung von 1\,mm nach unten und oben
-% erlaubt}%^^A
+% erlaubt}^^A
% \begin{macro}{\@@PapersizeWarning}
-% \changes{v2.8q}{2002/03/25}{Neu (intern)}%^^A
+% \changes{v2.8q}{2002/03/25}{Neu (intern)}^^A
% \begin{macro}{\LOPNP@size}
-% \changes{v2.8q}{2002/03/25}{Neu (intern)}%^^A
+% \changes{v2.8q}{2002/03/25}{Neu (intern)}^^A
% \begin{macro}{\LOPNP@option}
-% \changes{v2.8q}{2002/03/25}{Neu (intern)}%^^A
+% \changes{v2.8q}{2002/03/25}{Neu (intern)}^^A
% Zur einfacheren Realisierung wird mit vier internen Hilfsmakros
% gearbeitet.
% \begin{macrocode}
@@ -351,21 +351,27 @@
%
% Im Kopf ist natürlich die Datei zu deklarieren:
% \changes{v3.04}{2009/04/21}{neue LCO \texttt{NF} von Jean-Marie Pacquet
-% übernommen und ergänzt}
+% übernommen und ergänzt}^^A
% \changes{v3.04}{2009/06/26}{neue LCO \texttt{USletter2w} in Zusammenarbeit
-% mit Engelbert Buxbaum und Richard Ar\`es geschaffen}
+% mit Engelbert Buxbaum und Richard Ar\`es geschaffen}^^A
% \changes{v3.04}{2009/06/29}{neue LCO \texttt{UScommercial9DW} für Papier im
% Format letter oder legal in Umschlägen im Format commercial No.\,9 mit
-% zwei Fenstern}
+% zwei Fenstern}^^A
% \changes{v3.04}{2009/06/30}{neue LCO \texttt{UScommercial9} für Papier im
% Format letter oder legal in Umschlägen im Format commercial No.\,9 mit
-% einem Fenster auf Basis von \texttt{http://www.envelopesuperstore.com/}}
-% \changes{v3.04}{2009/06/26}{seit langem existierende LCO \texttt{visualize}
-% zur Visualisierung einiger Pseudolängen aufgenommen}
+% einem Fenster auf Basis von
+% \texttt{http://www.envelopesuperstore.com/}}^^A
+% \changes{v3.04}{2009/06/26}{seit langem existierende LCO \texttt{visualize}^^A
+% zur Visualisierung einiger Pseudolängen aufgenommen}^^A
+% \changes{v3.17}{2015/02/17}{neue LCOs \texttt{DIN5008A} und
+% \texttt{DIN5008B}}^^A
% \begin{macrocode}
\ProvidesFile{%
%<visualize> visualize%
%<DIN> DIN%
+%<5008> 5008%
+%<A> A%
+%<B> B%
%<DINmoretext> DINmtext%
%<SN> SN%
%<SNold> SNold%
@@ -378,12 +384,23 @@
.lco}[\KOMAScriptVersion\space letter-class-option]
% \end{macrocode}
%
+% Manche \texttt{LCO}-Dateien bauen auf anderen auf:
+% \begin{macrocode}
+%<*5008>
+\LoadLetterOption{%
+%<A> DINmtext%
+%<B> DIN%
+}
+%</5008>
+% \end{macrocode}
+%
% \begin{macro}{\LCOWarningNoLine}
-% \changes{v2.95}{2006/03/24}{Neu}
+% \changes{v2.95}{2006/03/24}{Neu}^^A
% \begin{macro}{\LCOWarning}
-% \changes{v2.95}{2006/03/24}{Neu}
+% \changes{v2.95}{2006/03/24}{Neu}^^A
% Außerdem wird ein Makro benötigt, das analog zu |\ClassWarningNoLine| oder
% |\PackageWarningNoLine| funktioniert.
+%<*!5008>
\providecommand*\LCOWarningNoLine[2]{%
\LCOWarning{#1}{#2\@gobble}%
}
@@ -394,6 +411,7 @@
Letter class option #1 Warning: #2%
}%
}
+%</!5008>
% \end{macro}
% \end{macro}
%
@@ -411,6 +429,8 @@
% \texttt{lco}-Datei & Recherchiert von \\\hline\\[-1.6ex]
% DIN & mir \\
% DINmtext & mir \\
+% DIN5008A & mir \\
+% DIN5008B & mir \\
% KOMAold & mir \\
% SNleft & Roger Luethi \\
% SN & Roger Luethi \\
@@ -423,6 +443,7 @@
%
% Zunächst wird geprüft, ob überhaupt die richtige Klasse geladen ist.
% \begin{macrocode}
+%<*!5008>
\@ifundefined{scr@fromname@var}{%
\LCOWarningNoLine{%
%<DIN> DIN%
@@ -468,7 +489,7 @@
% Dann werden die Werte gesetzt.
% \begin{description}
% \item[ZIP-Code]
-% \changes{v3.03}{2009/03/04}{Bezeichner der Variablen \texttt{fromzipcode}
+% \changes{v3.03}{2009/03/04}{Bezeichner der Variablen \texttt{fromzipcode}^^A
% wird gesetzt}
% \begin{macrocode}
%<!KOMAold>\setkomavar*{fromzipcode}{%
@@ -478,7 +499,7 @@
%<USletter2w|UScommercial9|UScommercial9DW> US}
% \end{macrocode}
% \item[Faltmarken]
-% \changes{v2.97e}{2007/11/20}{Die neuen Faltmarken werden berücksichtigt.}
+% \changes{v2.97e}{2007/11/20}{Die neuen Faltmarken werden berücksichtigt.}^^A
% \begin{macrocode}
\@setplength{foldmarkhpos}{3.5mm}
\@setplength{tfoldmarkvpos}{%
@@ -526,14 +547,21 @@
%<UScommercial9DW> 3.625in}
% \end{macrocode}
% \changes{v3.03}{2009/06/25}{Anschriftfeld enthält laut Doku die
-% Rücksendeadresse, also machen wir das jetzt auch so}
+% Rücksendeadresse, also machen wir das jetzt auch so}^^A
% \begin{macrocode}
\@setplength{toaddrheight}{%
%<DIN|DINmoretext|SN|SwissLeft|KOMAold|NF> 45mm}
%<USletter2w> 1.17in}
%<UScommercial9|UScommercial9DW> 1.125in}
+%</!5008>
\@setplength{toaddrindent}{%
%<DIN|DINmoretext|SN|SwissLeft|KOMAold|USletter2w|UScommercial9|UScommercial9DW> \z@}
+%<*5008>
+ 5mm}
+\@setplength{locvpos}{%
+ \dimexpr\useplength{toaddrvpos}+\useplength{backaddrheight}}
+%</5008>
+%<*!5008>
%<NF> 10mm}
\@setplength{backaddrheight}{%
%<DIN|DINmoretext|SN|SwissLeft|KOMAold|NF> 5mm}
@@ -541,11 +569,19 @@
%<USletter2w|UScommercial9|UScommercial9DW>\KOMAoptions{backaddress=false}
\@setplength{specialmailindent}{\fill}
\@setplength{specialmailrightindent}{1em}
+%</!5008>
+%<*5008>
+\@setplength{specialmailindent}{\useplength{toaddrindent}}
+\@setplength{specialmailrightindent}{\z@}
+%</5008>
% \end{macrocode}
% \item[Absenderergänzung]
% \begin{macrocode}
\@setplength{locwidth}{%
%<DIN|DINmoretext|SN|SwissLeft|KOMAold|NF|USletter2w|UScommercial9|UScommercial9DW> \z@}
+%<5008> 75mm}
+%<5008>\@setplength{lochpos}{10mm}
+%<*!5008>
% \end{macrocode}
% \item[Kopf]
% \begin{macrocode}
@@ -555,6 +591,11 @@
%<NF> 15mm}
%<USletter2w> .36in}
%<UScommercial9|UScommercial9DW> .4375in}
+%</!5008>
+%<*5008>
+\@setplength{firstheadhpos}{%
+ \dimexpr \useplength{toaddrhpos}+\useplength{toaddrindent}}
+%</5008>
\@setplength{firstheadwidth}{%
%<KOMAold> \textwidth}
%<NF> 170mm}
@@ -566,6 +607,7 @@
\@addtoplength[2]{firstheadwidth}{\useplength{toaddrhpos}}
\fi
%</DIN|DINmoretext|SN|SwissLeft|UScommercial9>
+%<5008> \dimexpr 125mm-\useplength{firstheadhpos}}
%<*USletter2w>
\paperwidth}
\@addtoplength[-]{firstheadwidth}{.68in}
@@ -577,9 +619,15 @@
% \end{macrocode}
% \item[Fuß]
% \changes{v2.9u}{2005/03/05}{Der Fuß hat optional eine feste Position 16\,mm
-% über der unteren Papierkante.}
+% über der unteren Papierkante.}^^A
% \begin{macrocode}
-\@setplength{firstfootwidth}{\useplength{firstheadwidth}}
+%<!5008>\@setplength{firstfootwidth}{\useplength{firstheadwidth}}
+%<*5008>
+\@setplength{firstfoothpos}{%
+ \dimexpr\useplength{toaddrhpos}+\useplength{toaddrindent}}%
+\@setplength{firstfootwidth}{%
+ \dimexpr \paperwidth-\useplength{toaddrhpos}-\useplength{firstfoothpos}}%
+%</5008>
%<KOMAold>\@setplength{firstfootvpos}{\paperheight}
%<KOMAold>\@addtoplength{firstfootvpos}{-2cm}
%<!KOMAold&!NF>\ifnum \scr@compatibility >\@nameuse{scr@v@2.9t}\relax
@@ -597,17 +645,20 @@
% \end{macrocode}
% \item[Geschäftszeile]
% \begin{macrocode}
-\@setplength{refvpos}{%
+%<!(5008&B)>\@setplength{refvpos}{%
%<DIN|SN> 98.5mm}
%<DINmoretext> 80.5mm}
+%<5008&A> 79.4mm}
%<SwissLeft> 89mm}
%<KOMAold> 89.5mm}
%<NF> \useplength{tfoldmarkvpos}}
%<USletter2w> 3.1in}
%<UScommercial9|UScommercial9DW> 3.4375in}
\@setplength{refaftervskip}{%
-%<!KOMAold> \baselineskip}
+%<!KOMAold&!5008> \baselineskip}
%<KOMAold> 2\baselineskip}
+%<5008> 8.46mm}
+%<*!5008>
% \end{macrocode}
% Bei der Breite der Geschäftszeile brauchen wir wieder eine Sonderlösung,
% damit die Option "`wide"' auch später noch gesetzt werden kann. Also
@@ -626,7 +677,7 @@
% \end{description}
% Es folgen ggf. noch zusätzliche Änderungen.
% \changes{v3.13b}{2014/10/04}{\cs{@firsthead} existiert nicht mehr, daher nun
-% mit einem neu geschaffenen \emph{hook}}%^^A
+% mit einem neu geschaffenen \emph{hook}}^^A
% \begin{macrocode}
%<*DINmoretext>
\def\scr@default@firsthead@fromaddress@hook{\def\\{,\ \@gobble}}
@@ -712,6 +763,79 @@
%</KOMAold>
% \end{macrocode}
%
+% Und für \texttt{DIN5008} braucht es dann noch einige zusätzliche
+% Einstellungen:
+% \begin{macrocode}
+%</!5008>
+%<*5008>
+\@newplength{specialmailheight}
+\@setplength{specialmailheight}{12.7mm}
+\areaset[5mm]{165mm}{233mm}
+\KOMAoptions{%
+ fromalign=locationleft,
+ addrfield=topaligned,
+ refline=narrow,
+ parskip=full
+}
+\l@addto@macro\@PapersizeWarning{%
+ \begingroup
+ \@tempswafalse
+ \ifdim\oddsidemargin<\dimexpr 25mm-1in-1pt\relax\@tempswatrue\else
+ \ifdim\oddsidemargin>\dimexpr 25mm-1in+1pt\relax\@tempswatrue\fi\fi
+ \ifdim\textwidth<\dimexpr \paperwidth-45mm-1pt\relax\@tempswatrue\else
+ \ifdim\textwidth>\dimexpr \paperwidth-45mm+1pt\relax\@tempswatrue\fi\fi
+ \if@tempswa
+ \LCOWarning{DIN5008%
+%<A> A%
+%<B> B%
+ }{%
+ DIN5008 orders exact margins and text\MessageBreak
+ width. Without following these values,\MessageBreak
+ your document does not conform DIN5008.\MessageBreak
+ You should use, e.g.,\MessageBreak
+ \space\string\areaset[5mm]{%
+ \the\dimexpr \paperwidth-45mm\relax}{%
+ \the\dimexpr 1.414\dimexpr \paperwidth-45mm\relax\relax}\MessageBreak
+ to follow the norm
+ }%
+ \fi
+ \ifdim \dimexpr\parskip\relax=\dimexpr\baselineskip\relax\else
+ \LCOWarning{DIN5008%
+%<A> A%
+%<B> B%
+ }{%
+ DIN5008 orders paragraph separation by\MessageBreak
+ exactly one line. Without this, your\MessageBreak
+ document does not conform DIN5008.\MessageBreak
+ You shoud use, e.g.,\MessageBreak
+ \space\string\KOMAoption{parskip}{full}\MessageBreak
+ to follow the norm
+ }%
+ \fi
+ \endgroup
+}
+\renewcommand{\backaddr@format}[1]{\hspace*{\useplength{toaddrindent}}%
+ \parbox[t][\useplength{backaddrheight}][t]%
+ {\dimexpr\useplength{toaddrwidth}-\useplength{toaddrindent}}%
+ {\strut\ignorespaces #1\ifhmode\unskip\strut\fi}%
+}
+\renewcommand{\specialmail@format}[1]{%
+ \parbox[t][\useplength{specialmailheight}][t]%
+ {\dimexpr\useplength{toaddrwidth}
+ -\useplength{specialmailindent}
+ -\useplength{specialmailrightindent}}%
+ {\strut\ignorespaces #1\ifhmode\unskip\strut\fi}%
+}
+\setkomafont{specialmail}{\sffamily\fontsize{10pt}{12pt}\selectfont}
+\setkomafont{backaddress}{\sffamily\fontsize{8pt}{10pt}\selectfont}
+\setkomafont{addressee}{\sffamily\fontsize{10pt}{12pt}\selectfont}
+\setkomafont{fromname}{\sffamily\fontsize{10pt}{12pt}\selectfont}
+\setkomafont{fromaddress}{\sffamily\fontsize{10pt}{12pt}\selectfont}
+\setkomafont{refvalue}{\sffamily\fontsize{10pt}{12pt}\selectfont}
+\let\raggedsignature\raggedright
+%</5008>
+% \end{macrocode}
+%
% \iffalse
%</!visualize>
%<*visualize>
@@ -895,7 +1019,7 @@
% \end{macrocode}
% \end{macro}
% \begin{macro}{\showfield@head}
-% \changes{v3.05}{2009/11/09}{neue Pseudo-Länge \texttt{firstheadhpos}
+% \changes{v3.05}{2009/11/09}{neue Pseudo-Länge \texttt{firstheadhpos}^^A
% beachtet}
% das Feld \texttt{head} für den Kopfbereich des Briefbogens:
% \begin{macrocode}
@@ -925,7 +1049,7 @@
% \end{macrocode}
% \end{macro}
% \begin{macro}{\showfield@foot}
-% \changes{v3.05}{2009/11/09}{neue Pseudo-Länge \texttt{firstfoothpos}
+% \changes{v3.05}{2009/11/09}{neue Pseudo-Länge \texttt{firstfoothpos}^^A
% beachtet}
% das Feld \texttt{foot} für den Fußbereich des Briefbogens:
% \begin{macrocode}