diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrknpap.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/scrknpap.dtx | 345 |
1 files changed, 262 insertions, 83 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrknpap.dtx b/Master/texmf-dist/source/latex/koma-script/scrknpap.dtx index 9738ada9edf..c9a515f9c59 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrknpap.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrknpap.dtx @@ -1,4 +1,4 @@ -% \CheckSum{1716} +% \CheckSum{1848} % \iffalse meta-comment % ====================================================================== % scrknpap.dtx @@ -58,7 +58,7 @@ %%% From File: scrknpap.dtx %<*driver> % \fi -\ProvidesFile{scrknpap.dtx}[2006/12/07 v2.96a KOMA-Script (note-paper)] +\ProvidesFile{scrknpap.dtx}[2007/07/06 v2.97c KOMA-Script (note-paper)] % \iffalse \documentclass{scrdoc} \usepackage[english,ngerman]{babel} @@ -348,6 +348,7 @@ % % \begin{option}{locfield} % \changes{v2.8q}{2001/10/09}{Neu} +% \changes{v2.97c}{2007/03/30}{vertauschte Bedeutung korrigiert} % Mit Hilfe der Optione \texttt{locfield} kann der Platz neben dem Adressfeld % groß oder klein gewählt werden. % \begin{macro}{\if@bigloc} @@ -366,10 +367,10 @@ \KOMA@set@ncmdkey{locfield}{@tempa}{{wide}{0},{narrow}{1}}{#1}% \ifcase\@tempa \endgroup - \@biglocfalse + \@bigloctrue \else \endgroup - \@bigloctrue + \@biglocfalse \fi } \DeclareOption{wlocfield}{\@ObsoleteOption{locfield=wide}} @@ -444,6 +445,19 @@ % verkneifen.}. % Deshalb kann alternativ zum Einschalten des Betreff-Titels hier auch % dies aktiviert werden. +% \begin{macro}{\subject@format} +% \changes{v2.97c}{2007/07/06}{neu (intern)} +% Das Format des Betreffs kann geändert werden. +% \begin{macrocode} +\newcommand{\subject@format}[1]{#1} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\raggedsubject} +% \changes{v2.97c}{2007/07/06}{neu (intern)} +% \begin{macrocode} +\newcommand*{\raggedsubject}{} +% \end{macrocode} +% \end{macro} % \begin{macro}{\if@subj} % \begin{macro}{\@subjtrue} % \begin{macro}{\@subjfalse} @@ -456,25 +470,34 @@ \newif\if@subjafter \KOMA@key{subject}{% \begingroup - \KOMA@set@ncmdkey{locfield}{@tempa}{% + \KOMA@set@ncmdkey{subject}{@tempa}{% {titled}{0},% {untitled}{1},% {afteropening}{2},% - {beforeopening}{3}% + {beforeopening}{3},% + {underlined}{4},% + {left}{5},% + {right}{6},% + {centered}{7}% }{#1}% \ifcase\@tempa - \endgroup - \@subjtrue + \aftergroup\@subjtrue \or - \endgroup - \@subjfalse + \aftergroup\@subjfalse \or - \endgroup - \@subjaftertrue - \else - \endgroup - \@subjafterfalse + \aftergroup\@subjaftertrue + \or + \aftergroup\@subjafterfalse + \or + \aftergroup\let\aftergroup\subject@format\aftergroup\underline + \or + \aftergroup\let\aftergroup\raggedsubject\aftergroup\raggedright + \or + \aftergroup\let\aftergroup\raggedsubject\aftergroup\raggedleft + \or + \aftergroup\let\aftergroup\raggedsubject\aftergroup\centering \fi + \endgroup } % \end{macrocode} % \end{macro} @@ -601,6 +624,8 @@ % \begin{macro}{\@firsthead} % \begin{macro}{\@gen@firsthead} % \changes{v2.8q}{2002/01/28}{Neu} +% \changes{v2.97c}{2007/05/08}{Dicke der Linie konfigurierbar} +% \changes{v2.97c}{2007/05/08}{Schrift (Farbe) der Linie konfigurierbar} % Bei \texttt{scrlttr2} gibt es die üblichen Seitenstile, allerdings % ist deren Verhalten etwas anders als gewohnt. Dies ist in den % Besonderheiten für Briefen begründet. Zunächst die Voreinstellung für @@ -643,23 +668,26 @@ % \end{macrocode} % Hat \verb|\@rulefrom| den nummerischen Wert 1, so soll direkt auf den % Absender eine Linie folgen. Die Länge dieser Linie kann vom Anwender -% bestimmt oder automatisch gewählt werden. Es wird dabei die -% Pseudo-Länge \texttt{fromrulewidth} verwendet. Ist diese negativ, -% so wird sie automatisch bestimmt. Bei der automatischen -% Längenbestimmung wird dafür gesorgt, dass die Linie nicht bis in das -% Logo ragt, das eventuell rechtsbündig neben dem Absender steht: +% bestimmt oder automatisch gewählt werden. Es werden dabei die +% Pseudo-Längen \texttt{fromrulewidth} und \texttt{fromrulethickness} +% verwendet. Ist \texttt{fromrulewidth} negativ, so wird sie automatisch +% bestimmt. Bei der automatischen Längenbestimmung wird dafür gesorgt, dass +% die Linie nicht bis in das Logo ragt, das eventuell rechtsbündig neben dem +% Absender steht: % \begin{macrocode} {% \ifnum\@rulefrom=1\\[-.5\baselineskip]% - \setlength{\@tempdima}{\useplength{fromrulewidth}}% - \ifdim\@tempdima=\z@ - \setlength{\@tempdima}{\textwidth}% - \if@logo - \settowidth{\@tempdimb}{\usekomavar{fromlogo}}% - \addtolength{\@tempdima}{-\@tempdimb}% + \usekomafont{fromrule}{% + \setlength{\@tempdima}{\useplength{fromrulewidth}}% + \ifdim\@tempdima=\z@ + \setlength{\@tempdima}{\textwidth}% + \if@logo + \settowidth{\@tempdimb}{\usekomavar{fromlogo}}% + \addtolength{\@tempdima}{-\@tempdimb}% + \fi \fi - \fi - \expandafter\rule\expandafter{\the\@tempdima}{.4pt}% + \expandafter\rule\expandafter{\the\@tempdima}{% + \useplength{fromrulethickness}}}% \fi }% \\ @@ -684,11 +712,13 @@ % stehen hat. Die entsprechende Berechnung kann also entfallen. % \begin{macrocode} \ifnum\@rulefrom=2\\[-.5\baselineskip]% - \setlength{\@tempdima}{\useplength{fromrulewidth}}% - \ifdim\@tempdima=\z@ - \setlength{\@tempdima}{\textwidth}% - \fi - \expandafter\rule\expandafter{\the\@tempdima}{.4pt}% + \usekomafont{fromrule}{% + \setlength{\@tempdima}{\useplength{fromrulewidth}}% + \ifdim\@tempdima=\z@ + \setlength{\@tempdima}{\textwidth}% + \fi + \expandafter\rule\expandafter{\the\@tempdima}{% + \useplength{fromrulethickness}}}% \fi \\ }% @@ -716,11 +746,13 @@ \usekomavar{fromname}% {% \ifnum\@rulefrom=1\\[-.5\baselineskip]% - \setlength{\@tempdima}{\useplength{fromrulewidth}}% - \ifdim\@tempdima=\z@ - \setlength{\@tempdima}{\textwidth}% - \fi - \expandafter\rule\expandafter{\the\@tempdima}{.4pt}% + \usekomafont{fromrule}{% + \setlength{\@tempdima}{\useplength{fromrulewidth}}% + \ifdim\@tempdima=\z@ + \setlength{\@tempdima}{\textwidth}% + \fi + \expandafter\rule\expandafter{\the\@tempdima}{% + \useplength{fromrulethickness}}}% \fi }% \\ @@ -732,11 +764,13 @@ \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% \ifnum\@rulefrom=2\\[-.5\baselineskip]% - \setlength{\@tempdima}{\useplength{fromrulewidth}}% - \ifdim\@tempdima=\z@ - \setlength{\@tempdima}{\textwidth}% - \fi - \expandafter\rule\expandafter{\the\@tempdima}{.4pt}% + \usekomafont{fromrule}{% + \setlength{\@tempdima}{\useplength{fromrulewidth}}% + \ifdim\@tempdima=\z@ + \setlength{\@tempdima}{\textwidth}% + \fi + \expandafter\rule\expandafter{\the\@tempdima}{% + \useplength{fromrulethickness}}}% \fi \\ }% @@ -757,15 +791,17 @@ \usekomavar{fromname}% {% \ifnum\@rulefrom=1\\[-.5\baselineskip]% - \setlength{\@tempdima}{\useplength{fromrulewidth}}% - \ifdim\@tempdima=\z@ - \setlength{\@tempdima}{\textwidth}% - \if@logo - \settowidth{\@tempdimb}{\usekomavar{fromlogo}}% - \addtolength{\@tempdima}{-\@tempdimb}% + \usekomafont{fromrule}{% + \setlength{\@tempdima}{\useplength{fromrulewidth}}% + \ifdim\@tempdima=\z@ + \setlength{\@tempdima}{\textwidth}% + \if@logo + \settowidth{\@tempdimb}{\usekomavar{fromlogo}}% + \addtolength{\@tempdima}{-\@tempdimb}% + \fi \fi - \fi - \expandafter\rule\expandafter{\the\@tempdima}{.4pt}% + \expandafter\rule\expandafter{\the\@tempdima}{% + \useplength{fromrulethickness}}}% \fi }% \\ @@ -777,11 +813,13 @@ \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% \ifnum\@rulefrom=2\\[-.5\baselineskip]% - \setlength{\@tempdima}{\useplength{fromrulewidth}}% - \ifdim\@tempdima=\z@ - \setlength{\@tempdima}{\textwidth}% - \fi - \expandafter\rule\expandafter{\the\@tempdima}{.4pt}% + \usekomafont{fromrule}{% + \setlength{\@tempdima}{\useplength{fromrulewidth}}% + \ifdim\@tempdima=\z@ + \setlength{\@tempdima}{\textwidth}% + \fi + \expandafter\rule\expandafter{\the\@tempdima}{% + \useplength{fromrulethickness}}}% \fi \\ }% @@ -808,6 +846,14 @@ % % \subsubsection{Schrifteinstellungen für den Briefbogen} % +% \begin{KOMAfont}{foldmark} +% \changes{v2.97c}{2007/05/08}{Neu} +% Die Schrift (hier ist die Farbe der entscheidende Faktor) der Faltmarken. +% \begin{macrocode} +\newkomafont{foldmark}{} +% \end{macrocode} +% \end{KOMAfont} +% % \begin{KOMAfont}{fromname} % \changes{v2.95}{2006/03/23}{jetzt mit \cs{newkomafont}} % Der Absendername im Briefkopf. @@ -824,6 +870,15 @@ % \end{macrocode} % \end{KOMAfont} % +% \begin{KOMAfont}{fromrule} +% \changes{v2.97c}{2007/05/08}{Neu} +% Die Schrift (hier ist die Farbe der entscheidende Faktor) der Linie im +% Absender. +% \begin{macrocode} +\newkomafont{fromrule}{} +% \end{macrocode} +% \end{KOMAfont} +% % \begin{KOMAfont}{backaddress} % \changes{v2.95}{2006/03/23}{jetzt mit \cs{newkomafont}} % Die Rücksendeadresse. @@ -832,6 +887,54 @@ % \end{macrocode} % \end{KOMAfont} % +% \begin{KOMAfont}{specialmail} +% \changes{v2.97c}{2007/07/06}{Neues Font-Element} +% Die Versandart. +% \begin{macrocode} +\newkomafont{specialmail}{} +% \end{macrocode} +% \end{KOMAfont} +% +% \begin{KOMAfont}{addressee} +% \changes{v2.97c}{2007/07/06}{Neues Font-Element} +% Die komplette Anschrift. +% \begin{macrocode} +\newkomafont{addressee}{} +% \end{macrocode} +% \end{KOMAfont} +% +% \begin{KOMAfont}{toname} +% \changes{v2.97c}{2007/07/06}{Neues Font-Element} +% Der Name des Empfängers in der Anschrift. +% \begin{macrocode} +\newkomafont{toname}{} +% \end{macrocode} +% \end{KOMAfont} +% +% \begin{KOMAfont}{toaddress} +% \changes{v2.97c}{2007/07/06}{Neues Font-Element} +% Die Adresse des Empfängers in der Anschrift. +% \begin{macrocode} +\newkomafont{toaddress}{} +% \end{macrocode} +% \end{KOMAfont} +% +% \begin{KOMAfont}{refname} +% \changes{v2.97c}{2007/05/14}{Neues Font-Element} +% Die Feldnamen in der Geschäftszeile. +% \begin{macrocode} +\newkomafont{refname}{\sffamily\scriptsize} +% \end{macrocode} +% \end{KOMAfont} +% +% \begin{KOMAfont}{refvalue} +% \changes{v2.97c}{2007/05/14}{Neues Font-Element} +% Die Feldwerte in der Geschäftszeile. +% \begin{macrocode} +\newkomafont{refvalue}{\sffamily\scriptsize} +% \end{macrocode} +% \end{KOMAfont} +% % \begin{KOMAfont}{title} % \changes{v2.95}{2006/03/23}{jetzt mit \cs{newkomafont}} % Der Brieftitel. @@ -868,6 +971,14 @@ % \end{macrocode} % \end{macro} % \end{macro} +% \begin{macro}{\ltr@len@foldmarkthickness} +% \changes{2.97c}{2007/05/08}{Neu} +% Dicke der Faltmarken. +% \begin{macrocode} +\@newplength{foldmarkthickness} +\@setplength{foldmarkthickness}{.2pt} +% \end{macrocode} +% \end{macro} % \begin{macro}{\ltr@len@toaddrvpos} % \changes{v2.8q}{2001/10/06}{Neu} % Abstand des Adressfensters von der oberen Papierkante. @@ -1006,8 +1117,18 @@ % \changes{v2.8q}{2002/01/28}{Neu} % Die Länge einer eventuell gesetzten Linie im Absender. Negative % Werte bedeuten, dass die Länge automtaisch bestimmt wird. +% \begin{macrocode} \@newplength{fromrulewidth} \@setplength{fromrulewidth}{0pt} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ltr@len@fromrulethickness} +% \changes{v2.97c}{2007/05/08}{Neue Pseudolänge \texttt{fromrulewidth}} +% Die Dicke einer eventuell gesetzte Linie im Absender. +% \begin{macrocode} +\@newplength{fromrulethickness} +\@setplength{fromrulethickness}{.4pt} +% \end{macrocode} % \end{macro} % % @@ -1111,6 +1232,8 @@ % \changes{v2.8n}{2001/09/07}{Neu} % \changes{v2.95}{2006/06/06}{\cs{vskip} in \cs{vb@t@z} verschoben, damit es % vom Satzspiegel unabhängig wird} +% \changes{v2.97c}{2007/05/08}{Dicke konfigurierbar} +% \changes{v2.97c}{2007/05/08}{Schrift (Farbe) konfigurierbar} % Das geht am einfachsten, wenn wir auch einen Befehl haben, mit dem man eine % einzelne Faltmarke relativ zur aktuellen Position setzen kann. Dies % geschieht mit Hilfe von |\rlap|, damit die horizontale Position unverändert @@ -1118,9 +1241,12 @@ % und die Länder der Marke übergeben. % \begin{macrocode} \newcommand*{\@foldmark}[2]{% - \vb@t@z{\vskip #1% + \vb@t@z{\setlength{\@tempdima}{#1}% + \addtolengthplength[-.5]{\@tempdima}{foldmarkthickness}% + \vskip \@tempdima \rlap{\move@topl\hskip\useplength{foldmarkhpos}% - \rule{#2}{.2pt}}}% + \usekomafont{foldmark}{% + \rule{#2}{\useplength{foldmarkthickness}}}}}% \ignorespaces% } \newcommand*{\@foldmarks}{% @@ -1310,15 +1436,18 @@ \ifkomavarempty{specialmail}{}{% \vbox{\hsize\useplength{toaddrwidth}% \noindent\hspace*{\useplength{specialmailindent}}% - \underline{\usekomavar{specialmail}}% + \specialmail@format{% + \usekomafont{specialmail}\usekomavar{specialmail}}% \hspace*{\useplength{specialmailrightindent}}}% }% \vfil% \noindent\hskip\useplength{toaddrindent}% \setlength{\@tempdima}{\useplength{toaddrwidth}}% \addtolengthplength[-2]{\@tempdima}{toaddrindent}% - \vbox{\hsize\@tempdima% - \noindent\usekomavar{toname}\\\usekomavar{toaddress}}% + \vbox{\hsize\@tempdima\raggedright + \usekomafont{addressee}{% + \usekomafont{toname}{\usekomavar{toname}\\}% + \usekomafont{toaddress}{\usekomavar{toaddress}}}}% \vfil\null}% {address field}{toaddrheight}% {\begin{letter} or you\MessageBreak @@ -1331,6 +1460,15 @@ \fi } % \end{macrocode} +% \begin{macro}{\specialmail@format} +% \changes{v2.97c}{2007/07/06}{neu (intern)} +% Die Anweisung, die für das Aussehen der Versandart zuständig ist. +% \begin{macrocode} +\newcommand*{\specialmail@format}[1]{} +\let\specialmail@format\underline +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\@ogobble} % \changes{v2.8q}{2002/01/22}{Neu} % In obiger Definition wird das Makro \cs{@ogobble} verwendet, um @@ -1406,6 +1544,7 @@ % \begin{macro}{\@datefield} % \changes{v2.8q}{2002/01/14}{Schalter \cs{if@tempwa} wird bereits hier auf % \texttt{true} gesetzt} +% \changes{v2.97c}{2007/05/14}{Neue Fontelemente} % Je nachdem, welche Felder definiert sind, muss eine geschäftsmäßiger % Standardbrief oder ein eher persönliches Aussehen gewählt werden. % \begin{macro}{\@set@reffield} @@ -1417,12 +1556,12 @@ % \begin{macrocode} \newcommand*{\@set@reffield}[1]{% \ifkomavarempty{#1}{}{% - \settowidth{\@tempdima}{\strut\usekomavar{#1}}% - \setbox0\hbox{\strut\scriptsize\sffamily\usekomavar*{#1}}% + \settowidth{\@tempdima}{\strut\usekomafont{refvalue}\usekomavar{#1}}% + \setbox0\hbox{\strut\usekomafont{refname}\usekomavar*{#1}}% \ifdim \@tempdima<\wd0\setlength{\@tempdima}{\wd0}\fi \if@tempswa\enskip\hfill\fi \parbox[t]{\@tempdima}{\noindent\raggedright - \strut\box0\\\strut\usekomavar{#1}}% + \strut\box0\\\usekomafont{refvalue}\strut\usekomavar{#1}}% \@tempswatrue }% } @@ -1487,6 +1626,7 @@ % Dokumentation angepasst} % \changes{v2.9l}{2003/01/28}{Berechnung von \texttt{refhpos} hinzugefügt} % \changes{v2.95}{2006/03/23}{Absatzeinzug mit \cs{setparsizes} abschalten} +% \changes{v2.97c}{2007/05/14}{Neue Font-Elemente} % \begin{macrocode} \newcommand*{\@datefield}{{% \setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative @@ -1546,7 +1686,25 @@ % \begin{macrocode} \rlap{\noindent\move@topl\hskip\useplength{refhpos}% \vbox{\hsize\useplength{refwidth}% - \noindent\@set@reffields + \noindent\@set@reffields% +% \end{macrocode} +% Seit Version~2.97c wird hier auch noch getestet, ob die Geschäftszeile +% möglicherweise mit zu großer Schrift gesetzt wird. +% \begin{macrocode} + \if@tempswa + \setbox0\hbox{\usekomafont{refname}\strutbox}% + \ifdim\ht0>\ht\strutbox + \ClassWarningNoLine{scrlttr}{% + Font element `refname' should not be larger than + \string\normalsize!}% + \fi + \setbox0\hbox{\usekomafont{refvalue}\strutbox}% + \ifdim\ht0>\ht\strutbox + \ClassWarningNoLine{scrlttr}{% + Font element `refvalue' should not be larger than + \string\normalsize!}% + \fi + \fi \ifkomavarempty{date}{% \if@tempswa \typeout{Reference line(s): with fields but without date}% @@ -1557,12 +1715,13 @@ }{% \if@tempswa \typeout{Reference line(s): with fields and date}% - \settowidth{\@tempdima}{\strut\usekomavar{date}}% - \setbox0\hbox{\scriptsize\sffamily\usekomavar*{date}}% + \settowidth{\@tempdima}{\strut + \usekomafont{refvalue}\usekomavar{date}}% + \setbox0\hbox{\usekomafont{refname}\usekomavar*{date}}% \ifdim \@tempdima<\wd0\setlength{\@tempdima}{\wd0}\fi \enskip\hfill \parbox[t]{\@tempdima}{\noindent\raggedright% - \strut\box0\\\strut\usekomavar{date}}% + \strut\box0\\\strut\usekomafont{refvalue}\usekomavar{date}}% \else \typeout{Reference line: only place and date}% \enskip\hfill @@ -1612,15 +1771,22 @@ \ifkomavarempty{subject}{% \typeout{Subject: no}% }{% - \if@subjafter% - \typeout{Subject: after opening}% - \centering% - \else% - \typeout{Subject: before opening}% - \noindent% - \fi% - {\usekomafont{subject}\if@subj\@hangfrom{\usekomavar*{subject}}\fi% - {\usekomavar{subject}}\par}\vskip2\baselineskip% + \ifx\raggedsubject\@empty + \if@subjafter% + \typeout{Subject: after opening}% + \let\raggedsubject\centering% + \else% + \typeout{Subject: before opening}% + \def\raggedsubject{\noindent\@hangfrom}% + \fi% + \fi + {% + \usekomafont{subject}% + \show\raggedsubject + \raggedsubject{\if@subj \subject@format{\strut\ignorespaces + \usekomavar*{subject}}\fi}% + \subject@format{\strut\ignorespaces\usekomavar{subject}}\par + }\vskip2\baselineskip% }% }% } @@ -1716,12 +1882,6 @@ % viele Briefe erzeugt werden. Eine der Abweichungen von der % Standardklasse besteht darin, dass als optionales Argument Optionen % gesetzt werden können. -% \begin{macro}{\stopletter} -% \begin{macro}{\@processto} -% \changes{v2.9r}{2004/06/16}{robust gegen leeren Empfänger} -% \begin{macro}{\@xproc} -% Die Adresse, die als Argument der Briefumgebung übergeben wird, muss in Name -% und Adresse zerlegt werden. % \begin{macrocode} \newenvironment{letter}[2][]{% % \end{macrocode} @@ -1746,6 +1906,15 @@ }{% \stopletter\@@par\pagebreak\@@par% } +% \end{macrocode} +% \begin{macro}{\stopletter} +% Damit man Material am Ende des Briefes einschleusen kann. +% \begin{macro}{\@processto} +% \changes{v2.9r}{2004/06/16}{robust gegen leeren Empfänger} +% \begin{macro}{\@xproc} +% Die Adresse, die als Argument der Briefumgebung übergeben wird, muss in Name +% und Adresse zerlegt werden. +% \begin{macrocode} \newcommand*{\stopletter}{} \newcommand{\@processto}[1]{% \ifx\relax#1\relax\else @@ -1760,6 +1929,16 @@ % \end{macro} % \end{macro} % \end{macro} +% \begin{macro}{\flushbottom} +% \changes{v2.97c}{2007/05/17}{neue Erweiterung} +% Das Verhalten muss auf der letzten Briefseite wieder \cs{raggedbottom} +% ähneln. Das wird über \cs{stopletter} erreicht. +% \begin{macrocode} +\g@addto@macro\flushbottom{% + \g@addto@macro\stopletter{\vskip \z@\@plus.0001fil\relax}% +} +% \end{macrocode} +% \end{macro} % \end{environment} % % \begin{macro}{\AtBeginLetter} |