diff options
author | Karl Berry <karl@freefriends.org> | 2013-11-24 22:39:41 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-11-24 22:39:41 +0000 |
commit | 7d8d8f2338990bb460545d4ca8b2738b0d3bb25e (patch) | |
tree | 8b8a228ae53884bb0e743634ff0d889f7fa074dc /Master/texmf-dist/source/latex/isodoc | |
parent | 6e0f34e245fab47908d119308f36b78b2dbc833d (diff) |
isodoc (24nov13)
git-svn-id: svn://tug.org/texlive/trunk@32230 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/isodoc')
-rw-r--r-- | Master/texmf-dist/source/latex/isodoc/isodoc.dtx | 245 |
1 files changed, 151 insertions, 94 deletions
diff --git a/Master/texmf-dist/source/latex/isodoc/isodoc.dtx b/Master/texmf-dist/source/latex/isodoc/isodoc.dtx index 861f1e8669a..520ad047246 100644 --- a/Master/texmf-dist/source/latex/isodoc/isodoc.dtx +++ b/Master/texmf-dist/source/latex/isodoc/isodoc.dtx @@ -32,7 +32,7 @@ Execute the inst script with the --help option for more information. %<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<class>\ProvidesClass{isodoc}% %<*class> - [2013/08/27 v1.00 isodoc class for letters and invoices] + [2013/08/27 v1.01 isodoc class for letters and invoices] %</class> %<class>\ifx\pdfoutput\undefined\else% %<class>\ifnum\pdfoutput=1\else\ClassError{isodoc}{Compile me with pdflatex or xelatex!}{} @@ -45,6 +45,7 @@ Execute the inst script with the --help option for more information. \usepackage[a4paper,margin=20mm,left=50mm,nohead]{geometry} \usepackage{hyperref} %\OnlyDescription +\IndexMin=1580pt \RecordChanges \CodelineIndex\EnableCrossrefs \hypersetup{ @@ -110,11 +111,11 @@ Execute the inst script with the --help option for more information. % \changes{v0.02}{2007/04/05}{ % - added options phoneprefix, routingno, logoaddress\\ % - accountname now optional\\ -% - accountnumber -$>$ accountno\\ +% - accountnumber $\Rightarrow$ accountno\\ % - german and french translations corrected\\ % - indents removed in header fields\\ % - expect printer to have more unprintable border\\ -% - ascriptiontext -$>$ accountnametext for dutch\\ +% - ascriptiontext $\Rightarrow$ accountnametext for dutch\\ % - Interdocument language changes now work\\ % - Vatno, if defined, is reported with accountdata\\ % - country in returnaddress now separated with dot\\ @@ -163,13 +164,14 @@ Execute the inst script with the --help option for more information. % } % \changes{v0.08}{2010/08/24}{ % - now compatible with XeLaTeX\\ -% - made independent of babel/polyglossia packages: user must Require those, if needed\\ +% - made independent of babel and polyglossia packages: +% user must Require those, if needed\\ % - handling of font and encoding now left to the user\\ -% - language names same as in babel (norwegian -$>$ norsk)\\ +% - language names same as in babel (norwegian $\Rightarrow$ norsk)\\ % - option language added\\ -% - option english is synonym for language=UKenglish\\ -% - option american is synonym for language=USenglish\\ -% - language options /only/ change keyword translations\\ +% - option english is synonym for language-UKenglish\\ +% - option american is synonym for language-USenglish\\ +% - language options \textsl{only} change keyword translations\\ % - new translations added: italian, spanish, catalan, serbian\\ % - option fontpackage removed\\ % - option cityzip moves zip behind city\\ @@ -196,19 +198,20 @@ Execute the inst script with the --help option for more information. % \changes{v1.00}{2013/08/27}{ % This version has incompatibilites with previous versions:\\ % - languages renamed according to ISO 3166\\ -% - options dutch, english, american, german, french now obsolete, use\\ -% language option with argument nl-NL, en-GB, en-US, de-DE, fr-FR\\ +% - options dutch, english, american, german, french now obsolete, use +% language option with argument nl-NL, en-GB, en-US, de-DE, fr-FR % respectively.\\ % - localbank option removed, as IBAN is now used for all accounts\\ -% - footer fields appear in the order in which they were defined with\\ +% - footer fields appear in the order in which they were defined with % the footorder option.\\ -% - the autograph command has been completely redefined and simplified.\\ -% Other changes:\\ +% - the autograph command has been completely redefined and simplified. +% } +% \changes{v1.00 continued}{2013/08/28}{ % - documentation improved\\ -% - empty foot fields can be added with extra semicolons in the\\ +% - empty foot fields can be added with extra semicolons in the % footorder option.\\ % - copyto option added\\ -% - vertical bar in invoices is automatically extended for\\ +% - vertical bar in invoices is automatically extended for % multiline entries.\\ % - vertical bar in invoices can be suppressed with option novertical\\ % - if class option twoside is set, letters and invoices start recto.\\ @@ -217,6 +220,17 @@ Execute the inst script with the --help option for more information. % - added pdfauthor and pdfcreator (isodoc) to pdf-comment\\ % - reorganized documentation directory and install script % } +% \changes{v1.01}{2013/11/22}{ +% - vattext was missing in all language files\\ +% - aus $\Rightarrow$ von; subjecttext $\Rightarrow$ empty for de-DE\\ +% - closing parts in minipages for better page break\\ +% - more comment on toname, today, language, subject\\ +% - moved contents of isodocsymbols.sty into isodoc.dtx and removed it\\ +% - empty subjectext generates bold subject line (habit in de-DE)\\ +% - page headings forced in one line\\ +% - more instructions for first line of address\\ +% - phone number prefix +nn\textbackslash, instead of +nn{-}- +% } % \DoNotIndex{% % \ , \", \', \@auxout, \AtBeginDocument, \AtEndDocument, \Cbox, \CurrentOption, % \DeclareOption, \DescribeMacro, \LARGE, \Large, \LoadClass, \ML, \NN, @@ -246,7 +260,7 @@ Execute the inst script with the --help option for more information. % % \maketitle % \begin{abstract}\noindent -% The \texttt{isodoc} class can be used for the preparation of letters, +% The |isodoc| class can be used for the preparation of letters, % invoices, and, in the future, similar documents. % Documents are set up with options, thus making the class easily adaptable to % user's wishes and extensible for other document types. @@ -259,21 +273,21 @@ Execute the inst script with the --help option for more information. % % This class is intended to be used for the preparation of letters and % invoices. Its starting point was Victor Eijkhout's NTG -% {\texttt{brief}} class\footnote{CTAN: ntgclass/briefdoc.pdf}, which -% implements the \textsc{nen 1026} standard. The \texttt{brief} class +% |brief| class\footnote{CTAN: ntgclass/briefdoc.pdf}, which +% implements the \textsc{nen 1026} standard. The |brief| class % does not provide facilities for invoices and it is not easily % extensible. % -% The goal for the \texttt{isodoc} class is to be extensible and easy to -% use by providing \textsl{key=value} configuration. Furthermore, texts +% The goal for the |isodoc| class is to be extensible and easy to +% use by providing |key=value| configuration. Furthermore, texts % that need to be placed on prescribed positions on the page (there are -% many such texts) are positioned by using the {\texttt{textpos}} +% many such texts) are positioned by using the {|textpos|} % package.\footnote{CTAN: textpos/textpos.pdf} This provides a very % robust construction of the page. % % The class itself contains many general definitions, but variable data, such as % opening, closing, -% address and many more, have to be defined using \textsl{key=value} +% address and many more, have to be defined using |key=value| % definitions, either in the document or % in a style file. The latter is indicated for definitions that don't vary on a % per document basis, such as your company name, address, email address and so @@ -359,10 +373,16 @@ Execute the inst script with the --help option for more information. % it-IT, es-ES, ca-ES, nb-NO, sr-RS; the hyphens in these names are % optional, so you can, for example, also write enGB.\NN % } +% The definitions for the languages are in language definition files named +% |isodoc-|\textsl{xx-YY}|.ldf|, where xx stands for the language, and YY for regional +% variants. These files contain definitions like: +% +% |\gdef\phonetext{telephone}| +% % If you are not satisfied with isodoc's choices for your language, you can change those, -% but \textsl{only after loading the language in the preamble}, i.e. you need to choose +% but \textsl{only after loading the language in the preamble}, \textsl{i.e.} you need to choose % your language in a style file or in the |\setupdocument| statement, because otherwise -% isodoc will overwrite your changes with the definition for the English language. +% isodoc will overwrite your changes with the definition for the |en-GB| (English) language. % % \OPTS{Logo}{Information about the sender is defined here. The logo, by % default, consists of a large company name on top a rule with, hanging under the rule, @@ -393,7 +413,7 @@ Execute the inst script with the --help option for more information. % country. With it, your country will be added to % return and logo addresses, your zip code will be % prefixed with your country code, telephone numbers will -% be prefixed with +31-- (or whatever your \T{areacode} +% be prefixed with |+31\,| (or whatever your \T{areacode} % option has been set to) instead of just a 0.\NN % } % @@ -418,7 +438,14 @@ Execute the inst script with the --help option for more information. % \T{addresswidth = ...}& The address window's width. The default is 70 mm (2 columns).\NN % \T{to = ...} & The addressee's address. New lines can be introduced with the \C{}\C{} % command; lines longer than 70 mm will cause extra -% newlines.\NN\relax +% newlines. The first part of this address, up to the first |\\|, +% is considered to be the name of the addressee, and is reported in +% the headings of page~2 and subsequent pages.\footnote{German users +% may want to create an address starting with \textsl{Herrn} on the +% first line and the addressee's name (\textsl{Hansen}) on line~2, +% and still have \textsl{Herrn Hansen} in the page header of page~2. +% You can do that by replacing the first |"\\"| with |"\newline\ "|.} +% \NN\relax % \T{[no]return} & Do or don't print a return address on top of the % addressee's address. This is useful if blank window envelopes % are used. The return address is composed from the @@ -462,13 +489,17 @@ Execute the inst script with the --help option for more information. % the default as this would make the date untraceable % from the document source only. However, you can force % the use of \C{today} by providing the string |today| -% for the argument.\NN +% (\textsl{not} |\today|!) for the argument.\NN % \T{forcedate = ...} & The restrictions of the |date| option can be overridden by % using the |forcedate| option instead; you can thus enter % anything you like for the date.\NN -% \T{subject = ...} & subject of this document; is placed raggedright under the other -% fields, over the full textwidth. Use newlines if you want to -% restrict the width of the text.\NN +% \T{subject = ...} & subject of this document; is placed under the other fields, +% and over the full text width, in a two-column table with +% "Subject:" (or the current language's equivalent) in the first +% column and the text, raggedright, in the second column. +% Use newlines if you want to restrict the width of the text. +% In some languages (|de-DE|) the "Subject:" is omitted and the +% subject text is typeset in bold face.\NN % } % % \OPTS{Opening and Closing}{A letter is started with an opening -- something @@ -515,19 +546,26 @@ Execute the inst script with the --help option for more information. % in the order defined in the \T{footorder} option; available fields, defined with options of % the same name, are currently \T{website}, \T{phone}, \T{cellphone}, \T{fax} and \T{email}.}{ % \T{[no]footer} & enables or disables printing a page footer; there is room -% for upto four fields, if you set five fields, the last +% for up to four fields, if you set five fields, the last % one will appear in the right margin.\NN % \T{footorder = ...} & changes the order of footer fields. The argument -% should be a semicolon (;) separated list of fieldnames. +% should be a semicolon (;) separated list of field names. % The default is \T{website;phone;cellphone;email}. Empty fields can % be inserted with extra |;|'s. \NN % \T{phoneprefix} & prefix for phone numbers. The default is `0'; will be changed -% into `+$<$areacode$>$-' if the \T{foreign} option is used.\NN -% \T{phone = ...} & if defined, and phone occurs in the footorder string, prints `phone' -% in the page footer, with the contents under it, prefixed with a~0 or, -% if the \T{foreign} option was used, the areacode (set with the -% \T{areacode} option.) Telephone numbers should thus be entered -% without a prefix.\NN +% into |+nn\,| (where |nn| is the area code) if the \T{foreign} option +% is used.\NN +% \T{phone = ...} & if defined\footnote{You \textsl{can} define the footer entries as +% an empty string, such as |phone=,| or |phone={},|; this may be +% useful in style files used by more than one user, each with +% their own phone number. If such a user forgets to use the +% |phone| key, the phone number will be displayed as +% \textsl{undefined} on a pink background.}, and phone occurs in +% the footorder string, prints `phone' in the page footer, with +% the contents under it, prefixed with a~0 or, if the \T{foreign} +% option was used, the area code (set with the \T{areacode} +% option.) Telephone numbers should thus be entered without a +% prefix.\NN % \T{cellphone = ...} & same for cellphone...\NN % \T{fax = ...} & fax...\NN % \T{email = ...} & email...\NN @@ -634,14 +672,14 @@ Execute the inst script with the --help option for more information. % \DescribeMacro{\letter} % The |\letter| command produces one letter and can be called multiple times. It % has two arguments. The first argument is optional and must be a list of -% \textsl{key=value} pairs. The options set here are usually those that vary among +% |key=value| pairs. The options set here are usually those that vary among % different letters. The second argument contains the letter's content. This % content will, depending on the options set, automatically be surrounded by an % opening, a closing, an autograph, a signature and a remark about any % enclosures. The first page of each letter will be decorated with a logo, % the addressee's address, a return address, % various reference fields, a footer, a folding mark---all as defined by -% \textsl{key=value} pairs in |\setupdocument| or in the |\letter| command itself. +% |key=value| pairs in |\setupdocument| or in the |\letter| command itself. % % The second an following pages will have a heading, quoting the name of the % addressee and a page number. Examples of letters can be found in the @@ -706,7 +744,7 @@ Execute the inst script with the --help option for more information. % The \C{autograph} command, which will normally appear in a style file, % serves to define up to eight autographs based on \textsc{pdf}, % \textsc{jpeg} or \textsc{png} images. In the following it is important to -% know that the closing always remains at the same postion: two +% know that the closing always remains at the same position: two % |\baselineskips| under the end of the text body; autographs and the signature % will be positioned relative to this fixed closing. % @@ -766,7 +804,7 @@ Execute the inst script with the --help option for more information. % with command names used in isodoc. So they have gotten their own names here: % \bigskip\\ % \begin{tabular}{rrr}\FL -% command & ascii& result \ML +% command & ASCII& result \ML % |\LetterSymbol| & 66 & \LetterSymbol\NN % |\EuroSymbol| & 164 & \EuroSymbol\NN % |\EuroSymbol| & 164 & \EuroSymbol\NN @@ -787,7 +825,7 @@ Execute the inst script with the --help option for more information. % This source essentially shows three items: % \begin{compactenum} % \item the inclusion of a package |letter|; we'll come to that shortly. -% \item the command |\setupdocument| called with many \textsl{key=value} arguments, each +% \item the command |\setupdocument| called with many |key=value| arguments, each % defining one of the texts that go into the letter. % \item the command |\letter|, enclosing the body of the letter; % just to give the letter some real body, a small text has @@ -932,11 +970,11 @@ Execute the inst script with the --help option for more information. % Several colors can be changed, by using the |\definecolor| command; % the defaults (all black) are set here:\\ % \DescribeMacro{headcolor} -% \texttt{headcolor:} color for the header and footer field texts\\ +% |headcolor:| color for the header and footer field texts\\ % \DescribeMacro{headingcolor} -% \texttt{headingcolor:} color for the fancy headings\\ +% |headingcolor:| color for the fancy headings\\ % \DescribeMacro{markercolor} -% \texttt{markercolor:} color for the folding marks +% |markercolor:| color for the folding marks % \begin{macrocode} \definecolor{headcolor}{gray}{0} \definecolor{headingcolor}{gray}{0} @@ -1155,10 +1193,10 @@ Execute the inst script with the --help option for more information. % \DescribeMacro{website} % \DescribeMacro{email} % Currently the |phone|, |cellphone|, |fax|, |email| and |website| are -% recognised as possible footer fields. Phone and fax number will be prefixed +% recognized as possible footer fields. Phone and fax number will be prefixed % with a 0, unless the |foreign| option was used: then the prefix will be -% `+nn-', where nn is the areacode. The latter is set with the |areacode| -% option, which is `Undefined areacode' by default. +% `+nn\,', where nn is the area code. The latter is set with the |areacode| +% option, which is `Undefined area code' by default. % \begin{macrocode} \define@key{isodoc}{areacode} {\def\areacode{#1}} \def\areacode{\Undefined{areacode}} @@ -1219,7 +1257,7 @@ Execute the inst script with the --help option for more information. % \end{macrocode} % % \subsubsection{Header fields} -% There are four header fields, each one quarter of the textwidth wide. +% There are four header fields, each one quarter of the |\textwidth| wide. % Under those, if the subject has been defined, a subject line. % The header position is 98mm by default, but it can be shifted with the |bodyshift| option. % \DescribeMacro{ourref} @@ -1235,7 +1273,7 @@ Execute the inst script with the --help option for more information. % \end{macrocode} % \DescribeMacro{date} % The date must be entered in either of three formats: yyyy-mm-dd, yyyymmdd -% or the string |today|. Here we check that a correct format is offered and +% or the string |today| (\textsl{not} |\today|!). Here we check that a correct format is offered and % that the values for |mm| and |dd| are in the range 1--12 and 1--31 respectively. % The string |today| sets the date to today's date. % \begin{macrocode} @@ -1364,10 +1402,10 @@ Execute the inst script with the --help option for more information. \define@key{isodoc}{acceptreference} {\def\acceptreference{#1}} \def\acceptreference{\Undefined{ref}} % \end{macrocode} -% For now, we define field positons for the E05 accept form only; when data for +% For now, we define field positions for the E05 accept form only; when data for % other forms become available, the content of |\accepttype| will have to be % checked. Here is a rough layout of the E05 accept form -- the last character -% tells if the items are tyepset in a Tbox (T) or in a Cbox (C): +% tells if the items are typeset in a Tbox (T) or in a Cbox (C): % % \begin{verbatim} % description T @@ -1399,7 +1437,17 @@ Execute the inst script with the --help option for more information. % \subsection{User Macros} % Some symbols taken from marvosym.sty: % \begin{macrocode} -\RequirePackage{isodocsymbols} +\newcommand{\@isodocsym}{% + \fontfamily{mvs}\fontencoding{U}% + \fontseries{m}\fontshape{n}\selectfont +} +\def\EuroSymbol {{\@isodocsym\char164}} +\def\EUROSymbol {{\@isodocsym\char99 }} +\def\LetterSymbol {{\@isodocsym\char66 }} +\def\EmailSymbol {{\@isodocsym\char107}} +\def\PhoneSymbol {{\@isodocsym\char84 }} +\def\MobileSymbol {{\@isodocsym\char72 }} +\let\EUR\EuroSymbol % \end{macrocode} % The autograph is either just a newline, or a vertical spacing where you can % put your autograph manually, or a graphic. In the latter case, is must have @@ -1466,7 +1514,7 @@ Execute the inst script with the --help option for more information. % The logo, by default, consists of a large company name on top a rule, % with a contact person's name (probably your own name) and address % hanging under the rule. -% If the osf-txfonts package is used, oldstyle figures are disabled here. +% If the osf-txfonts package is used, old style figures are disabled here. % \DescribeMacro{\logo} % \begin{macrocode} \newcommand{\zippedcity}{\ifcityzip\city\ \prezip\ \zip\else\prezip\ \zip\ \city\fi} @@ -1512,9 +1560,9 @@ Execute the inst script with the --help option for more information. % \begin{compactenum} % \item yyyymmdd % \item yyyy-mm-dd -% \item today % i.e. the string "today" +% \item today % i.e. the string "today" (\textsl{not} |\today|!) % \end{compactenum} -% The resulting |\date| format depends on the language option, i.e., +% The resulting |\date| format depends on the language option, \textsl{i.e.}, % the month is in that language, and the formatting is according to the % usage in the language. The value for dd may be 00; in that case the day % will not be reported. Some examples, assuming language=en-GB: @@ -1691,7 +1739,7 @@ Execute the inst script with the --help option for more information. } % \end{macrocode} % The counter |\lettercount| is used to construct a label on the last -% page of each letter/invoice of this document; it wil be set to +% page of each letter/invoice of this document; it will be set to % \texttt{LastPageOf\textsl{n}}, where \textsl{n} is the letter % number: 1, 2, 3, ... This allows for page headings saying ``Page n % of m.'' This label is automatically added at the end of each letter. @@ -1700,7 +1748,7 @@ Execute the inst script with the --help option for more information. % \end{macrocode} % \DescribeMacro{\invoice} % |\invoice| prints an invoice. The first argument is optional, and may -% contain the same \textsl{key=value} statement as |\setupdocument|. This is +% contain the same |key=value| statement as |\setupdocument|. This is % useful if the document contains more than one invoice for different % addressees. % @@ -1729,7 +1777,7 @@ Execute the inst script with the --help option for more information. \clearpage{\pagestyle{empty}\cleardoublepage} \setcounter{section}{0} \setkeys{isodoc}{#1} - \def\isodoc@lead{\ifforeign+\areacode-\else\phoneprefix\fi} + \def\isodoc@lead{\ifforeign+\areacode\,\else\phoneprefix\fi} \ifx\isodoc@phone\empty\else\def\phone{\isodoc@lead\isodoc@phone}\fi \ifx\isodoc@cellphone\empty\else\def\cellphone{\isodoc@lead\isodoc@cellphone}\fi \ifx\isodoc@fax\empty\else\def\fax{\isodoc@lead\isodoc@fax}\fi @@ -1760,7 +1808,7 @@ Execute the inst script with the --help option for more information. \totext: \toname\ (\date)} \else \fancyhead[L]{\color{headingcolor}% - \totext: \toname\ (\date)} + \mbox{\totext: \toname\ (\date)}} \fancyhead[R]{\color{headingcolor}% \pagetext\ \thepage\ \oftext{} \begin{NoHyper}\pageref{LastPageOf\thelettercount}\end{NoHyper}} @@ -1805,9 +1853,11 @@ Execute the inst script with the --help option for more information. } \ifx\subject\empty\else% \Tbox{35}{\subjectpos}{140}{\noindent - \begin{tabularx}{\hsize}{@{}l>{\raggedright}X@{}} - \@hft\subjecttext&\subject - \end{tabularx} + \ifx\subjecttext\empty{\bfseries\subject}\else% + \begin{tabularx}{\hsize}{@{}l>{\raggedright}X@{}} + \@hft\subjecttext&\subject + \end{tabularx} + \fi } \fi \else @@ -1839,36 +1889,43 @@ Execute the inst script with the --help option for more information. \vspace{\textskip mm} \thispagestyle{empty} \noindent\ignorespaces#2 - {\parindent=0pt\parskip=\baselineskip - \ifclosing - \ifcase\autographversion - \par\closing\closingcomma\\\signature % 0: closing on the next line - \or\par\closing\closingcomma\\[\closingskip]\signature % 1: whiteskip - \or\autographA - \or\autographB - \or\autographC - \or\autographD - \or\autographE - \or\autographF - \or\autographG - \or\autographH - \else - \par\Undefined{autograph: \autographversion}\\ - \fi - \fi - \ifx\enclosures\empty\else - \vfill - \setbox1=\vbox{\enclosures}% - \textbf{\ifdim\ht1>\baselineskip\enclosurestext\else\enclosuretext\fi}% - \\\enclosures - \fi - \ifx\copyto\empty\else - \ifx\enclosures\empty\vfill\else\\[2ex]\fi - \setbox1=\vbox{\copyto}% - \textbf{\copytotext}% - \\\copyto - \fi - } + \ifclosing + \par\noindent\begin{minipage}[t]{\hsize} + \parindent=0pt\parskip=\baselineskip + \ifcase\autographversion + \par\closing\closingcomma\\\signature % 0: closing on the next line + \or\par\closing\closingcomma\\[\closingskip]\signature % 1: whiteskip + \or\autographA + \or\autographB + \or\autographC + \or\autographD + \or\autographE + \or\autographF + \or\autographG + \or\autographH + \else + \par\Undefined{autograph: \autographversion}\\ + \fi + \end{minipage} + \fi + \ifx\enclosures\empty\else + \par\noindent\begin{minipage}[t]{\hsize} + \parindent=0pt\parskip=\baselineskip + \vfill + \setbox1=\vbox{\enclosures}% + \textbf{\ifdim\ht1>\baselineskip\enclosurestext\else\enclosuretext\fi}% + \\\enclosures + \end{minipage} + \fi + \ifx\copyto\empty\else + \par\noindent\begin{minipage}[t]{\hsize} + \parindent=0pt\parskip=\baselineskip + \ifx\enclosures\empty\vfill\else\\[2ex]\fi + \setbox1=\vbox{\copyto}% + \textbf{\copytotext}% + \\\copyto + \end{minipage} + \fi \label{LastPageOf\thelettercount} }} % \end{macrocode} |