summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/newlfm
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-01-14 00:14:05 +0000
committerKarl Berry <karl@freefriends.org>2009-01-14 00:14:05 +0000
commitc49b4326cde7ef42ae8571be9f7e12dbdf1ec6ac (patch)
tree50e1794f5291675c4def85e4c5c08a5174ecf144 /Master/texmf-dist/source/latex/newlfm
parent8d86fd37cd58466c1da9f724f579b64db18b2158 (diff)
newlfm 9.1 (11jan09)
git-svn-id: svn://tug.org/texlive/trunk@11859 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/newlfm')
-rw-r--r--Master/texmf-dist/source/latex/newlfm/newlfm.dtx1237
-rw-r--r--Master/texmf-dist/source/latex/newlfm/newlfm.ins110
2 files changed, 465 insertions, 882 deletions
diff --git a/Master/texmf-dist/source/latex/newlfm/newlfm.dtx b/Master/texmf-dist/source/latex/newlfm/newlfm.dtx
index 7e135a1c558..434da7d7455 100644
--- a/Master/texmf-dist/source/latex/newlfm/newlfm.dtx
+++ b/Master/texmf-dist/source/latex/newlfm/newlfm.dtx
@@ -22,7 +22,7 @@
% ltrfax.cls -- Paul A. Thompson
% lfmp.cls -- Ross Boylan
%
-% Copyright 1998-2005 Paul A. Thompson
+% Copyright 1998-2009 Paul A. Thompson
%
% IMPORTANT NOTICE:
%
@@ -71,12 +71,12 @@
%<*driver>
\ProvidesFile{newlfm.drv}
%</driver>
-%<+package> [2004/11/02 v8.3
+%<+package> [2009/1/09 v9.1
%<+package> Letter-Fax-Memo LaTeX Document Class]
-%<+addrset> [2004/11/02 v8.3
+%<+addrset> [2009/1/09 v9.1
%<+addrset> Address macros]%
-%<+setdim> [2004/11/02 v8.3
-%<+setdim> Address macros]
+%<+setdim> [2009/1/09 v9.1
+%<+setdim> Dimension Setting macros]
% \end{macrocode}
%
% \section{The documentation driver file}
@@ -152,19 +152,8 @@
% Boylan. Thanks, Ross.}
% \changes{v8.3}{2004/11/02}{Election special. Cello-window option added.}
% \changes{v8.4}{2004/11/06}{Fixed a number of other errors, including
-% multiple repeated envelope labels. Specials added to printing. Address
-% printing converted to the use of the table notation. Specials and
-% address components work together to print a variety of components in the
-% ``address-area'' of the letter.}
-% \changes{v9.0}{2004/06/16}{Revised address space method, going to a
-% tabular approach. This greatly simplifies the method for setting up the
-% multiple repeated envelope labels. Specials added to printing. Address
-% printing converted to the use of the table notation. Specials and
-% address components work together to print a variety of components in the
-% ``address-area'' of the letter.}
-% \changes{v9.1}{2004/09/16}{Fixed a number of very small bugs - including
-% errors in memonofrom and friends, Blankheader and friends, and several
-% other small problems.}
+% multiple repeated envelope labels.}
+% \changes{v1.1}{2009/1/09}{Added ability to add letterhead paper as 'watermark' .eps file}
%
% \iffalse
% \begin{macrocode}
@@ -312,7 +301,7 @@
% it is much more convenient to put this information in an address
% database.
%
-% \subsection{Option specification}
+% \subsection{Option specification}
% \label{sec:opt}
% The |newlfm| package features a wide variety of options to specify
% options for letters, faxes and memos.
@@ -359,22 +348,8 @@
% in order of encounter, so the last option encountered over-rides
% earlier ones.
%
-% \subsection{Basic ideas of newlfm}
-% A letter has a number of components. These include the to-address,
-% the from-address, the salutation or greeting, the body or main part
-% of the letter, the closing and the signature. In addition, there are
-% components of the header section, the left-margin, the right-margin and
-% the footer section. In |newlfm|, the header and footer sections are
-% managed using the basic tools provided by |fancyhdr|. The left- and
-% right-margins are managed using the margin specification tools of
-% \LaTeX. For the remaining components, |newlfm| structures the
-% placement using the |tabular| methodology of \LaTeX. Using this
-% approach, items are placed into cells of a |tabular| structure, and
-% spacing is adjusted accordingly. The further implications of this
-% structure is discussed below in Section \ref{sec:struct}.
-%
-% \section{Available styles}
-% \subsection{Letter styles}
+% \section{Available styles}
+% \subsection{Letter styles}
% \label{sec:let}%
% |newlfm| defines several letter styles. These styles are chosen using
% options (in either selection method). Letters include some or all of the following components:
@@ -382,7 +357,7 @@
% closing phrase, 6) signature, and 7) name and title of signer.
% Justification of the components is shown in \tabr{addrloc} below.
%
-% \subsection{Memo styles}
+% \subsection{Memo styles}
% \label{sec:mem}
% Memos are headed as:
% \begin{center}
@@ -399,7 +374,7 @@
% \tabr{addrloc} below. The user may use their
% own version of the memo block.
%
-% \subsection{A list of styles in \texttt{newlfm}}
+% \subsection{A list of styles in \texttt{newlfm}}
% \tabr{addrloc} shows the components of a letter, and indicates when
% they will be used in letters:
%
@@ -434,7 +409,7 @@
% \label{sec:leto}
% In |newlfm|, the various components of the letter can be modified.
% This is done using options (placed in the ``document-header'' or
-% ``keyed-value'' approaches).
+% ``keyed-value'' approaches).
%
% The following example illustrates option placement in the document
% header line:
@@ -508,37 +483,10 @@
% \end{tabular}
% \end{center}
%
-% \subsection{Letter components}
-% \label{sec:struct}
-% Items are placed in the address block section using a |tabular|
-% structure. The first item(s) is(are) placed in Row 2, the second
-% sequentially occurring is placed in Row 4 and the last in Row 6. The
-% |tabular| block has three columns, and the choice of columns for
-% printing is determined by justification of the items. Other items may
-% optionally be placed in other locations of the |tabular| block using
-% a special item:
-% \begin{verbatim}
-% \speciala{text}{row}{col}
-% \spacespa{space-before-a}{space-after-a}
-% \end{verbatim}
-% Using this approach, optional text may be placed into an optional
-% location in the header section. If special spacing is desired, it is
-% defined using the |\spacespa| construction. In |newlfm|, special text
-% may be added using |speciala|, |specialb|, |specialc|, |speciald|,
-% |speciale|, |specialf|, |specialg|, and |specialh|. Each of these
-% special text tools is paired with a |spacespx| construction, where |x|
-% is the same letter as the |special| tool. The |tabular| structure has
-% a total of 7 addressable rows, allowing optional items to be placed
-% before the first letter element (in Row 1), after the last letter
-% element (in Row 7), or between letter elements (in Rows 3 and 5).
-% Optional items may also be placed on the same rows as standard letter
-% elements. Note, however, that the placement of items in the same
-% position as standard letter elements will be ignored.
-%
% \subsection{Memo options}
% \label{sec:memo}
-% Memo options involve the inclusion of elements into from-address
-% and to-address blocks (including email and telephone numbers) and
+% Memo options involve the inclusion of elements into ``from-address''
+% and ``to-address'' blocks (including email and telephone numbers) and
% the placement of blocks on the page. Blocks may also be omitted. These
% may be placed either in the ``document-header'' option section, or in
% the command |\newlfmP|.
@@ -757,6 +705,7 @@
% Text Block & & |textheight| & & \\
% Left Margin Block & |\Lmargin| & & |leftmargintopdist| & \\
% Right Margin Block& |\Rmargin| & & |rightmargintopdist| & \\
+% Close line & |\closeline| & & |closeskipbefore| & |closeskipafter| \\
% Signature & |\signature| & |sigsize| & |sigskipbefore| & |sigskipafter| \\
% & |\siglist| & & & \\
% |Ps|, |PPs|, etc & Various & & |postsigskipbefore| & |postsigskipafter| \\
@@ -976,7 +925,6 @@
% \hdr{Page} & \hdr{Location} & \hdr{Left} & \hdr{Center} & \hdr{Right} \\ \hline
% Letterhead & Footer & |\Lfooter| & |\Cfooter| & |\Rfooter| \\
% & Header & |\Lheader| & |\Cheader| & |\Rheader| \\
-% & Under Header & |\LUheader| & |\CUheader| & |\RUheader| \\
% & Margin & |\Lmargin| & & |\Rmargin| \\
% \hline \hline
% Page & Location & Left & Center & Right \\ \hline
@@ -993,14 +941,8 @@
% In order for this to work, {\bfseries \itshape all \info{} for the
% header and footer must be included in boxed formats}. That is, to use a
% letterhead, logos, pictures, addresses, whatever must be placed in a
-% \LaTeX\ box structure. The boxed formatted items may be included in a
-% wrapper program.
-%
-% Under-header items are placed into boxes and placed just under the
-% header section. This allows items to be effectively divided into two
-% sections, those placed in the actual header, and those placed in
-% another header-like section just under the true header section. This
-% enables a more flexible and general letter to be written.
+% \LaTeX\ box structure. The boxed formatted items
+% may be included in a wrapper program.
%
% For example, if a logo is to be included from an external file, this
% should be inserted into an |\sbox| and used as follows:
@@ -1535,16 +1477,6 @@
% \end{enumerate*}
%
% \section{Miscellaneous topics}
-% \subsection{Paper sizes}
-% Paper sizes are the generally available ones. The following may be
-% specified: letterpaper (8.5in $\times$ 11in), legalpaper (8.5in
-% $\times$ 14in), executivepaper (7.25in $\times$ 10.5in), bigpaper (11in
-% $\times$ 17in), ebook(6in $\times$ 9in), a3paper (297mm $\times$
-% 420mm), a4paper (210mm $\times$ 297mm), a5paper (148mm $\times$ 210mm),
-% a6paper (105mm $\times$ 148mm), b3paper (353mm $\times$ 500mm), b4paper
-% (250mm $\times$ 353mm), b5paper (176mm $\times$ 250mm), and b6paper
-% (125mm $\times$ 176mm).
-%
% \subsection{Lines}
% By default, |newlfm| demarcates the header and footer sections with
% lines. These may be eliminated using the commands |noheadline|,
@@ -1789,6 +1721,7 @@
% either in the document-header option block or in the
% |\newlfmP| command)
% \item \textbf{Letter date information:} |\dateset|
+% \item \textbf{Water-mark page:} |\waterpage|
% \item \textbf{Memo styles:} |stdmemo|, |fullmemo| (\tabpagr{memoopt})
% \item \textbf{Memo options:} |memoaddrto|, |memoemailto|, |memophoneto|,
% |memofaxto|, |memoaddrfrom|, |memoemailfrom|, |memophonefrom|,
@@ -1838,6 +1771,7 @@
% |\dateskipbefore|, |\dateskipafter|, |\addrfromskipbefore|,
% |\addrfromskipafter|, |\addrtoskipbefore|, |\addrtoskipafter|,
% |\greettoskipbefore|, |\greettoskipafter|, |\textheight|,
+% |\closeskipbefore|, |\closeskipafter|,
% |\sigskipbefore|, |\sigsize|, |\sigskipafter|,|\sigskipcolumn|,
% |\sigskiprow|, |\postsigskipbefore|,
% |\postsigskipafter|, |\bottommarginskip|, |\footermarginsize|,
@@ -1881,7 +1815,7 @@
%
% \StopEventually
%
-% \section{Code (excluded from manual)}
+% \section{Code}
% \begin{macrocode}
%<*package>
% \end{macrocode}
@@ -1964,8 +1898,7 @@
\newlength{\@pre@memo@sp} \newlength{\@post@memo@sp} \newlength{\@sig@sk@b}%
\newlength{\@sig@sk@a} \newlength{\@sig@sp} \newlength{\@text@width}%
\newlength{\@sig@sk@c} \newlength{\@sig@sk@r}%
-\newlength{\@stock@height} \newlength{\@stock@width}%
-\newlength{\@fax@height} \newlength{\@fax@width}%
+\newlength{\@cls@sk@a} \newlength{\@cls@sk@b}%
\newlength{\@text@height} \newlength{\@unpr@tp} \newlength{\@unpr@bm}%
\newlength{\@unpr@rt} \newlength{\@unpr@lt} \newlength{\@util}%
\newlength{\@utila} \newlength{\@utilb} \newlength{\@utilc}%
@@ -1973,11 +1906,10 @@
\newlength{\@xda} \newlength{\@xdb} \newlength{\@xdc}%
\newlength{\@xdd} \newlength{\@xde} \newlength{\@xdf}%
\newlength{\@xdg} \newlength{\@xdh} \newlength{\@xdi}%
-\newlength{\extrarulesep}%
-% \end{macrocode}%
-% \paragraph{\texttt{newlength} default values:}%
-% Begin by defining all newlength commands here:%
-% \begin{macrocode}%
+% \end{macrocode}
+% \paragraph{\texttt{newlength} default values:}
+% Begin by defining all newlength commands here:
+% \begin{macrocode}
\setlength{\@cello@h}{1in} \setlength{\@cello@w}{3in}%
\setlength{\@cello@d}{2.5in} \setlength{\@cello@l}{1in}%
\setlength{\@marg@tp@s}{0in} \setlength{\@marg@bt@b}{0in}%
@@ -1993,50 +1925,23 @@
\setlength{\@Hrw}{1pt} \setlength{\@hrw}{1pt}%
\setlength{\@Frw}{1pt} \setlength{\@frw}{1pt}%
\setlength{\@sig@sk@a}{5pt} \setlength{\@sig@sk@b}{5pt}
+\setlength{\@cls@sk@a}{0pt} \setlength{\@cls@sk@b}{1em}
\setlength{\@sig@sk@c}{5pt} \setlength{\@sig@sk@r}{5pt}%
-\setlength{\@fax@height}{720pt}\setlength{\@fax@width}{432pt}%
-\setlength{\@extr@hor}{0pt}%
-% \end{macrocode}%
-% \paragraph{\texttt{newsavebox} definitions:}%
-% Define all newsavebox commands here:%
-% \begin{macrocode}%
+\setlength{\@extr@hor}{0pt}
+% \end{macrocode}
+% \paragraph{\texttt{newsavebox} definitions:}
+% Define all newsavebox commands here:
+% \begin{macrocode}
\newsavebox{\@sig@box@a}\newsavebox{\b@addr@fr}\newsavebox{\b@addr@to}%
-\newsavebox{\@x@c} \newsavebox{\@x@l} \newsavebox{\@x@r} \newsavebox{\@xdateb}%
-\newsavebox{\fba} \newsavebox{\adrfr} \newsavebox{\adrto} \newsavebox{\@sp@box}%
-\newsavebox{\@sig@box@b}\newsavebox{\@sig@box@c}\newsavebox{\@sig@box@d}%
-\newsavebox{\@sig@box@e}\newsavebox{\@sig@box@f}\newsavebox{\@sig@box@g}%
-\newsavebox{\@sig@box@h}\newsavebox{\@sig@box@i}\newsavebox{\@sig@box@j}%
-\newsavebox{\@hblk@aa}\newsavebox{\@hblk@ab}\newsavebox{\@hblk@ac}%
-\newsavebox{\@hblk@ba}\newsavebox{\@hblk@bb}\newsavebox{\@hblk@bc}%
-\newsavebox{\@hblk@ca}\newsavebox{\@hblk@cb}\newsavebox{\@hblk@cc}%
-\newsavebox{\@hblk@da}\newsavebox{\@hblk@db}\newsavebox{\@hblk@dc}%
-\newsavebox{\@hblk@ea}\newsavebox{\@hblk@eb}\newsavebox{\@hblk@ec}%
-\newsavebox{\@hblk@fa}\newsavebox{\@hblk@fb}\newsavebox{\@hblk@fc}%
-\newsavebox{\@hblk@ga}\newsavebox{\@hblk@gb}\newsavebox{\@hblk@gc}%
-\newsavebox{\@hblk@ha}\newsavebox{\@hblk@hb}\newsavebox{\@hblk@hc}%
-\newsavebox{\@hblk@ia}\newsavebox{\@hblk@ib}\newsavebox{\@hblk@ic}%
-\newlength{\@hblk@a@bef} \newlength{\@hblk@a@aft}%
-\newlength{\@hblk@b@bef} \newlength{\@hblk@b@aft}%
-\newlength{\@hblk@c@bef} \newlength{\@hblk@c@aft}%
-\newlength{\@hblk@d@bef} \newlength{\@hblk@d@aft}%
-\newlength{\@hblk@e@bef} \newlength{\@hblk@e@aft}%
-\newlength{\@hblk@f@bef} \newlength{\@hblk@f@aft}%
-\newlength{\@hblk@g@bef} \newlength{\@hblk@g@aft}%
-\newlength{\@hblk@h@bef} \newlength{\@hblk@h@aft}%
-\newlength{\@hblk@i@bef} \newlength{\@hblk@i@aft}%
-\setlength{\@hblk@a@bef}{0pt} \setlength{\@hblk@a@aft}{0pt}%
-\setlength{\@hblk@b@bef}{0pt} \setlength{\@hblk@b@aft}{0pt}%
-\setlength{\@hblk@c@bef}{0pt} \setlength{\@hblk@c@aft}{0pt}%
-\setlength{\@hblk@d@bef}{0pt} \setlength{\@hblk@d@aft}{0pt}%
-\setlength{\@hblk@e@bef}{0pt} \setlength{\@hblk@e@aft}{0pt}%
-\setlength{\@hblk@f@bef}{0pt} \setlength{\@hblk@f@aft}{0pt}%
-\setlength{\@hblk@g@bef}{0pt} \setlength{\@hblk@g@aft}{0pt}%
-\setlength{\@hblk@h@bef}{0pt} \setlength{\@hblk@h@aft}{0pt}%
-\setlength{\@hblk@i@bef}{0pt} \setlength{\@hblk@i@aft}{0pt}%
-% \end{macrocode}%
-% \paragraph{\texttt{newcounter} definitions:}%
-% Define all newcounter commands here:%
-% \begin{macrocode}%
+\newsavebox{\@x@c} \newsavebox{\@x@l} \newsavebox{\@x@r}%
+\newsavebox{\fba} \newsavebox{\adrfr} \newsavebox{\adrto}%
+\newsavebox{\@sig@box@b}\newsavebox{\@sig@box@c}\newsavebox{\@sig@box@d}
+\newsavebox{\@sig@box@e}\newsavebox{\@sig@box@f}\newsavebox{\@sig@box@g}
+\newsavebox{\@sig@box@h}\newsavebox{\@sig@box@i}\newsavebox{\@sig@box@j}
+% \end{macrocode}
+% \paragraph{\texttt{newcounter} definitions:}
+% Define all newcounter commands here:
+% \begin{macrocode}
\newcounter{@c@pos} \newcounter{figure} \newcounter{table}%
\newcounter{@sig@tot} \newcounter{@lab@tot@row}%
\newcounter{@lab@tot@col} \newcounter{@lab@cnt@row} \newcounter{@lab@cnt@col}%
@@ -2044,22 +1949,20 @@
\newcount\@nlfm@util%
\newcount\@nlfm@uta%
\newcount\@nlfm@utb%
-% \end{macrocode}%
-% \paragraph{\texttt{newboolean} definitions:}%
-% Boolean variables are defined here. Package |ifthen| defines%
-% |\newboolean|. Booleans are a good approach for simple decision-making support. In%
-% many cases, a default value is set after the boolean is declared.%
-% \begin{macrocode}%
-\newboolean{@af@c}%
-\newboolean{@af@l}%
-\newboolean{@af@p}%
+% \end{macrocode}
+% \paragraph{\texttt{newboolean} definitions:}
+% Boolean variables are defined here. Package |ifthen| defines
+% |\newboolean|. Booleans are a good approach for simple decision-making support. In
+% many cases, a default value is set after the boolean is declared.
+% \begin{macrocode}
+\newboolean{@addr@fr@l}%
+\newboolean{@addr@fr@p}%
\newboolean{@addr@fr@e} \setboolean{@addr@fr@e}{false}%
\newboolean{@addr@fr@f} \setboolean{@addr@fr@f}{false}%
\newboolean{@addr@fr@t} \setboolean{@addr@fr@t}{false}%
\newboolean{@addr@swtch} \setboolean{@addr@swtch}{true}%
-\newboolean{@at@c}%
-\newboolean{@at@l}%
-\newboolean{@at@p}%
+\newboolean{@addr@to@l}%
+\newboolean{@addr@to@p}%
\newboolean{@addr@to@f} \setboolean{@addr@to@f}{false}%
\newboolean{@addr@to@e} \setboolean{@addr@to@e}{false}%
\newboolean{@addr@to@t} \setboolean{@addr@to@t}{false}%
@@ -2095,15 +1998,6 @@
\newboolean{@fl} \setboolean{@fl}{true}%
\newboolean{@greet@p}%
\newboolean{@greet@l}%
-\newboolean{@hblk@a} \setboolean{@hblk@a}{false}%
-\newboolean{@hblk@b} \setboolean{@hblk@b}{false}%
-\newboolean{@hblk@c} \setboolean{@hblk@c}{false}%
-\newboolean{@hblk@d} \setboolean{@hblk@d}{false}%
-\newboolean{@hblk@e} \setboolean{@hblk@e}{false}%
-\newboolean{@hblk@f} \setboolean{@hblk@f}{false}%
-\newboolean{@hblk@g} \setboolean{@hblk@g}{false}%
-\newboolean{@hblk@h} \setboolean{@hblk@h}{false}%
-\newboolean{@hblk@i} \setboolean{@hblk@i}{false}%
\newboolean{@hl} \setboolean{@hl}{true}%
\newboolean{@in@tab}%
\newboolean{@in@makeenv} \setboolean{@in@makeenv}{false}%
@@ -2145,7 +2039,6 @@
\newboolean{@memo@n} \setboolean{@memo@n}{false}%
\newboolean{@no@cen} \setboolean{@no@cen}{false}%
\newboolean{@no@spc} \setboolean{@no@spc}{false}%
-\newboolean{@prnt@frm} \setboolean{@prnt@frm}{false}%
\newboolean{@ROf@use} \setboolean{@ROf@use}{false}%
\newboolean{@Rf@use} \setboolean{@Rf@use}{false}%
\newboolean{@rf@use} \setboolean{@rf@use}{false}%
@@ -2172,69 +2065,70 @@
\newboolean{@use@all@fr}%
\newboolean{@use@all@to}%
\newboolean{@use@envlab} \setboolean{@use@envlab}{false}%
+\newboolean{@use@water} \setboolean{@use@water}{false}%
\newboolean{@ztila} \newboolean{@ztilb}%
\newboolean{@pr@p} \setboolean{@pr@p}{false}%
\newboolean{@pr@by}
-% \end{macrocode}%
+% \end{macrocode}
%
-% \subsection{newlfm commands}%
-% Now begin defining new commands.%
-% \paragraph{Ordering of date, from-address and to-address:}%
-% These commands allow the ordering of date, to-block and from-block:%
-% \begin{macrocode}%
-\def\@d@pos#1{\def\@intd@pos{#1}}%
-\def\@t@pos#1{\def\@intt@pos{#1}}%
-\def\@f@pos#1{\def\@intf@pos{#1}}%
-% \end{macrocode}%
+% \subsection{newlfm commands}
+% Now begin defining new commands.
+% \paragraph{Ordering of date, from-address and to-address:}
+% These commands allow the ordering of date, to-block and from-block:
+% \begin{macrocode}
+\def\@d@pos#1{\def\@intd@pos{#1}}
+\def\@t@pos#1{\def\@intt@pos{#1}}
+\def\@f@pos#1{\def\@intf@pos{#1}}
+% \end{macrocode}
%
-% \paragraph{\texttt{keyval} processing:} When using the |keyval|%
-% approach to option specification, something similar to the next code%
-% must be used. At this point, this is not 100 \% correct, and so it%
-% will be altered as soon as I can figger it out.%
-% \begin{macrocode}%
+% \paragraph{\texttt{keyval} processing:} When using the |keyval|
+% approach to option specification, something similar to the next code
+% must be used. At this point, this is not 100 \% correct, and so it
+% will be altered as soon as I can figger it out.
+% \begin{macrocode}
\def\newlfmParam{\@ifnextchar[%]
-\newlx@i{\newlx@i[]}}%
-\def\newlx@i[#1]{{\setkeys{ov}{#1}}}%
-\def\Dimens{\@ifnextchar[%]%
-\Dimens@i{\Dimens@i[]}}%
-\def\Dimens@i[#1]{{\setkeys{ov}{#1}}}%
-\def\Language{\@ifnextchar[%]%
-\Lang@i{\Lang@i[]}}%
-\def\Lang@i[#1]{{\setkeys{ov}{#1}}}%
-\def\MemoParam{\@ifnextchar[%]%
-\MemoP@i{\MemoP@i[]}}%
-\def\MemoP@i[#1]{{\setkeys{ov}{#1}}}%
-\def\LetterParam{\@ifnextchar[%]%
-\LetrP@i{\LetrP@i[]}}%
-\def\LetrP@i[#1]{{\setkeys{ov}{#1}}}%
-\def\FAZParam{\@ifnextchar[%]%
-\FAXP@i{\FAXP@i[]}}%
-\def\FAXP@i[#1]{{\setkeys{ov}{#1}}}%
-\def\LetterP#1{\setkeys{ov}{#1}}%
-\def\newlfmP#1{\setkeys{ov}{#1}}%
-\def\LanguageP#1{\setkeys{ov}{#1}}%
-\def\FAXP#1{\setkeys{ov}{#1}}%
-\def\DimensP#1{\setkeys{ov}{#1}}%
-\def\MemoP#1{\setkeys{ov}{#1}}%
-\def\iffixt#1#2{\ifthenelse{\equal{#1}{true}}{\setboolean{#2}{true}}{}}%
-\def\iffixf#1#2{\ifthenelse{\equal{#1}{true}}{\setboolean{#2}{false}}{}}%
-\def\iffixq#1#2{\ifthenelse{\equal{#1}{true}}{#2}{}}%
-% \end{macrocode}%
+\newlx@i{\newlx@i[]}}
+\def\newlx@i[#1]{{\setkeys{ov}{#1}}}
+\def\Dimens{\@ifnextchar[%]
+\Dimens@i{\Dimens@i[]}}
+\def\Dimens@i[#1]{{\setkeys{ov}{#1}}}
+\def\Language{\@ifnextchar[%]
+\Lang@i{\Lang@i[]}}
+\def\Lang@i[#1]{{\setkeys{ov}{#1}}}
+\def\MemoParam{\@ifnextchar[%]
+\MemoP@i{\MemoP@i[]}}
+\def\MemoP@i[#1]{{\setkeys{ov}{#1}}}
+\def\LetterParam{\@ifnextchar[%]
+\LetrP@i{\LetrP@i[]}}
+\def\LetrP@i[#1]{{\setkeys{ov}{#1}}}
+\def\FAZParam{\@ifnextchar[%]
+\FAXP@i{\FAXP@i[]}}
+\def\FAXP@i[#1]{{\setkeys{ov}{#1}}}
+\def\LetterP#1{\setkeys{ov}{#1}}
+\def\newlfmP#1{\setkeys{ov}{#1}}
+\def\LanguageP#1{\setkeys{ov}{#1}}
+\def\FAXP#1{\setkeys{ov}{#1}}
+\def\DimensP#1{\setkeys{ov}{#1}}
+\def\MemoP#1{\setkeys{ov}{#1}}
+\def\iffixt#1#2{\ifthenelse{\equal{#1}{true}}{\setboolean{#2}{true}}{}}
+\def\iffixf#1#2{\ifthenelse{\equal{#1}{true}}{\setboolean{#2}{false}}{}}
+\def\iffixq#1#2{\ifthenelse{\equal{#1}{true}}{#2}{}}
+% \end{macrocode}
%
-% \paragraph{Language option definitions:}%
-% These options define the language for the letter. These macros are not%
-% frequently manipulated. Basically, the strings defined here%
-% set up the printing of structural elements of a memo or letter, such as%
-% the ``From'' or ``To'' strings.%
-% These terms are used at various points in printing letters and memos.%
-% They are American terms; your mileage may vary. Inclusion of other%
-% terms is encouraged, especially when another language group is served.%
-% \begin{macrocode}%
+% \paragraph{Language option definitions:}
+% These options define the language for the letter. These macros are not
+% frequently manipulated. Basically, the strings defined here
+% set up the printing of structural elements of a memo or letter, such as
+% the ``From'' or ``To'' strings.
+% These terms are used at various points in printing letters and memos.
+% They are American terms; your mileage may vary. Inclusion of other
+% terms is encouraged, especially when another language group is served.
+% \begin{macrocode}
\def\DatePhrase#1{\def\@date@phr{#1}}%
\def\PhrFAXcovp#1{\def\@fax@cover@line{#1}}%
\def\PhrFAXpgcnt#1{\def\@fax@page@count{#1}}%
\def\PhrEmail#1{\def\@email@phr{#1}}%
-\def\PhrFax#1{\def\@fax@phr{#1}}%
+\def\PhrFax#1{\def\@fax@phr{#1}}
\def\PhrPager#1{\def\@pager@phr{#1}}%
\def\PhrDocument#1{\def\@doc@phr{#1}}%
\def\PhrPhone#1{\def\@phn@phr{#1}}%
@@ -2254,42 +2148,59 @@
\def\PhrMore#1{\def\@more@phr{#1}}%
\def\PhrPRend#1{\def\@PRend@phr{#1}}%
\def\lth{}\def\sig{}\def\adr{}%
-\def\letrh#1{\def\@ltr@head{#1}}%
-\define@key{ov}{letrh}{\def\@ltr@head{#1}}%
-\def\@adr@to{}\def\@adr@fr{}\def\@ltr@head{}\def\@sig@blok{}%
-\def\addrt#1{\def\@adr@to{#1}\setboolean{@over@setto}{true}}%
+\def\letrh#1{\def\@ltr@head{#1}}%
+\def\waterpage#1{\def\@water@page{#1}\setboolean{@use@water}{true}}%
+\define@key{ov}{letrh}{\def\@ltr@head{#1}}%
+\define@key{ov}{waterpage}{\def\@water@page{#1}\setboolean{@use@water}{true}}%
+\def\@adr@to{}\def\@adr@fr{}\def\@ltr@head{}\def\@sig@blok{}\def\@water@page{}%
+\def\addrt#1{\def\@adr@to{#1}\setboolean{@over@setto}{true}}%
\define@key{ov}{addrt}{\def\@adr@to{#1}\setboolean{@over@setto}{true}}%
\def\addrf#1{\def\@adr@fr{#1}\setboolean{@over@setfr}{true}}%
-\define@key{ov}{addrf}{\def\@adr@fr{#1}\setboolean{@over@setfr}{true}}%
-\def\sigtr#1{\def\@sig@blok{#1}\setboolean{@over@sigbl}{true}}%
-\define@key{ov}{sigtr}{\def\@sig@blok{#1}\setboolean{@over@sigbl}{true}}%
-\def\MinHead#1{\setlength{\@Min@Hgt@Head}{#1}}%
-\define@key{ov}{MinHead}{\setlength{\@Min@Hgt@Head}{#1}}%
-\def\minhead#1{\setlength{\@Min@Hgt@head}{#1}}%
-\define@key{ov}{minhead}{\setlength{\@Min@Hgt@head}{#1}}%
-\def\MinLeft#1{\setlength{\@Min@Hgt@Left}{#1}}%
-\define@key{ov}{MinLeft}{\setlength{\@Min@Hgt@Left}{#1}}%
-\def\minleft#1{\setlength{\@Min@Hgt@left}{#1}}%
-\define@key{ov}{minleft}{\setlength{\@Min@Hgt@left}{#1}}%
-\def\MinFoot#1{\setlength{\@Min@Hgt@Foot}{#1}}%
+\define@key{ov}{addrf}{\def\@adr@fr{#1}\setboolean{@over@setfr}{true}}%
+\def\sigtr#1{\def\@sig@blok{#1}\setboolean{@over@sigbl}{true}}%%
+\define@key{ov}{sigtr}{\def\@sig@blok{#1}\setboolean{@over@sigbl}{true}}%
+\def\MinHead#1{\setlength{\@Min@Hgt@Head}{#1}}
+\define@key{ov}{MinHead}{\setlength{\@Min@Hgt@Head}{#1}}%
+\def\minhead#1{\setlength{\@Min@Hgt@head}{#1}}
+\define@key{ov}{minhead}{\setlength{\@Min@Hgt@head}{#1}}%
+\def\MinLeft#1{\setlength{\@Min@Hgt@Left}{#1}}
+\define@key{ov}{MinLeft}{\setlength{\@Min@Hgt@Left}{#1}}%
+\def\minleft#1{\setlength{\@Min@Hgt@left}{#1}}
+\define@key{ov}{minleft}{\setlength{\@Min@Hgt@left}{#1}}%
+\def\MinFoot#1{\setlength{\@Min@Hgt@Foot}{#1}}
\define@key{ov}{MinFoot}{\setlength{\@Min@Hgt@Foot}{#1}}%
-\def\minfoot#1{\setlength{\@Min@Hgt@foot}{#1}}%
+\def\minfoot#1{\setlength{\@Min@Hgt@foot}{#1}}
\define@key{ov}{minfoot}{\setlength{\@Min@Hgt@foot}{#1}}%
-\def\MinRight#1{\setlength{\@Min@Hgt@Right}{#1}}%
+\def\MinRight#1{\setlength{\@Min@Hgt@Right}{#1}}
\define@key{ov}{MinRight}{\setlength{\@Min@Hgt@Right}{#1}}%
-\def\minright#1{\setlength{\@Min@Hgt@right}{#1}}%
+\def\minright#1{\setlength{\@Min@Hgt@right}{#1}}
\define@key{ov}{minright}{\setlength{\@Min@Hgt@right}{#1}}%
\def\@def@l{american}%
\def\@am@phr{%
- \DatePhrase{Date} \PhrFAXcovp{FAX Cover Page} \PhrFAXpgcnt{FAX Page Count}%
- \PhrFax{FAX} \PhrPager{Pager} \PhrEmail{E-mail}%
- \PhrDocument{Document} \PhrPhone{Telephone} \PhrRe{Re}%
- \PhrSubre{\ensuremath{\mathrm{Re}_2}} \PhrCc{cc}%
- \PhrPs{Ps} \PhrMessage{Message} \PhrPps{Pps}%
- \PhrPpps{Ppps} \PhrEncl{Encl} \PhrPager{Page}%
- \PhrTo{To} \PhrFrom{From} \PhrRegard{Regarding}%
- \PhrContact{Contact} \PhrRelease{For Immediate Release}%
- \PhrMore{--- more ---} \PhrPRend{\# \# \#}%
+ \DatePhrase{Date}%
+ \PhrFAXcovp{FAX Cover Page}%
+ \PhrFAXpgcnt{FAX Page Count}%
+ \PhrFax{FAX}%
+ \PhrPager{Pager}%
+ \PhrEmail{E-mail}%
+ \PhrDocument{Document}%
+ \PhrPhone{Telephone}%
+ \PhrRe{Re}%
+ \PhrSubre{\ensuremath{\mathrm{Re}_2}}%
+ \PhrCc{cc}%
+ \PhrPs{Ps}%
+ \PhrMessage{Message}%
+ \PhrPps{Pps}%
+ \PhrPpps{Ppps}%
+ \PhrEncl{Encl}%
+ \PhrPager{Page}%
+ \PhrTo{To}%
+ \PhrFrom{From}%
+ \PhrRegard{Regarding}%
+ \PhrContact{Contact}%
+ \PhrRelease{For Immediate Release}%
+ \PhrMore{--- more ---}%
+ \PhrPRend{\# \# \#}%
}
\InputIfFileExists{extracd.tex}%
{\typeout{Reading alternative macro definitions from extracd.tex}}%
@@ -2317,17 +2228,17 @@
{\def\@def@l{piglatin}\setboolean{@l@pi}{true} \@pl@phr}%
\define@key{ov}{piglatin}[true]%
{\iffixq{#1}{\def\@def@l{piglatin}\setboolean{@l@pi}{true} \@pl@phr}}%
-% \end{macrocode}%
+% \end{macrocode}
%
-% \begin{macro}{Lengths}%
-% Length definitions are set up here. This is done by setting options mostly.%
-% These commands are either internal (begin with |@|) or user-optional (do%
-% not begin with |@|). User-optional commands are defined in the text%
-% above. %
-% \begin{macrocode}%
-\define@key{ov}{textwidthsize}{\setlength{\@text@width}{#1}}%
+% \begin{macro}{Lengths}
+% Length definitions are set up here. This is done by setting options mostly.
+% These commands are either internal (begin with |@|) or user-optional (do
+% not begin with |@|). User-optional commands are defined in the text
+% above.
+% \begin{macrocode}
+\define@key{ov}{textwidthsize}{\setlength{\@text@width}{#1}}
\def\textwidthsize#1{\setlength{\@text@width}{#1}}%
-\define@key{ov}{textheightsize}{\setlength{\@text@height}{#1}}%
+\define@key{ov}{textheightsize}{\setlength{\@text@height}{#1}}
\def\textheightsize#1{\setlength{\@text@height}{#1}}%
\define@key{ov}{bottommarginskip}{\setlength{\@marg@bt@a}{#1}}%
\def\bottommarginskip#1{\setlength{\@marg@bt@a}{#1}}%
@@ -2357,18 +2268,18 @@
{\setlength{\@marg@rt@tp@d}{#1}\setboolean{@marg@rt@fl@tp}{true}}%
\define@key{ov}{leftmarginskipleft}%
{\setlength{\@marg@lt@l}{#1}\setboolean{@marg@lt@fl@tp}{false}}%
-\def\leftmarginskipleft#1{\setlength{\@marg@lt@l}{#1}}%
+\def\leftmarginskipleft#1{\setlength{\@marg@lt@l}{#1}}%
\define@key{ov}{rightmarginskipleft}%
{\setlength{\@marg@rt@l}{#1}\setboolean{@marg@lt@fl@tp}{false}}%
-\def\rightmarginskipleft#1{\setlength{\@marg@rt@l}{#1}}%
-\def\leftmarginskipright#1{\setlength{\@marg@lt@r}{#1}}%
-\define@key{ov}{leftmarginskipright}{\setlength{\@marg@lt@r}{#1}}%
-\def\rightmarginskipright#1{\setlength{\@marg@rt@r}{#1}}%
-\define@key{ov}{rightmarginskipright}{\setlength{\@marg@rt@r}{#1}}%
-\def\dateskipbefore#1{\setlength{\@dt@sk@b}{#1}}%
-\define@key{ov}{dateskipbefore}{\setlength{\@dt@sk@b}{#1}}%
-\def\dateskipafter#1{\setlength{\@dt@sk@a}{#1}}%
-\define@key{ov}{dateskipafter}{\setlength{\@dt@sk@a}{#1}}%
+\def\rightmarginskipleft#1{\setlength{\@marg@rt@l}{#1}}%
+\def\leftmarginskipright#1{\setlength{\@marg@lt@r}{#1}}%
+\define@key{ov}{leftmarginskipright}{\setlength{\@marg@lt@r}{#1}}%
+\def\rightmarginskipright#1{\setlength{\@marg@rt@r}{#1}}%
+\define@key{ov}{rightmarginskipright}{\setlength{\@marg@rt@r}{#1}}%
+\def\dateskipbefore#1{\setlength{\@dt@sk@b}{#1}}%
+\define@key{ov}{dateskipbefore}{\setlength{\@dt@sk@b}{#1}}%
+\def\dateskipafter#1{\setlength{\@dt@sk@a}{#1}}%
+\define@key{ov}{dateskipafter}{\setlength{\@dt@sk@a}{#1}}%
\def\addrfromskipafter#1{\setlength{\@addr@fr@sk@a}{#1}}%
\define@key{ov}{addrfromskipafter}{\setlength{\@addr@fr@sk@a}{#1}}%
\def\addrfromskipbefore#1{\setlength{\@addr@fr@sk@b}{#1}}%
@@ -2379,12 +2290,14 @@
\define@key{ov}{addrtoskipbefore}{\setlength{\@addr@to@sk@b}{#1}}%
\def\greettoskipafter#1{\setlength{\@greet@to@sk@a}{#1}}%
\define@key{ov}{greettoskipafter}{\setlength{\@greet@to@sk@a}{#1}}%
-\def\greettoskipbefore#1{\setlength{\@greet@to@sk@b}{#1}}%
-\define@key{ov}{greettoskipbefore}{\setlength{\@greet@to@sk@b}{#1}}%
\def\sigskipbefore#1{\setlength{\@sig@sk@b}{#1}}%
\define@key{ov}{sigskipbefore}{\setlength{\@sig@sk@b}{#1}}%
\def\sigskipafter#1{\setlength{\@sig@sk@a}{#1}}%
\define@key{ov}{sigskipafter}{\setlength{\@sig@sk@a}{#1}}%
+\def\closeskipbefore#1{\setlength{\@cls@sk@b}{#1}}%
+\define@key{ov}{closeskipbefore}{\setlength{\@cls@sk@b}{#1}}%
+\def\closeskipafter#1{\setlength{\@cls@sk@a}{#1}}%
+\define@key{ov}{closeskipafter}{\setlength{\@cls@sk@a}{#1}}%
\def\sigskipcolumn#1{\setlength{\@sig@sk@c}{#1}}%
\define@key{ov}{sigskipcolumn}{\setlength{\@sig@sk@c}{#1}}%
\def\sigskiprow#1{\setlength{\@sig@sk@r}{#1}}%
@@ -2422,8 +2335,8 @@
%
% \begin{macrocode}
\def\@opt@stm{
-\setboolean{@af@p}{false}%
-\setboolean{@at@p}{false}%
+\setboolean{@addr@fr@p}{false}%
+\setboolean{@addr@to@p}{false}%
\setboolean{@memo@bl}{true}%
\setboolean{@greet@p}{false}%
\setboolean{@dt@l}{false}%
@@ -2433,8 +2346,8 @@
\setboolean{@sig@mp}{true}%
}%
\def\@opt@stpr{
-\setboolean{@af@p}{false}%
-\setboolean{@at@p}{false}%
+\setboolean{@addr@fr@p}{false}%
+\setboolean{@addr@to@p}{false}%
\setboolean{@memo@bl}{true}%
\setboolean{@greet@p}{false}%
\setboolean{@dt@l}{false}%
@@ -2444,8 +2357,8 @@
\setboolean{@sig@mp}{true}%
}%
\def\@opt@flm{
-\setboolean{@af@p}{false}%
-\setboolean{@at@p}{false}%
+\setboolean{@addr@fr@p}{false}%
+\setboolean{@addr@to@p}{false}%
\setboolean{@memo@bl}{true}%
\setboolean{@greet@p}{false}%
\setboolean{@dt@l}{false}%
@@ -2464,37 +2377,37 @@
\setboolean{@memo@m}{true}%
\setboolean{@memo@n}{true}%
}%
-\DeclareOption{memoaddrto}{\setboolean{@memo@b}{true}}%
+\DeclareOption{memoaddrto}{\setboolean{@memo@b}{true}}%
\define@key{ov}{memoaddrto}[true]{\iffixt{#1}{@memo@b}}%
-\DeclareOption{memoemailto}{\setboolean{@memo@k}{true}}%
+\DeclareOption{memoemailto}{\setboolean{@memo@k}{true}}%
\define@key{ov}{memoemailto}[true]{\iffixt{#1}{@memo@k}}%
-\DeclareOption{memophoneto}{\setboolean{@memo@c}{true}}%
+\DeclareOption{memophoneto}{\setboolean{@memo@c}{true}}%
\define@key{ov}{memophoneto}[true]{\iffixt{#1}{@memo@c}}%
-\DeclareOption{memopagerto}{\setboolean{@memo@n}{true}}%
+\DeclareOption{memopagerto}{\setboolean{@memo@n}{true}}%
\define@key{ov}{memopagerto}[true]{\iffixt{#1}{@memo@n}}%
-\DeclareOption{memofaxto}{\setboolean{@memo@d}{true}}%
+\DeclareOption{memofaxto}{\setboolean{@memo@d}{true}}%
\define@key{ov}{memofaxto}[true]{\iffixt{#1}{@memo@d}}%
-\DeclareOption{memoaddrfrom}{\setboolean{@memo@h}{true}}%
+\DeclareOption{memoaddrfrom}{\setboolean{@memo@h}{true}}%
\define@key{ov}{memoaddrfrom}[true]{\iffixt{#1}{@memo@h}}%
-\DeclareOption{memoemailfrom}{\setboolean{@memo@l}{true}}%
+\DeclareOption{memoemailfrom}{\setboolean{@memo@l}{true}}%
\define@key{ov}{memoemailfrom}[true]{\iffixt{#1}{@memo@l}}%
-\DeclareOption{memopagerfrom}{\setboolean{@memo@m}{true}}%
+\DeclareOption{memopagerfrom}{\setboolean{@memo@m}{true}}%
\define@key{ov}{memopagerfrom}[true]{\iffixt{#1}{@memo@m}}%
-\DeclareOption{memophonefrom}{\setboolean{@memo@i}{true}}%
+\DeclareOption{memophonefrom}{\setboolean{@memo@i}{true}}%
\define@key{ov}{memophonefrom}[true]{\iffixt{#1}{@memo@i}}%
-\DeclareOption{memofaxfrom}{\setboolean{@memo@j}{true}}%
+\DeclareOption{memofaxfrom}{\setboolean{@memo@j}{true}}%
\define@key{ov}{memofaxfrom}[true]{\iffixt{#1}{@memo@j}}%
-\DeclareOption{memodate}{\setboolean{@dt@p}{true}}%
+\DeclareOption{memodate}{\setboolean{@dt@p}{true}}%
\define@key{ov}{memodate}[true]{\iffixt{#1}{@dt@p}}%
-\DeclareOption{memonofrom}{\setboolean{@memo@e}{false}}%
-\define@key{ov}{memonofrom}[false]{\iffixt{#1}{@memo@e}}%
-\DeclareOption{memonoto}{\setboolean{@memo@g}{false}}%
-\define@key{ov}{memonoto}[false]{\iffixt{#1}{@memo@g}}%
-\DeclareOption{memonore}{\setboolean{@memo@f}{false}}%
-\define@key{ov}{memonore}[false]{\iffixt{#1}{@memo@f}}%%
-\DeclareOption{fullmemo}{\@opt@flm}%
+\DeclareOption{memonofrom} {\setboolean{@memo@e}{true}}%
+\define@key{ov}{memonofrom}[true]{\iffixt{#1}{@memo@e}}%
+\DeclareOption{memonoto} {\setboolean{@memo@g}{true}}%
+\define@key{ov}{memonoto}[true]{\iffixt{#1}{@memo@g}}%
+\DeclareOption{memonore} {\setboolean{@memo@f}{true}}%
+\define@key{ov}{memonore}[true]{\iffixt{#1}{@memo@f}}%
+\DeclareOption{fullmemo}{\@opt@flm}%
\define@key{ov}{fullmemo}[true]{\iffixq{#1}{\@opt@flm}}%
-\DeclareOption{stdmemo}{\@opt@stm}%
+\DeclareOption{stdmemo}{\@opt@stm}%
\define@key{ov}{stdmemo}[true]{\iffixq{#1}{\@opt@stm}}%
% \end{macrocode}
% \end{macro}
@@ -2505,8 +2418,8 @@
%
% \begin{macrocode}
\def\@opt@pr{
-\setboolean{@af@p}{true}%
-\setboolean{@at@p}{false}%
+\setboolean{@addr@fr@p}{true}%
+\setboolean{@addr@to@p}{false}%
\setboolean{@pr@p}{true}%
\setboolean{@greet@p}{false}%
\setboolean{@dt@l}{false}%
@@ -2557,57 +2470,6 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{Specials}
-% Special definitions. These commands define the tools for including
-% specials into a letter. A special is a piece of text not covered by
-% the usual definitions. Specials can be included by the command
-% |\speciala{textx}{row}{col}|. The special is printed in the
-% ``address-area'' of the letter. The ``address-area'' is divided into a
-% grid that is 6 rows by 3 columns.
-% \begin{macrocode}
-\providecommand{\speciala}[3]
- {\def\@spec@a{#1}\def\@row@a{#2}\def\@col@a{#3}\setboolean{@use@spec@a}{true}}%
-\def\@col@a{}\def\@row@a{}\def\@spec@a{}
-\newboolean{@use@spec@a}\setboolean{@use@spec@a}{false}%
-\providecommand{\specialb}[3]
- {\def\@spec@b{#1}\def\@row@b{#2}\def\@col@b{#3}\setboolean{@use@spec@b}{true}}%
-\def\@col@b{}\def\@row@b{}\def\@spec@b{}
-\newboolean{@use@spec@b}\setboolean{@use@spec@b}{false}%
-\providecommand{\specialc}[3]
- {\def\@spec@c{#1}\def\@row@c{#2}\def\@col@c{#3}\setboolean{@use@spec@c}{true}}%
-\def\@col@c{}\def\@row@c{}\def\@spec@c{}
-\newboolean{@use@spec@c}\setboolean{@use@spec@c}{false}%
-\providecommand{\speciald}[3]
- {\def\@spec@d{#1}\def\@row@d{#2}\def\@col@d{#3}\setboolean{@use@spec@d}{true}}%
-\def\@col@d{}\def\@row@d{}\def\@spec@d{}
-\newboolean{@use@spec@d}\setboolean{@use@spec@d}{false}%
-\providecommand{\speciale}[3]
- {\def\@spec@e{#1}\def\@row@e{#2}\def\@col@e{#3}\setboolean{@use@spec@e}{true}}%
-\def\@col@e{}\def\@row@e{}\def\@spec@e{}
-\newboolean{@use@spec@e}\setboolean{@use@spec@e}{false}%
-\providecommand{\specialf}[3]
- {\def\@spec@f{#1}\def\@row@f{#2}\def\@col@f{#3}\setboolean{@use@spec@f}{true}}%
-\def\@col@f{}\def\@row@f{}\def\@spec@f{}
-\newboolean{@use@spec@f}\setboolean{@use@spec@f}{false}%
-\providecommand{\specialg}[3]
- {\def\@spec@g{#1}\def\@row@g{#2}\def\@col@g{#3}\setboolean{@use@spec@g}{true}}%
-\def\@col@g{}\def\@row@g{}\def\@spec@g{}
-\newboolean{@use@spec@g}\setboolean{@use@spec@g}{false}%
-\providecommand{\specialh}[3]
- {\def\@spec@h{#1}\def\@row@h{#2}\def\@col@h{#3}\setboolean{@use@spec@h}{true}}%
-\def\@col@h{}\def\@row@h{}\def\@spec@h{}
-\newboolean{@use@spec@h}\setboolean{@use@spec@h}{false}%
-\providecommand{\spacespa}[2]{\def\@sp@bef@a{#1}\def\@sp@aft@a{#2}} \spacespa{0pt}{0pt}%
-\providecommand{\spacespb}[2]{\def\@sp@bef@b{#1}\def\@sp@aft@b{#2}} \spacespb{0pt}{0pt}%
-\providecommand{\spacespc}[2]{\def\@sp@bef@c{#1}\def\@sp@aft@c{#2}} \spacespc{0pt}{0pt}%
-\providecommand{\spacespd}[2]{\def\@sp@bef@d{#1}\def\@sp@aft@d{#2}} \spacespd{0pt}{0pt}%
-\providecommand{\spacespe}[2]{\def\@sp@bef@e{#1}\def\@sp@aft@e{#2}} \spacespe{0pt}{0pt}%
-\providecommand{\spacespf}[2]{\def\@sp@bef@f{#1}\def\@sp@aft@f{#2}} \spacespf{0pt}{0pt}%
-\providecommand{\spacespg}[2]{\def\@sp@bef@g{#1}\def\@sp@aft@g{#2}} \spacespg{0pt}{0pt}%
-\providecommand{\spacesph}[2]{\def\@sp@bef@h{#1}\def\@sp@aft@h{#2}} \spacesph{0pt}{0pt}%
-% \end{macrocode}%
-% \end{macro}
-%
% \begin{macro}{Letters}
% Letter definitions. These commands define the overall structures for
% standard letters (with and without from-addresses). There are commands
@@ -2616,16 +2478,16 @@
% types of information.
% \begin{macrocode}
\def\@opt@slr{
-\setboolean{@af@l}{false}%
-\setboolean{@af@p}{true}%
-\setboolean{@at@p}{true}%
+\setboolean{@addr@fr@l}{false}%
+\setboolean{@addr@fr@p}{true}%
+\setboolean{@addr@to@p}{true}%
\setboolean{@dt@p}{true}%
\setboolean{@dt@l}{false}%
\setboolean{@dt@c}{false}%
\setboolean{@greet@p}{true}%
\setboolean{@sig@p}{true}%
\setboolean{@sig@mp}{false}%
-\setboolean{@at@l}{true}%
+\setboolean{@addr@to@l}{true}%
\setboolean{@memo@bl}{false}%
\setboolean{@dt@l}{false}%
\setboolean{@sig@l}{false}%
@@ -2633,16 +2495,16 @@
\@d@pos{1}\@t@pos{3}\@f@pos{2}\setboolean{@s@b@s}{false}}
\DeclareOption{stdletter}{\@opt@slr}%
\define@key{ov}{stdletter}[true]{\iffixq{#1}{\@opt@slr}}%
-\def\@opt@sln{\setboolean{@af@l}{false} %
-\setboolean{@af@p}{false} %
-\setboolean{@at@p}{true} %
+\def\@opt@sln{\setboolean{@addr@fr@l}{false} %
+\setboolean{@addr@fr@p}{false} %
+\setboolean{@addr@to@p}{true} %
\setboolean{@dt@p}{true}%
\setboolean{@dt@l}{false}%
\setboolean{@dt@c}{false}%
\setboolean{@greet@p}{true}%
\setboolean{@sig@p}{true}%
\setboolean{@sig@mp}{false}%
-\setboolean{@at@l}{true} %
+\setboolean{@addr@to@l}{true} %
\setboolean{@memo@bl}{false}%
\setboolean{@dt@l}{false}%
\setboolean{@sig@l}{false}%
@@ -2650,10 +2512,10 @@
\@d@pos{1}\@t@pos{3}\@f@pos{2}\setboolean{@s@b@s}{false}}
\DeclareOption{stdletternofrom} {\@opt@sln}%
\define@key{ov}{stdletternofrom}[true]{\iffixq{#1}{\@opt@sln}}%
-\def\@opt@blr{\setboolean{@af@l}{true}%
-\setboolean{@af@p}{true}%
+\def\@opt@blr{\setboolean{@addr@fr@l}{true}%
+\setboolean{@addr@fr@p}{true}%
\setboolean{@memo@bl}{false}%
-\setboolean{@at@l}{true}%
+\setboolean{@addr@to@l}{true}%
\setboolean{@dt@l}{true}%
\setboolean{@dt@c}{false}%
\setboolean{@sig@l}{true}%
@@ -2663,10 +2525,10 @@
\@d@pos{1}\@t@pos{3}\@f@pos{2}\setboolean{@s@b@s}{false}}
\DeclareOption{busletter} {\@opt@blr}%
\define@key{ov}{busletter}[true]{\iffixq{#1}{\@opt@blr}}%
-\def\@opt@bln{\setboolean{@af@l}{true}%
-\setboolean{@af@p}{false}%
+\def\@opt@bln{\setboolean{@addr@fr@l}{true}%
+\setboolean{@addr@fr@p}{false}%
\setboolean{@memo@bl}{false}%
-\setboolean{@at@l}{true}%
+\setboolean{@addr@to@l}{true}%
\setboolean{@dt@l}{true}%
\setboolean{@dt@c}{false}%
\setboolean{@sig@l}{true}%
@@ -2677,14 +2539,14 @@
\DeclareOption{busletternofrom} {\@opt@bln}%
\newboolean{@test@opt}\setboolean{@test@opt}{false}
\define@key{ov}{busletternofrom}[true]{\iffixq{#1}{\@opt@bln}}%
-\DeclareOption{addrfromleft} {\setboolean{@af@l}{true}}%
-\define@key{ov}{addrfromleft}[true]{\iffixt{#1}{@af@l}}%
-\DeclareOption{addrfromright}{\setboolean{@af@l}{false}}%
-\define@key{ov}{addrfromright}[true]{\iffixf{#1}{@af@l}}%
-\DeclareOption{addrtoleft} {\setboolean{@at@l}{true}}%
-\define@key{ov}{addrtoleft}[true]{\iffixt{#1}{@at@l}}%
-\DeclareOption{addrtoright} {\setboolean{@at@l}{false}}%
-\define@key{ov}{addrtoright}[true]{\iffixf{#1}{@at@l}}%
+\DeclareOption{addrfromleft} {\setboolean{@addr@fr@l}{true}}%
+\define@key{ov}{addrfromleft}[true]{\iffixt{#1}{@addr@fr@l}}%
+\DeclareOption{addrfromright}{\setboolean{@addr@fr@l}{false}}%
+\define@key{ov}{addrfromright}[true]{\iffixf{#1}{@addr@fr@l}}%
+\DeclareOption{addrtoleft} {\setboolean{@addr@to@l}{true}}%
+\define@key{ov}{addrtoleft}[true]{\iffixt{#1}{@addr@to@l}}%
+\DeclareOption{addrtoright} {\setboolean{@addr@to@l}{false}}%
+\define@key{ov}{addrtoright}[true]{\iffixf{#1}{@addr@to@l}}%
\DeclareOption{addrtoemail} {\setboolean{@addr@to@e}{true}}%
\define@key{ov}{addrtoemail}[true]{\iffixt{#1}{@addr@to@e}}%
\DeclareOption{addrtophone} {\setboolean{@addr@to@t}{true}}%
@@ -2708,7 +2570,7 @@
\def\Alaba{\def\@labname{Avery5160,nolines,dateno}%
\setboolean{@set@env}{true}\setboolean{@use@envlab}{false} \def\@tab@just{rrr}\labpl{10.125in}%
\setcounter{@lab@tot@row}{10} \setcounter{@lab@tot@col}{3} \btwlb{5pt}%
- \boxht{73pt} \boxwd{164pt} \topht{90pt} \lftwd{-88pt} \setlength{\@Hgt@Foot}{0pt}}%
+ \boxht{67pt} \boxwd{174pt} \topht{38pt} \lftwd{-77pt} \setlength{\@Hgt@Foot}{0pt}}%
\def\Alabb{\def\@labname{Avery5161,nolines,dateno}%
\setboolean{@set@env}{true}\setboolean{@use@envlab}{false} \def\@tab@just{rr}\labpl{10.125in}%
\setcounter{@lab@tot@row}{10} \setcounter{@lab@tot@col}{2} \btwlb{8pt}%
@@ -2770,14 +2632,14 @@
% Set the marginal gap 20p
\DeclareOption{biggap}{\setboolean{@gap@small}{false}}%
% Do not print from-address.
-\DeclareOption{addrfromno}{\setboolean{@af@p}{false}}%
-\DeclareOption{noaddrfr}{\setboolean{@af@p}{false}}%
-\DeclareOption{noaddrfrom}{\setboolean{@af@p}{false}}%
-\define@key{ov}{noaddrfrom}[true]{\iffixf{#1}{@af@p}}%
+\DeclareOption{addrfromno}{\setboolean{@addr@fr@p}{false}}%
+\DeclareOption{noaddrfr}{\setboolean{@addr@fr@p}{false}}%
+\DeclareOption{noaddrfrom}{\setboolean{@addr@fr@p}{false}}%
+\define@key{ov}{noaddrfrom}[true]{\iffixf{#1}{@addr@fr@p}}%
% Do not print to-address.
-\DeclareOption{addrtono}{\setboolean{@at@p}{false}}%
-\DeclareOption{noaddrto}{\setboolean{@at@p}{false}}%
-\define@key{ov}{noaddrto}[true]{\iffixf{#1}{@at@p}}%
+\DeclareOption{addrtono}{\setboolean{@addr@to@p}{false}}%
+\DeclareOption{noaddrto}{\setboolean{@addr@to@p}{false}}%
+\define@key{ov}{noaddrto}[true]{\iffixf{#1}{@addr@to@p}}%
% Do not print greeting
\DeclareOption{greetno}{\setboolean{@greet@p}{false}}%
\define@key{ov}{nogreet}[true]{\iffixf{#1}{@greet@p}}%
@@ -2837,8 +2699,8 @@
\define@key{ov}{signatureno}[true]{\iffixf{#1}{@sig@p}}%
% Print all fr \info.
\def\@fix@all@fr{\setboolean{@use@all@fr}{true}
-\setboolean{@af@p}{true}%
-\setboolean{@af@l}{true}%
+\setboolean{@addr@fr@p}{true}%
+\setboolean{@addr@fr@l}{true}%
\setboolean{@addr@fr@f}{true}%
\setboolean{@addr@fr@e}{true}%
\setboolean{@addr@fr@t}{true}}%
@@ -2847,8 +2709,8 @@
\define@key{ov}{printallfrom}[true]{\iffixq{#1}{\@fix@all@fr}}%
% Print all to \info.
\def\@fix@all@to{\setboolean{@use@all@to}{true}
-\setboolean{@at@p}{true}%
-\setboolean{@at@l}{true}%
+\setboolean{@addr@to@p}{true}%
+\setboolean{@addr@to@l}{true}%
\setboolean{@addr@to@f}{true}%
\setboolean{@addr@to@e}{true}%
\setboolean{@addr@to@t}{true}}%
@@ -2897,62 +2759,28 @@
\setboolean{@B@h}{true}\setboolean{@B@r}{true}%
\setboolean{@b@f}{true}\setboolean{@b@l}{true}%
\setboolean{@b@h}{true}\setboolean{@b@r}{true}}}%
-% Use envelopes
-\def\@set@pap#1#2#3{\def\@paper@type{#1}\setlength\@stock@height{#2}\setlength\@stock@width{#3}}%
\DeclareOption{useenvlab}{\setboolean{@set@env}{false}\setboolean{@use@envlab}{true}}%
\define@key{ov}{useenvlab}[true]{
\iffixq{#1}{\setboolean{@use@envlab}{true}\setboolean{@set@env}{false}}}%
-% Use letterpaper
-\DeclareOption{letterpaper}{\@set@pap{letterpaper}{11in}{8.5in}}%
-\define@key{ov}{letterpaper}[true]{\iffixq{#1}{\@set@pap{letterpaper}{11in}{8.5in}}}%
-% Use letterpaper
-\DeclareOption{bigpaper}{\@set@pap{bigpaper}{17in}{11in}}%
-\define@key{ov}{bigpaper}[true]{\iffixq{#1}{\@set@pap{bigpaper}{17in}{11in}}}%
-% Use legalpaper
-\DeclareOption{legalpaper}{\@set@pap{legalpaper}{14in}{8.5in}}%
-\define@key{ov}{legalpaper}[true]{\iffixq{#1}{\@set@pap{legalpaper}{14in}{8.5in}}}%
-% Use executivepaper
-\DeclareOption{executivepaper}{\@set@pap{executivepaper}{10.5in}{7.25in}}%
-\define@key{ov}{executivepaper}[true]{\iffixq{#1}{\@set@pap{executivepaper}{10.5in}{7.25in}}}%
-% Use ebook
-\DeclareOption{ebook}{\@set@pap{ebook}{9in}{6in}}%
-\define@key{ov}{ebook}[true]{\iffixq{#1}{\@set@pap{ebook}{9in}{6in}}}%
-% Use a3
-\DeclareOption{a3paper}{\@set@pap{a3paper}{420mm}{297mm}}%
-\define@key{ov}{a3paper}[true]{\iffixq{#1}{\@set@pap{a3paper}{420mm}{297mm}}}%
-% Use a4
-\DeclareOption{a4paper}{\@set@pap{a4paper}{297mm}{210mm}}%
-\define@key{ov}{a4paper}[true]{\iffixq{#1}{\@set@pap{a4paper}{297mm}{210mm}}}%
-% Use a5
-\DeclareOption{a5paper}{\@set@pap{a5paper}{210mm}{148mm}}%
-\define@key{ov}{a5paper}[true]{\iffixq{#1}{\@set@pap{a5paper}{210mm}{148mm}}}%
-% Use a6
-\DeclareOption{a6paper}{\@set@pap{a6paper}{148mm}{105mm}}%
-\define@key{ov}{a6paper}[true]{\iffixq{#1}{\@set@pap{a6paper}{148mm}{105mm}}}%
-% Use b3
-\DeclareOption{b3paper}{\@set@pap{b3paper}{500mm}{353mm}}%
-\define@key{ov}{b3paper}[true]{\iffixq{#1}{\@set@pap{b3paper}{500mm}{353mm}}}%
-% Use b4
-\DeclareOption{b4paper}{\@set@pap{b4paper}{353mm}{250mm}}%
-\define@key{ov}{b4paper}[true]{\iffixq{#1}{\@set@pap{b4paper}{353mm}{250mm}}}%
-% Use b5
-\DeclareOption{b5paper}{\@set@pap{b5paper}{250mm}{176mm}}%
-\define@key{ov}{b5paper}[true]{\iffixq{#1}{\@set@pap{b5paper}{250mm}{176mm}}}%
-% Use b6
-\DeclareOption{b6paper}{\@set@pap{b6paper}{176mm}{125mm}}%
-\define@key{ov}{b6paper}[true]{\iffixq{#1}{\@set@pap{b6paper}{176mm}{125mm}}}%
-% Set default options here
-\setkeys{ov}{textwidthsize=-1pt,textheightsize=-1pt,bottommarginskip=5pt,letterpaper,%
+\def\@paper@type{letterpaper}%
+\DeclareOption{letterpaper}{\def\@paper@type{letterpaper}}%
+\define@key{ov}{letterpaper}[true]{\iffixq{#1}{\def\@paper@type{letterpaper}}}%
+\DeclareOption{legalpaper}{\def\@paper@type{legalpaper}}
+\define@key{ov}{legalpaper}[true]{\iffixq{#1}{\def\@paper@type{legalpaper}}}%
+\DeclareOption{a4paper}{\def\@paper@type{a4paper}}
+\define@key{ov}{a4paper}[true]{\iffixq{#1}{\def\@paper@type{a4paper}}}%
+\DeclareOption{a3paper}{\def\@paper@type{a3paper}}
+\define@key{ov}{a3paper}[true]{\iffixq{#1}{\def\@paper@type{a3paper}}}%
+\setkeys{ov}{textwidthsize=-1pt,textheightsize=-1pt,bottommarginskip=5pt,%
headermarginskip=0pt,rightmarginsize=72pt,leftmarginsize=72pt,bottommarginskipbelow=5pt,%
leftmargintopdist=-1pt,addrtoskipafter=18pt,unprright=-1pt,labsize=\normalsize,%
-leftmarginskipleft=10pt,leftmarginskipright=10pt,dateskipbefore=0pt,%
-dateskipafter=0pt,addrfromskipafter=0pt,addrfromskipbefore=0pt,%
-greettoskipafter=0pt,sigskipbefore=12pt,sigskipafter=12pt,sigsize=72pt,%
+leftmarginskipleft=10pt,leftmarginskipright=10pt,dateskipbefore=20pt,%
+dateskipafter=36pt,addrfromskipafter=36pt,addrfromskipbefore=0pt,%
+greettoskipafter=18pt,sigskipbefore=12pt,sigskipafter=12pt,sigsize=72pt,%
postsigskipafter=10pt,memoskipafter=15pt,memoskipbefore=35pt,unprtop=-1pt,unprbottom=-1pt,%
unprleft=-1pt}%
% \end{macrocode}%
% \end{macro}
-%
% \subsection{Executing Options}
% Here we execute the default options to initialize certain variables.
% \begin{macrocode}
@@ -3211,7 +3039,6 @@ unprleft=-1pt}%
%<*setdim>
\def\ifta{0}\def\iftb{0}%
\def\txa#1{\ifthenelse{\equal{\ifta}{1}}{\typeout{#1}}{}}%%
-% Set text margin parameters
\def\settext#1#2#3#4#5{%
\txa{\string\textheight: #1}\txa{\string\textwidth: #2}%
\global\setlength{\textheight}{#1}%
@@ -3221,7 +3048,6 @@ unprleft=-1pt}%
\global\setlength{\columnsep}{#5}%
\@change@text%
}
-% Set text margin parameters locally, not globally
\def\lsettext#1#2#3#4#5{%
\txa{\string\textheight: #1}\txa{\string\textwidth: #2}%
\setlength{\textheight}{#1}%
@@ -3231,7 +3057,6 @@ unprleft=-1pt}%
\setlength{\columnsep}{#5}%
\@lchange@text%
}
-% Change text margin parameters
\def\@change@text{%
\global\setlength{\@colht}{\textheight}%
\txa{\string\@colht:\the\@colht}%
@@ -3245,7 +3070,6 @@ unprleft=-1pt}%
\global\setlength{\hsize}{\columnwidth}%
\global\setlength{\linewidth}{\hsize}%
}%
-% Change text margin parameters locally, not globally
\def\@lchange@text{%
\setlength{\@colht}{\textheight}%
\txa{\string\@colht:\the\@colht}%
@@ -3259,7 +3083,6 @@ unprleft=-1pt}%
\setlength{\hsize}{\columnwidth}%
\setlength{\linewidth}{\hsize}%
}%
-% Retain dimensions for change at a point, and later restoration
\def\retdims{%
\showdim{Setpage A}%
\txa{In setpage: \npind}%
@@ -3273,7 +3096,6 @@ unprleft=-1pt}%
\global\setlength{\@xdh}{\headsep}%
\global\setlength{\@xdi}{\footskip}%
}
-% Restore dimensions from change at a point
\def\rstdims{%
\showdim{Setpage A}%
\txa{In setpage: \npind}%
@@ -3288,7 +3110,6 @@ unprleft=-1pt}%
\global\setlength{\footskip}{\@xdi}%
\@change@text%
}
-% Set all dimensions
\def\setpage#1#2#3#4#5#6#7#8#9{%
\showdim{Setpage A}%
\txa{In setpage: \npind}%
@@ -3437,7 +3258,8 @@ unprleft=-1pt}%
% \end{enumerate}
% \begin{macrocode}
\newcommand{\Prnt@Chk}[7]{%
- \ifthenelse{\boolean{#1}}{\ifempty{#6}{}{\vspace*{-2\parskip}\vspace*{#6}}}{}%
+ \ifthenelse{\boolean{#1}}{\ifempty{#6}{}{%
+ \vspace*{-2\parskip}\vspace*{#6}}}{}%
\ifthenelse{\boolean{#1}}%
{\ifthenelse{\boolean{#2}}{\begin{flushleft}{#4}\end{flushleft}}%
{\ifthenelse{\boolean{#3}}%
@@ -3555,8 +3377,8 @@ unprleft=-1pt}%
\begin{flushleft}%
\rule{\textwidth}{1pt} \par \noindent%
\centerline{\LARGE \@pr@release \strut} \par\noindent%
-\rule{\textwidth}{1pt} \par \noindent%
-\txa{After first block}%
+\rule{\textwidth}{1pt} \par \noindent
+\txa{After first block}
\setlength{\tabcolsep}{0pt}%
\begin{tabular}{l@{\hspace{1em}}l}%
\textbf{\@contact@phr:} & \@name@fr \strut \\%
@@ -3569,14 +3391,14 @@ unprleft=-1pt}%
\textbf{Date:} & \@xdate%
\end{tabular}%
\end{flushleft}%
-\txa{After endflushleft}%
-\rule{\textwidth}{1pt} \par \noindent%
-\centerline{\textbf{\Large \@pr@headline}} \par \noindent%
-\rule{\textwidth}{1pt} \par \noindent%
+\txa{After endflushleft}
+\rule{\textwidth}{1pt} \par \noindent
+\centerline{\textbf{\Large \@pr@headline}} \par \noindent
+\rule{\textwidth}{1pt} \par \noindent
\ifthenelse{\boolean{@space@d}}{\begin{doublespace}}{\begin{singlespace}}%
-\ifthenelse{\boolean{@pr@by}}{\noindent \@pr@byline \\}{}%
-\noindent%
-\txa{end of pressbegin}%
+\ifthenelse{\boolean{@pr@by}}{\noindent \@pr@byline \\}{}
+\noindent
+\txa{end of pressbegin}
}%
\InputIfFileExists{prsrls.tex}%
{\typeout{Reading press release page setup from prsrls.tex}}%
@@ -3598,10 +3420,10 @@ unprleft=-1pt}%
% \end{enumerate}
%
% \begin{macrocode}
-\txa{Next part}%
+\txa{Next part}
\newcommand*{\faxpage}{{%
\def\ifta{0}\showdim{Before setpage inside faxpage}%
-\lsetpage{\@fax@height}{\@fax@width}{1in}{0in}{.25in}{1in}{.75in}{.25in}{.25in}%
+\lsetpage{722pt}{6.5in}{1in}{0in}{.25in}{1in}{.75in}{.25in}{.25in}%
\showdim{After setpage}%
{\def\ifta{0}\showdim{Before fax page setup A}%
\setlength{\@utila}{\paperheight}\addtolength{\@utila}{-1in}%
@@ -3707,7 +3529,7 @@ unprleft=-1pt}%
% \end{macrocode}
% \end{macro}
% \subsection{Start of letter document}
-% \begin{macro}{\@open@lfm}
+% \begin{macro}{\openlfm}
% Begin letter here. First check for left margin boxes; if one has been
% specified, set it into the margin, and change the margin spacing
% accordingly. After that, the left, right and center under-margin boxes
@@ -3715,90 +3537,48 @@ unprleft=-1pt}%
% Finally, we print (optionally) date, from-address, to-address and opening
% salutation.
% \begin{macrocode}
-\newcommand{\@set@col}[4]{\ifthenelse{\boolean{#1}}{
-\settowidth{\@utile}{\usebox{#2}}
-\ifthenelse{\lengthtest{\@utile>\@utila}}{\setlength{\@utila}{\@utile}}{}
-\settowidth{\@utile}{\usebox{#4}}
-\ifthenelse{\lengthtest{\@utile>\@utilb}}{\setlength{\@utilb}{\@utile}}{}
-}{}}%
-\newcommand{\@set@box}[6]{%
-\setboolean{@ztilb}{true}%
-\ifthenelse{\swtch=1}{%
-\setboolean{@ztila}{true}%
-\ifthenelse{\boolean{@ztila}}{\ifthenelse{#1=1}%
-{\renewcommand{#1}{a}\setboolean{@ztila}{false}}{}}{}%
-\ifthenelse{\boolean{@ztila}}{\ifthenelse{#1=2}%
-{\renewcommand{#1}{b}\setboolean{@ztila}{false}}{}}{}%
-\ifthenelse{\boolean{@ztila}}{\ifthenelse{#1=3}%
-{\renewcommand{#1}{c}\setboolean{@ztila}{false}}{}}{}%
-\ifthenelse{\boolean{@ztila}}{\ifthenelse{#1=4}%
-{\renewcommand{#1}{d}\setboolean{@ztila}{false}}{}}{}%
-\ifthenelse{\boolean{@ztila}}{\ifthenelse{#1=5}%
-{\renewcommand{#1}{e}\setboolean{@ztila}{false}}{}}{}%
-\ifthenelse{\boolean{@ztila}}{\ifthenelse{#1=6}%
-{\renewcommand{#1}{f}\setboolean{@ztila}{false}}{}}{}%
-\ifthenelse{\boolean{@ztila}}{\ifthenelse{#1=7}%
-{\renewcommand{#1}{g}\setboolean{@ztila}{false}}{}}{}%
-\ifthenelse{\boolean{@ztila}}{\ifthenelse{#1=8}%
-{\renewcommand{#1}{h}\setboolean{@ztila}{false}}{}}{}%
-\ifthenelse{\boolean{@ztila}}%
-{\typeout{Row index for Special #4 incorrect - print cancelled}%
-\setboolean{@ztilb}{false}}{}\setboolean{@ztila}{true}%
-\ifthenelse{\boolean{@ztila}}{\ifthenelse{#2=1}%
-{\renewcommand{#2}{a}\setboolean{@ztila}{false}}{}}{}%
-\ifthenelse{\boolean{@ztila}}{\ifthenelse{#2=2}%
-{\renewcommand{#2}{b}\setboolean{@ztila}{false}}{}}{}%
-\ifthenelse{\boolean{@ztila}}{\ifthenelse{#2=3}%
-{\renewcommand{#2}{c}\setboolean{@ztila}{false}}{}}{}%
-\ifthenelse{\boolean{@ztila}}%
-{\typeout{Column index for Special #4 incorrect - print cancelled}%
-\setboolean{@ztilb}{false}}{}}{}%
-\ifthenelse{\boolean{@ztilb}}{\sbox{\csname @hblk@#1#2\endcsname}{\usebox{#3}}%
-\setboolean{@hblk@#1}{true}%
-\addtolength{\csname @hblk@#1@bef\endcsname}{#5}%
-\addtolength{\csname @hblk@#1@aft\endcsname}{#6}}{}%
-}%
\newcommand{\ifempty}[3]{\ifthenelse{\equal{#1}{}}{#2}{#3}}%
\newcommand{\ifpempty}[3]{\ifthenelse{\equal{\protect#1}{}}{#2}{#3}}%
+\newcommand{\@prnt@sec}[1]{% Actual printing of addresses here
+\ifthenelse{#1=\@intd@pos}%
+{\Prnt@Chk{@dt@p}{@dt@l}{@dt@c}{\@xdate}{}{\@dt@sk@b}{\@dt@sk@a}}{}%
+\ifthenelse{#1=\@intf@pos}%
+{\Prnt@Chk{@addr@fr@p}{@addr@fr@l}{@no@cen}%
+{\usebox{\b@addr@fr}}{}{\@addr@fr@sk@b}{\@addr@fr@sk@a}}{}%
+\ifthenelse{#1=\@intt@pos}%
+{\Prnt@Chk{@addr@to@p}{@addr@to@l}{@no@cen}%
+{\usebox{\b@addr@to}}{}{\@addr@to@sk@b}{\@addr@to@sk@a}}{}%
+}%
% \end{macrocode}
% This is the actual section for openlfm.
% \begin{macrocode}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\@open@lfm{%
+\newcommand*{\openlfm}{%
+\ifthenelse{\boolean{@use@water}}
+{\ClearShipoutPicture
+\AddToShipoutPicture{\includegraphics[natheight=11in,natwidth=8.5in]{\@water@page}}
+}{}
\def\ifta{0}%
-\txa{Start of the @open@lfm}%
\ifthenelse{\boolean{@marg@Ruse}}% Here we set up right-side marginal notes
{\setlength{\@utile}{-\@Hgt@Head+\@marg@rt@tp@d}% Adjust column top to leftmargintopdist
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Set margin par stuff printed in margin
\normalmarginpar%
-\marginpar{\vspace*{\the\@utile}\hspace*{\@marg@rt@l}\hspace*{-\marginparsep}\@Rmarg}}{}%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Print in the left margin?
-\ifthenelse{\boolean{@marg@Luse}}{% Here we set up left-side marginal notes
-\setlength{\@utile}{-\@Hgt@Head+\@marg@lt@tp@d}% Adjust column top to leftmargintopdist
-\reversemarginpar\txa{Left margin}% Switch margin printing to other side
-\marginpar{\vspace*{\the\@utile}\hspace*{\@marg@lt@l}\@Lmarg}}{}%
-\settoheight{\@utild}{Test testy}%
-\setlength{\@utile}{\headrulewidth}\addtolength{\@utile}{-3\@utild}
-\vspace*{\@utile}%
+\marginpar{\vspace*{\the\@utile} \hspace*{\@marg@rt@l}\hspace*{-\marginparsep} \@Rmarg}}{}
+\ifthenelse{\boolean{@marg@Luse}}% Here we set up left-side marginal notes
+{\setlength{\@utile}{-\@Hgt@Head+\@marg@lt@tp@d}% Adjust column top to leftmargintopdist
+\reversemarginpar\txa{Left margin}%
+\marginpar{\vspace*{\the\@utile} \hspace*{\@marg@lt@l} \@Lmarg}}{}%
+\ifpempty{\@LUheader}{}{\@LUheader \hfill}%
+\ifpempty{\@CUheader}{}{\hfill \@CUheader \hfill}%
+\ifpempty{\@RUheader}{}{\hfill \@RUheader}%
\txa{Running memosec}% Memo processing
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Print memo block?
\ifthenelse{\boolean{@memo@bl}}%
-{{\memosec}\setboolean{@dt@p}{false}\setboolean{@no@spc}{true}}{}%Memo
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Press release
+{{\memosec}\setboolean{@dt@p}{false}%
+\setboolean{@no@spc}{true}}% %Memo
+{}%
\txa{Running pressbegin}%
\ifthenelse{\boolean{@pr@p}}%
{\pressbegin% Press release processing
-\txa{here we go again - out of pressbegin}%
-\setboolean{@no@spc}{true}}{}% % Press Release
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Set the from info into a box - on first pass, measure - second pass, fit
-% parbox to the measure
-%A2%
-\txa{Fixing boxes}%
+\txa{here we go again - out of pressbegin}
+\setboolean{@no@spc}{true}} {}% % Press Release
\sbox{\b@addr@fr}{\noindent\setlength{\tabcolsep}{0pt}% Address-from into a box
\raggedleft\begin{tabular}{l@{}}%
\noindent\ignorespaces\@addr@fr%
@@ -3808,228 +3588,45 @@ unprleft=-1pt}%
\end{tabular}}%
\settowidth{\@utilc}{\usebox{\b@addr@fr}}%
\sbox{\b@addr@fr}{\noindent\setlength{\tabcolsep}{0pt}%
-\parbox[t]{\@utilc}{\noindent\setlength{\tabcolsep}{0pt}%
+\parbox[t]{\@utilc}{\noindent%
+\begin{tabular}{l@{}}%
\ignorespaces\@addr@fr%
\ifthenelse{\boolean{@addr@fr@t}}{\\ \@phn@phr: \@phn@fr}{}%
\ifthenelse{\boolean{@addr@fr@f}}{\\ \@fax@phr: \@fax@fr}{}%
\ifthenelse{\boolean{@addr@fr@e}}{\\ \@email@phr: \@email@fr}{}%
-}}%
-\txa{Done with box}%
-%B1%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Set the to info into a box - on first pass, measure - second pass, fit
-% parbox to the measure
-\sbox{\b@addr@to}{\noindent\setlength{\tabcolsep}{0pt}% Address-from into a box
+\end{tabular}}}%
+\sbox{\b@addr@to}{\noindent\setlength{\tabcolsep}{0pt}%Address-to into a box
\raggedleft\begin{tabular}{l@{}}%
-\noindent\ignorespaces\@name@to\strut\\\@addr@to%
+\noindent\ignorespaces\@name@to \strut \\ \@addr@to%
\ifthenelse{\boolean{@addr@to@t}}{\\ \@phn@phr: \@phn@to}{}%
\ifthenelse{\boolean{@addr@to@f}}{\\ \@fax@phr: \@fax@to}{}%
\ifthenelse{\boolean{@addr@to@e}}{\\ \@email@phr: \@email@to}{}%
\end{tabular}}%
-\settowidth{\@utilc}{\usebox{\b@addr@to}}%
+\settowidth{\@utild}{\usebox{\b@addr@to}}%
\sbox{\b@addr@to}{\noindent\setlength{\tabcolsep}{0pt}%
-\parbox[t]{\@utilc}{\noindent\setlength{\tabcolsep}{0pt}%
-\noindent\ignorespaces\@name@to\strut\\\@addr@to%
+\parbox[t]{\@utild}{\noindent%
+\begin{tabular}{l@{}}%
+\ignorespaces\@name@to \strut \\ \@addr@to%
\ifthenelse{\boolean{@addr@to@t}}{\\ \@phn@phr: \@phn@to}{}%
\ifthenelse{\boolean{@addr@to@f}}{\\ \@fax@phr: \@fax@to}{}%
\ifthenelse{\boolean{@addr@to@e}}{\\ \@email@phr: \@email@to}{}%
-}}%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Now print the three components of the address in the three possible positions
-\ifthenelse{\boolean{@no@spc}}{}{\@center@stuff}% Meat of the routine
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\txa{End of @open@lfm}%
-\noindent\par
+\end{tabular}}}%
+\ifthenelse{\boolean{@no@spc}}{}{%
+\ifthenelse{\boolean{@s@b@s}}{\par\noindent{\usebox{\b@addr@to} \hfill \usebox{\b@addr@fr}}}{}%
+\setcounter{@c@pos}{1} \@prnt@sec{\the@c@pos}% Print from and to addresses and date
+\setcounter{@c@pos}{2} \@prnt@sec{\the@c@pos}%
+\setcounter{@c@pos}{3} \@prnt@sec{\the@c@pos}%
+\setboolean{@greet@l}{true}%
+\ifthenelse{\boolean{@pt@regard}}{\@regard@phr: \@regard@line}{}%
+\Prnt@Chk{@greet@p}{@greet@l}{@no@cen}%
+{\par\@greet@to\par\nobreak}{}{}{\@greet@to@sk@a}%
+}%
+\txa{End of openlfm}%
}%
-\def\@center@stuff{\txa{centerstuff3}%
-% Set up date
-\sbox{\@xdateb}{\@xdate}%
-% Set up side-by-side
-\ifthenelse{\boolean{@s@b@s}}{\@d@pos{1}\@f@pos{2}\@t@pos{2}
-\setboolean{@at@c}{false}\setboolean{@af@c}{false}
-\setboolean{@at@l}{true}\setboolean{@af@l}{false}}{}
-\txa{\string\@intd@pos:\@intd@pos}
-\txa{\string\@intt@pos:\@intt@pos}
-\txa{\string\@intf@pos:\@intf@pos}
-% Set up the rows for printing of the date, from and to
-\ifthenelse{\@intd@pos=1}{\def\@r@d{b}}{}%
-\ifthenelse{\@intd@pos=2}{\def\@r@d{d}}{}%
-\ifthenelse{\@intd@pos=3}{\def\@r@d{f}}{}%
-\ifthenelse{\@intt@pos=1}{\def\@r@t{b}}{}%
-\ifthenelse{\@intt@pos=2}{\def\@r@t{d}}{}%
-\ifthenelse{\@intt@pos=3}{\def\@r@t{f}}{}%
-\ifthenelse{\@intf@pos=1}{\def\@r@f{b}}{}%
-\ifthenelse{\@intf@pos=2}{\def\@r@f{d}}{}%
-\ifthenelse{\@intf@pos=3}{\def\@r@f{f}}{}%
-% Set up the columns corresponding to the positions for header elements
-\ifthenelse{\boolean{@af@l}}{\def\@c@f{a}}{%
-\ifthenelse{\boolean{@af@c}}{\def\@c@f{b}}{\def\@c@f{c}}}%
-\ifthenelse{\boolean{@at@l}}{\def\@c@t{a}}{%
-\ifthenelse{\boolean{@at@c}}{\def\@c@t{b}}{\def\@c@t{c}}}%
-\ifthenelse{\boolean{@dt@l}}{\def\@c@d{a}}{%
-\ifthenelse{\boolean{@dt@c}}{\def\@c@d{b}}{\def\@c@d{c}}}%
-% Set up the columns for each of the specials, if specials there are%
-\txa{Here0}%
-\def\swtch{1}%
-\ifthenelse{\boolean{@use@spec@a}}%
-{\sbox{\@sp@box}{\@spec@a}%
-\@set@box{\@row@a}{\@col@a}{\@sp@box}{a}{\@sp@bef@a}{\@sp@aft@a}}{}%
-\ifthenelse{\boolean{@use@spec@b}}%
-{\sbox{\@sp@box}{\@spec@b}%
-\@set@box{\@row@b}{\@col@b}{\@sp@box}{b}{\@sp@bef@b}{\@sp@aft@b}}{}%
-\ifthenelse{\boolean{@use@spec@c}}%
-{\sbox{\@sp@box}{\@spec@c}%
-\@set@box{\@row@c}{\@col@c}{\@sp@box}{c}{\@sp@bef@c}{\@sp@aft@c}}{}%
-\ifthenelse{\boolean{@use@spec@d}}%
-{\sbox{\@sp@box}{\@spec@d}%
-\@set@box{\@row@d}{\@col@d}{\@sp@box}{d}{\@sp@bef@d}{\@sp@aft@d}}{}%
-\ifthenelse{\boolean{@use@spec@e}}%
-{\sbox{\@sp@box}{\@spec@e}%
-\@set@box{\@row@e}{\@col@e}{\@sp@box}{e}{\@sp@bef@e}{\@sp@aft@e}}{}%
-\ifthenelse{\boolean{@use@spec@f}}%
-{\sbox{\@sp@box}{\@spec@f}%
-\@set@box{\@row@f}{\@col@f}{\@sp@box}{f}{\@sp@bef@f}{\@sp@aft@f}}{}%
-\ifthenelse{\boolean{@use@spec@g}}%
-{\sbox{\@sp@box}{\@spec@g}%
-\@set@box{\@row@g}{\@col@g}{\@sp@box}{g}{\@sp@bef@g}{\@sp@aft@g}}{}%
-\ifthenelse{\boolean{@use@spec@h}}%
-{\sbox{\@sp@box}{\@spec@h}%
-\@set@box{\@row@h}{\@col@h}{\@sp@box}{h}{\@sp@bef@h}{\@sp@aft@h}}{}%
-\def\swtch{2}%
-\txa{HereA}%
-% Set up the columns for each of the components%
-\ifthenelse{\boolean{@af@p}}%
-{\@set@box{\@r@t}{\@c@t}{\b@addr@to}{}{\@addr@to@sk@b}{\@addr@to@sk@a}}{}%
-\ifthenelse{\boolean{@af@p}}%
-{\@set@box{\@r@f}{\@c@f}{\b@addr@fr}{}{\@addr@fr@sk@b}{\@addr@fr@sk@a}}{}%
-\ifthenelse{\boolean{@dt@p}}%
-{\@set@box{\@r@d}{\@c@d}{\@xdateb}{}{\@dt@sk@b}{\@dt@sk@a}}{}%
-\txa{HereB}%
-% Measure the columns for specification
-\setlength{\@utila}{0pt}%
-\setlength{\@utilb}{0pt}%
-\@set@col{@hblk@a}{\@hblk@aa}{\@hblk@ab}{\@hblk@ac}%
-\@set@col{@hblk@b}{\@hblk@ba}{\@hblk@bb}{\@hblk@bc}%
-\@set@col{@hblk@c}{\@hblk@ca}{\@hblk@cb}{\@hblk@cc}%
-\@set@col{@hblk@d}{\@hblk@da}{\@hblk@db}{\@hblk@dc}%
-\@set@col{@hblk@e}{\@hblk@ea}{\@hblk@eb}{\@hblk@ec}%
-\@set@col{@hblk@f}{\@hblk@fa}{\@hblk@fb}{\@hblk@fc}%
-\@set@col{@hblk@g}{\@hblk@ga}{\@hblk@gb}{\@hblk@gc}%
-% Define the lengths for the tabular - add just a tiny bit to each column
-\setlength{\@utilc}{1pt}%
-\addtolength{\@utila}{5\@utilc}%
-\addtolength{\@utilb}{5\@utilc}%
-\setlength{\@utild}{\textwidth-\@utila-\@utilb-10\@utilc}%
-\txa{Lengths: \the\@utila -- \the\@utilb -- \the\@utilc -- \the\@utild}
-%VALUE D
-{\setlength{\tabcolsep}{0pt}\setlength{\arraycolsep}{0pt}%
-\setboolean{@prnt@frm}{false}%
-\ifthenelse{\boolean{@prnt@frm}}%
-{\def\@tab@set{|p{\@utila}|p{\@utild}|p{\@utilb}|}\def\@tab@line{\hline}}%
-{\def\@tab@set{p{\@utila}p{\@utild}p{\@utilb}}\def\@tab@line{}}%
-%\rule{\textwidth}{.5pt}\par\nointerlineskip
-\txa{regarding}%
-\ifthenelse{\boolean{@pt@regard}}%
-{\setboolean{@hblk@h}{true}\sbox{\@hblk@ha}{\@regard@phr:\@regard@line}%
-\setlength{\@hblk@h@bef}{0pt}\setlength{\@hblk@h@aft}{0pt}}%
-{\setboolean{@hblk@h}{false}}%
-\txa{greeting}%
-\ifthenelse{\boolean{@greet@p}}%
-{\setboolean{@hblk@i}{true}\sbox{\@hblk@ia}{\@greet@to}%
-\setlength{\@hblk@i@bef}{\@greet@to@sk@a}\setlength{\@hblk@i@aft}{\@greet@to@sk@a}}%
-{\setboolean{@hblk@i}{false}}%
-%Here finally print the header section
-% Very ungainly here - multicolumn does not like the ifthenelse construction
-\txa{Dimens: baselineskip:\the\baselineskip,@marg@tp@b:\the\@marg@tp@b}
-{\setlength{\baselineskip}{0pt}
-\settoheight{\@utile}{Test Testy grinch}
-\renewcommand{\arraystretch}{0}
-\txa{table start}
-\txa{extrarulesep:\the\extrarulesep}
-\setlength{\extrarulesep}{0pt}
-\begin{flushleft}%
-\begin{tabular}{\@tab@set}\@tab@line
-\@prnt@boxa{@hblk@a}{\@hblk@a@bef}{1}{\@hblk@aa}{\@hblk@ab}{\@hblk@ac}%
-{\@hblk@a@aft}{\@tab@line}{A}%
-\@prnt@boxa{@hblk@b}{\@hblk@b@bef}{2}{\@hblk@ba}{\@hblk@bb}{\@hblk@bc}%
-{\@hblk@b@aft}{\@tab@line}{B}%
-\@prnt@boxa{@hblk@c}{\@hblk@c@bef}{3}{\@hblk@ca}{\@hblk@cb}{\@hblk@cc}%
-{\@hblk@c@aft}{\@tab@line}{C}%
-\@prnt@boxa{@hblk@d}{\@hblk@d@bef}{4}{\@hblk@da}{\@hblk@db}{\@hblk@dc}%
-{\@hblk@d@aft}{\@tab@line}{D}%
-\@prnt@boxa{@hblk@e}{\@hblk@e@bef}{5}{\@hblk@ea}{\@hblk@eb}{\@hblk@ec}%
-{\@hblk@e@aft}{\@tab@line}{E}%
-\@prnt@boxa{@hblk@f}{\@hblk@f@bef}{6}{\@hblk@fa}{\@hblk@fb}{\@hblk@fc}%
-{\@hblk@f@aft}{\@tab@line}{F}%
-\@prnt@boxa{@hblk@g}{\@hblk@g@bef}{7}{\@hblk@ga}{\@hblk@gb}{\@hblk@gc}%
-{\@hblk@g@aft}{\@tab@line}{G}%
-%\@prnt@mboxa{@hblk@h}{\@hblk@h@bef}{8}{\@hblk@ha}{\@hblk@hb}{\@hblk@hc}%
-%{\@hblk@h@aft}{\@tab@line}{H}%
-\end{tabular}%
-\end{flushleft}%
-\txa{Box a:Before-\the\@hblk@a@bef, After-\the\@hblk@a@aft}%
-\settoheight{\@utila}{\usebox{\@hblk@aa}}%
-\settoheight{\@utilb}{\usebox{\@hblk@ab}}%
-\settoheight{\@utilc}{\usebox{\@hblk@ac}}%
-\txa{Heights: \the\@utila, \the\@utilb, \the\@utilc}%
-\txa{Box b:Before-\the\@hblk@b@bef, After-\the\@hblk@b@aft}%
-\settoheight{\@utila}{\usebox{\@hblk@ba}}%
-\settoheight{\@utilb}{\usebox{\@hblk@bb}}%
-\settoheight{\@utilc}{\usebox{\@hblk@bc}}%
-\txa{Heights: \the\@utila, \the\@utilb, \the\@utilc}%
-\txa{Box c:Before-\the\@hblk@c@bef, After-\the\@hblk@c@aft}%
-\settoheight{\@utila}{\usebox{\@hblk@ca}}%
-\settoheight{\@utilb}{\usebox{\@hblk@cb}}%
-\settoheight{\@utilc}{\usebox{\@hblk@cc}}%
-\txa{Heights: \the\@utila, \the\@utilb, \the\@utilc}%
-\txa{Box d:Before-\the\@hblk@d@bef, After-\the\@hblk@d@aft}%
-\settoheight{\@utila}{\usebox{\@hblk@da}}%
-\settoheight{\@utilb}{\usebox{\@hblk@db}}%
-\settoheight{\@utilc}{\usebox{\@hblk@dc}}%
-\txa{Heights: \the\@utila, \the\@utilb, \the\@utilc}%
-\txa{Box e:Before-\the\@hblk@e@bef, After-\the\@hblk@e@aft}%
-\settoheight{\@utila}{\usebox{\@hblk@ea}}%
-\settoheight{\@utilb}{\usebox{\@hblk@eb}}%
-\settoheight{\@utilc}{\usebox{\@hblk@ec}}%
-\txa{Heights: \the\@utila, \the\@utilb, \the\@utilc}%
-\txa{Box f:Before-\the\@hblk@f@bef, After-\the\@hblk@f@aft}%
-\settoheight{\@utila}{\usebox{\@hblk@fa}}%
-\settoheight{\@utilb}{\usebox{\@hblk@fb}}%
-\settoheight{\@utilc}{\usebox{\@hblk@fc}}%
-\txa{Heights: \the\@utila, \the\@utilb, \the\@utilc}%
-\txa{Box g:Before-\the\@hblk@g@bef, After-\the\@hblk@g@aft}%
-\settoheight{\@utila}{\usebox{\@hblk@ga}}%
-\settoheight{\@utilb}{\usebox{\@hblk@gb}}%
-\settoheight{\@utilc}{\usebox{\@hblk@gc}}%
-\txa{Heights: \the\@utila, \the\@utilb, \the\@utilc}%
-\txa{table end}
-\settowidth{\@utila}{\usebox{\@hblk@ha}}%
-\settoheight{\@utilb}{\usebox{\@hblk@ha}}%
-\txa{Greeting: \the\@utila, \the\@utilb}
-\txa{Box h:Before-\the\@hblk@h@bef, After-\the\@hblk@h@aft}%
-\noindent\par\ifthenelse{\boolean{@hblk@h}}%
-{\parbox[b][\@hblk@h@bef+\@hblk@h@aft][b]{\@utila}
-{\strut\raisebox{\@hblk@h@aft}{\usebox{\@hblk@ha}}}}{}%
-\settowidth{\@utila}{\usebox{\@hblk@ia}}%
-\settoheight{\@utilb}{\usebox{\@hblk@ia}}%
-\txa{Greeting: \the\@utila, \the\@utilb}
-\txa{Box i:Before-\the\@hblk@i@bef, After-\the\@hblk@i@aft}%
-\noindent\par\ifthenelse{\boolean{@hblk@i}}%
-{\parbox[b][\@hblk@i@bef+\@hblk@i@aft][b]{\@utila}
-{\strut\raisebox{\@hblk@i@aft}{\usebox{\@hblk@ia}}}}{}%
-\txa{end of centerstuff}%
-}}}%
-\newcommand{\@prnt@boxa}[9]{%
-\ifthenelse{\boolean{#1}}{
-\strut\rule{0pt}{#2+\@utile}\usebox{#4}&\usebox{#5}&\usebox{#6}\\[#7]#8}{}}%
-\newcommand{\@prnt@mboxa}[9]{%
-\ifthenelse{\boolean{#1}}{
-\strut\rule{0pt}{#2+\@utile}\multicolumn{3}{l}{\usebox{#4}}\\[#7]#8}{}}%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \end{macrocode}
% \end{macro}
% \subsection{Close of document section}
-% \begin{macro}{@clos@lfm}
+% \begin{macro}{closlfm}
% In this section, the letter is terminated. Several things happen here:
% \begin{enumerate}
% \item If signature block is to be printed, it is printed
@@ -4044,24 +3641,38 @@ unprleft=-1pt}%
% \end{enumerate}
% \begin{macrocode}
\def\@fix@one@box{%
-\sbox{\@sig@box@b}{\begin{tabular}{l}%
+\settowidth{\@utila}{\setlength{\tabcolsep}{0pt}%
+\begin{tabular}{l}%
\ifthenelse{\boolean{@use@close}}{{\@closeline}\\}{}%
+\vspace*{\@cls@sk@a} \\%
\ifthenelse{\boolean{@use@sig}}%
{{\@sig@fr}\\}{\parbox[t][\the\@sig@sp][t]{.1pt}{\vspace*{\@sig@sp}}\\}%
\ifthenelse{\boolean{@use@sig@nm}}{\@sig@nm\\}{\@name@fr\\}%
-\end{tabular}}}%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\@close@lfm{\def\ifta{0}\txa{In @close@lfm}%
+\end{tabular}%
+}%
+\sbox{\@sig@box@b} {%
+\setlength{\tabcolsep}{0pt}\noindent%
+\begin{tabular}{p{\the\@utila}}%
+\ifthenelse{\boolean{@use@close}}{{\@closeline}\\}{}%
+\vspace*{\@cls@sk@a} \\%
+\ifthenelse{\boolean{@use@sig}}%
+{{\@sig@fr}\\}{\parbox[t][\the\@sig@sp][t]{.1pt}{\vspace*{\@sig@sp}}\\}%
+\ifthenelse{\boolean{@use@sig@nm}}{\@sig@nm\\}{\@name@fr\\}%
+\end{tabular}%
+}%
+}%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\closlfm{\def\ifta{0}\txa{In closlfm}%
\setlength{\@utila}{\@sig@sk@b}\addtolength{\@utila}{-1.5\baselineskip}%
\vspace*{\the\@utila}\noindent\setlength{\tabcolsep}{0pt}%
\ifthenelse{\boolean{@pr@p}}%
{\medskip\begin{center}\@PRend@phr\end{center}%
- \markboth{}{}
+\markboth{}{}%
}% markboth mechanism resets center footer
{}% note require {} to finish ifthenelse
%%%%%
\ifthenelse{\boolean{@mult@sig}}%
-{\begin{flushleft}%
+{%
\ifthenelse{\equal{\the@sig@tot}{1}}{\def\@sig@tab{l}}{}% Set multiple columns
\ifthenelse{\equal{\the@sig@tot}{2}}{\def\@sig@tab{ll}}{}%
\ifthenelse{\equal{\the@sig@tot}{3}}{\def\@sig@tab{lll}}{}%
@@ -4094,7 +3705,7 @@ unprleft=-1pt}%
\@for\@one@sig:=\@sig@list\do% Loop thru signature abbreviations
{\setboolean{@use@sig}{false}\setboolean{@use@close}{false}%
\setboolean{@use@sig@nm}{false}%
-\txa{\the\@utile}
+\txa{\the\@utile}%
\ifthenelse{\equal{\the@lab@cnt@col}{0}}{~\vspace*{\the\@utile}\\\noindent}{}%
\expandafter\csname sig\@one@sig\endcsname%
\ignorespaces \@fix@one@box\settoheight{\@utilc}{\usebox{\@sig@box@b}}%
@@ -4104,13 +3715,15 @@ unprleft=-1pt}%
\raisebox{-\the\@utilc/2}{\parbox[t]{\the\@utila}{\usebox{\@sig@box@b}}}%
\addtocounter{@lab@cnt@col}{1}%
\ifthenelse{\equal{\the@lab@cnt@col}{\the@sig@tot}}%
-{\txa{else condition}
+{\txa{else condition}%
\setcounter{@lab@cnt@col}{0}\setlength{\@utile}{\@sig@sk@r}}{\hspace*{\the\@sig@sk@c}}}%
-\vspace*{\the\@sig@sk@a}\end{flushleft}}%
+\vspace*{\the\@sig@sk@a}%
+}%
{% Print normal signature
-\@fix@one@box\settowidth{\@utila}{\usebox{\@sig@box@b}}% Set up box, measure
+\@fix@one@box%
\Prnt@Chk{@sig@p}{@sig@l}{@sig@c}%
-{\parbox{\@utila}{\usebox{\@sig@box@b}}}{}{\@sig@sk@b}{\@sig@sk@a}}%
+{\parbox{\@utila}{\usebox{\@sig@box@b}}}{}{\@cls@sk@b}{\@sig@sk@a}%
+}%
}%
% \end{macrocode}
% \end{macro}
@@ -4125,7 +3738,7 @@ unprleft=-1pt}%
\settowidth{\@utila}{{\small\normalfont #1: }}%
\addtolength{\@utilb}{-\@utila}%
\ifthenelse{\equal{#2}{#3}}{}{%
-\vspace*{\the\@post@sig@sp@b} \hspace*{.01pt} \\ \noindent%
+\vspace*{\the\@post@sig@sp@b} \hspace*{-.01pt} \\ \noindent%
\parbox[t]{\textwidth}{\@hangfrom{{\small\normalfont #1: }}%
\ignorespaces \parbox[t]{\@utilb}{{\small#2}}\strut}\par%
\vspace*{\the\@post@sig@sp@a}%
@@ -4380,11 +3993,11 @@ unprleft=-1pt}%
% included in a letter. That way, it need not be entered separately into
% each different letter.
%
-% \begin{macrocode}%
-\newif \if@read@one \@read@onetrue%
-\def\@ltr@info@name{letrinfo.tex}%
+% \begin{macrocode}
+\newif \if@read@one \@read@onetrue
+\def\@ltr@info@name{letrinfo.tex}
%\DeclareOption{InfoFileName}[1]{\renewcommand{\@ltr@info@name}{#1}}
-\define@key{ov}{InfoFileName}{\def\@ltr@info@name{#1}}%
+\define@key{ov}{InfoFileName}{\def\@ltr@info@name{#1}}
\InputIfFileExists{\@ltr@info@name}%
{\typeout{Reading default letter definitions from \@ltr@info@name}}%
{\typeout{\@ltr@info@name\ not found. All letter definitions must be in newlfm.cls}}%
@@ -4419,20 +4032,20 @@ unprleft=-1pt}%
\DeclareRobustCommand*{\@env@label}[1]{#1\parbox[t][\@lab@bh][t]{\@lab@bw}%
{{\@name@to \\ \@addr@to} \hfill}}%
\DeclareRobustCommand*{\@env@oth}[2]{%
-\txa{box height:\the\@lab@bh, box width:\the\@lab@bw, between: \the\tabcolsep}%
+\txa{box height:\the\@lab@bh, box width:\the\@lab@bw, between: \the\tabcolsep}
\parbox[t][\@lab@bh][t]{\@lab@bw}{\@lab@size \strut #1 \\ #2 \strut}}%
-\DeclareRobustCommand*{\@env@row}[4]{\settowidth{\@utila}{\@hnfr@phr:}%
-\setlength{\tabcolsep}{0pt}%
-\fbox{\parbox[t][\@lab@bh][t]{\@lab@bw}{%
-\@lab@size \begin{tabular}{ll}{\Large\@hnfr@phr:}&{\Large\@hnto@phr:}\\%
-\parbox[t]{2.0in}{#3\\#4}&\parbox[t]{2.0in}{#1\\#2}%
+\DeclareRobustCommand*{\@env@row}[4]{\settowidth{\@utila}{\@hnfr@phr:}
+\setlength{\tabcolsep}{0pt}
+\fbox{\parbox[t][\@lab@bh][t]{\@lab@bw}{
+\@lab@size \begin{tabular}{ll}{\Large\@hnfr@phr:}&{\Large\@hnto@phr:}\\
+\parbox[t]{2.0in}{#3\\#4}&\parbox[t]{2.0in}{#1\\#2}
\end{tabular}\hfill}}}%
\DeclareRobustCommand*{\@env@col}[4]{\parbox[t][\@lab@bh][t]{\@lab@bw}{%
{\@lab@size{\Large\@hnfr@phr:}\\#3\\#4\\{\Large\@hnto@phr:}\\#1\\#2}}}%
\DeclareRobustCommand*{\x@env@col}[4]{\parbox[t][\@lab@bh][t]{\@lab@bw}{%
-{\@lab@size\begin{tabular}{p{.5in}p{3.25in}}{\Large\@hnfr@phr:}&#3\\&\parbox[t]{3.25in}{#4}%
+{\@lab@size\begin{tabular}{p{.5in}p{3.25in}}{\Large\@hnfr@phr:}&#3\\&\parbox[t]{3.25in}{#4}
\vspace*{10pt}\\{\Large\@hnto@phr:}&#1\\&\parbox[t]{3.25in}{#2}\\\end{tabular}}}}%
-\def\multletter#1{\@for\@addr@x:=#1\do{{\oneletter{\@addr@x}}}}%
+\def\multletter#1{\@for\@addr@x:=#1\do{{\oneletter{\@addr@x}}}}
\def\doletter#1{\setadrto{#1}\txa{ZA}%
\begin{newlfm}\@ltr@body\end{newlfm}\gdef\npind{D}\newpage}%
\def\oneletter#1{\txa{In oneletter}\setadrto{\csname adr#1\endcsname}\txa{ZB}\addrt{#1}%
@@ -4458,12 +4071,12 @@ unprleft=-1pt}%
\ifthenelse{\lengthtest{\@lab@th<12pt}}{\setlength{\@lab@th}{12.1pt}}{}%
\ifthenelse{\boolean{@use@envlab}}{%
\def\ifta{0}%
- \setpage{\@stock@height}{\@stock@width}{-1in}{72pt}{0in}{-1in}{120pt}{0in}{20pt}%
+ \setpage{11in}{8.5in}{-1in}{72pt}{0in}{-1in}{120pt}{0in}{20pt}%
\txa{use@envlab true}%
}%
{%
\gdef\npind{A3}%
- \setpage{\@lab@pl}{\@stock@width}{-1in}{\@lab@lm}{0in}{-1in}{\@lab@th}{0in}{20pt}%
+ \setpage{\@lab@pl}{8.5in}{-1in}{\@lab@lm}{0in}{-1in}{\@lab@th}{0in}{20pt}%
\txa{use@envlab false}%
\txa{headheight:\the\@lab@th}%
}%
@@ -4484,7 +4097,7 @@ unprleft=-1pt}%
\setboolean{@do@any}{true}%
\def\@onet{\csname @aadr@t\number\@nlfm@util\endcsname}%
\def\@onef{\csname @aadr@f\number\@nlfm@util\endcsname}%
- \txa{\string\@onet:\@onet -- \string\@onef:\@onef}%
+ \txa{\string\@onet:\@onet -- \string\@onef:\@onef}
\protect\setadrto{\csname adr\@onet\endcsname}\txa{ZD}%
\protect\setadrfr{\csname adr\@onef\endcsname}%
\def\ifta{0}%
@@ -4528,9 +4141,9 @@ unprleft=-1pt}%
\txa{Out of big loop: \arabic{@lab@cnt@col}}%
\def\ifta{0}%
\global\@nlfm@uta=\value{@lab@cnt@row}%
- \sbox{\@x@l}{\phantom{A}}%
- \ifthenelse{\boolean{@env@close} \and \boolean{@do@any}}%
- {\txa{\the@lab@cnt@col, \the@lab@cnt@row, \the@lab@tot@row}%
+ \sbox{\@x@l}{\phantom{A}}
+ \ifthenelse{\boolean{@env@close} \and \boolean{@do@any}}
+ {\txa{\the@lab@cnt@col, \the@lab@cnt@row, \the@lab@tot@row}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Finish off current row first
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4539,29 +4152,29 @@ unprleft=-1pt}%
{\@env@oth{\usebox{\@x@l}}{\usebox{\@x@l}}%
\addtocounter{@lab@cnt@col}{1}%
\ifthenelse{\the@lab@cnt@col<\the@lab@tot@col}{&}{}} \\%
- \addtocounter{@lab@cnt@row}{1}%
+ \addtocounter{@lab@cnt@row}{1}
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Add remaining rows, each with all columns
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\whiledo{\the@lab@cnt@row<\the@lab@tot@row}%
- {\setcounter{@lab@cnt@col}{0}%
+ {\setcounter{@lab@cnt@col}{0}
\whiledo{\the@lab@cnt@col<\the@lab@tot@col}%
{\@env@oth{\usebox{\@x@l}}{\usebox{\@x@l}}%
\addtocounter{@lab@cnt@col}{1}%
- \ifthenelse{\the@lab@cnt@col<\the@lab@tot@col}{&}{\\}%
- }%
+ \ifthenelse{\the@lab@cnt@col<\the@lab@tot@col}{&}{\\}
+ }
\addtocounter{@lab@cnt@row}{1}%
- \ifthenelse{\the@lab@cnt@row<\the@lab@tot@row}%
- {}%
- {\\ \end{tabular}\end{table} \newpage%
- \showdim{At the end of the table}}%
+ \ifthenelse{\the@lab@cnt@row<\the@lab@tot@row}
+ {}
+ {\\ \end{tabular}\end{table} \newpage
+ \showdim{At the end of the table}}
\setboolean{@env@close}{false}%
- \setboolean{@env@open}{true}%
+ \setboolean{@env@open}{true}
}%
}%
{}%
- \setboolean{@use@envlab}{false}%
+ \setboolean{@use@envlab}{false}
\end{newlfm}%
\def\ifta{0}%
}%
@@ -4588,15 +4201,15 @@ unprleft=-1pt}%
% \begin{macrocode}
\newenvironment{newlfm}{% Start of fax environment, in fax class%
\if@read@one \global\@read@onefalse \fi%
- \def\ifta{0}\txa{Start of newlfm startup}%
- \txa{nameto: \@name@to}%
- \ifthenelse{\boolean{@over@all}}{\txa{overall: true}}{\txa{overall: false}}%
- \ifthenelse{\boolean{@over@setto}}{\txa{oversetto: true}}{\txa{oversetto: false}}%
- \txa{namefrom: \@name@fr}%
- \ifthenelse{\boolean{@over@setfr}}{\txa{oversetfr: true}}{\txa{oversetfr: false}}%
+ \def\ifta{0}\txa{Start of newlfm startup}
+ \txa{nameto: \@name@to}
+ \ifthenelse{\boolean{@over@all}}{\txa{overall: true}}{\txa{overall: false}}
+ \ifthenelse{\boolean{@over@setto}}{\txa{oversetto: true}}{\txa{oversetto: false}}
+ \txa{namefrom: \@name@fr}
+ \ifthenelse{\boolean{@over@setfr}}{\txa{oversetfr: true}}{\txa{oversetfr: false}}
\ifthenelse{\boolean{@over@all}}{%
\faxblocka%
- }{}%
+ }{}
\ifthenelse{\boolean{@fax@RA}}%
{\ifthenelse{\boolean{@fax@bla}}{\Rheader{\usebox{\fba}}}{}%
\ifthenelse{\boolean{@fax@blb}}{\Rheader{\faxblockb}}{}}{}%
@@ -4612,15 +4225,15 @@ unprleft=-1pt}%
\setadrfr{\expandafter\csname adr\@adr@fr \endcsname}}{\txa{false}}%
\ifthenelse{\boolean{@over@sigbl}}{\txa{True}%
\expandafter\csname sig\@sig@blok \endcsname}{\txa{false}}%
- \@set@em@up%
- }{}%
+ \@set@em@up
+ }{}
\txa{setting up ruh}%
\def\ifta{0}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \txa{name@to:\@name@to}%
- \ifthenelse{\boolean{@over@setto}}{\txa{oversetto:true}}{\txa{oversetto:false}}%
- \txa{name@fr:\@name@fr}%
- \ifthenelse{\boolean{@over@setfr}}{\txa{oversetfr:true}}{\txa{oversetfr:false}}%
+ \txa{name@to:\@name@to}
+ \ifthenelse{\boolean{@over@setto}}{\txa{oversetto:true}}{\txa{oversetto:false}}
+ \txa{name@fr:\@name@fr}
+ \ifthenelse{\boolean{@over@setfr}}{\txa{oversetfr:true}}{\txa{oversetfr:false}}
\retdims%
\ifthenelse{\boolean{@fax@hdr@pg}}%
{{\txa{FAX Page Setup}%
@@ -4636,46 +4249,38 @@ unprleft=-1pt}%
}}{}%
\rstdims%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \def\ifta{0}\showdim{After fax page section closes}\gdef\npind{G}%
+ \def\ifta{0}\showdim{After fax page section closes}\gdef\npind{G}
\if@twoside \ifodd\c@page%
\else\thispagestyle{empty}\null\newpage\fi \fi%
\c@page\@ne%
\interlinepenalty=200 % smaller than the TeXbook value%
\setlength{\headwidth}{\textwidth}%
\txa{Before Rfooter}\ifthenelse{\boolean{@B@f}}%
- {\Cfooter{} \Rfooter{} \Lfooter{}} {}%
-% {\Cfooter{\phantom{\Cfooter}} \Rfooter{\phantom{\Rfooter}} \Lfooter{\phantom{\Lfooter}}} {}%
+ {\Cfooter{\phantom{\Cfooter}} \Rfooter{\phantom{\Rfooter}} \Lfooter{\phantom{\Lfooter}}} {}%
\txa{Before Rheader}\ifthenelse{\boolean{@B@h}}%
- {\Rheader{} \Lheader{} \Cheader{}} {}%
-% {\Rheader{\phantom{\Rheader}} \Lheader{\phantom{\Lheader}} \Cheader{\phantom{\Cheader}}} {}%
+ {\Rheader{\phantom{\Rheader}} \Lheader{\phantom{\Lheader}} \Cheader{\phantom{\Cheader}}} {}%
\txa{Before Lmargin}\ifthenelse{\boolean{@B@l}}%
- {\ifempty{\@Lmarg}{}{\Lmargin{}}}{}%
-% {\ifempty{\@Lmarg}{}{\Lmargin{\phantom{\Lmargin}}}}{}%
+ {\ifempty{\@Lmarg}{}{\Lmargin{\phantom{\Lmargin}}}}{}%
\txa{Before Rmargin}\ifthenelse{\boolean{@B@r}}%
- {\ifempty{\@Rmarg}{}{\Rmargin{}}}{}%
-% {\ifempty{\@Rmarg}{}{\Rmargin{\phantom{\Rmargin}}}}{}%
+ {\ifempty{\@Rmarg}{}{\Rmargin{\phantom{\Rmargin}}}}{}%
\txa{Before rfooter}\ifthenelse{\boolean{@b@f}}%
- {\rfooter{} \lfooter{} \cfooter{}} {}%
-% {\rfooter{\phantom{\rfooter}} \lfooter{\phantom{\lfooter}} \cfooter{\phantom{\cfooter}}} {}%
+ {\rfooter{\phantom{\rfooter}} \lfooter{\phantom{\lfooter}} \cfooter{\phantom{\cfooter}}} {}%
\txa{Before rheader}\ifthenelse{\boolean{@b@h}}%
- {\rheader{} \lheader{} \cheader{}} {}%
-% {\rheader{\phantom{\rheader}} \lheader{\phantom{\lheader}} \cheader{\phantom{\cheader}}} {}%
+ {\rheader{\phantom{\rheader}} \lheader{\phantom{\lheader}} \cheader{\phantom{\cheader}}} {}%
\txa{Before lmargin}\ifthenelse{\boolean{@b@l}}%
- {\lmargin{}} {}%
-% {\lmargin{\phantom{\lmargin}}} {}%
+ {\lmargin{\phantom{\lmargin}}} {}%
\txa{Before rmargin}\ifthenelse{\boolean{@b@r}}%
- {\rmargin{}} {}%
-% {\rmargin{\phantom{\rmargin}}} {}%
+ {\rmargin{\phantom{\rmargin}}} {}%
\setlength{\textwidth}{\paperwidth-\@marg@rt-\@marg@lt-1pt}%
\txa{Before opening}%
\txa{\string\@marg@rt: \the\@marg@rt, \string\@marg@rt: \the\@marg@rt}%
\txa{\string\textwidth: \the\textwidth, \string\paperwidth: \the\paperwidth}%
% \ifthenelse{\boolean{@over@all}}{%
- \@open@lfm%
+ \openlfm%
% }{}
\def\ifta{0}%
- \txa{nameto:\@name@to}%
- \txa{namefr:\@name@fr}%
+ \txa{nameto:\@name@to}
+ \txa{namefr:\@name@fr}
\txa{\string\@marg@rt: \the\@marg@rt, \string\@marg@rt: \the\@marg@rt}%
\txa{\string\textwidth: \the\textwidth, \string\paperwidth: \the\paperwidth}%
\txa{After opening}%
@@ -4691,7 +4296,7 @@ unprleft=-1pt}%
\txa{Count: \number\@nlfm@addr -- To: \@adr@to -- From: \@adr@fr}
\expandafter\xdef\csname @aadr@t\number\@nlfm@addr\endcsname{\@adr@to}%
\expandafter\xdef\csname @aadr@f\number\@nlfm@addr\endcsname{\@adr@fr}%
- \txa{Count: \number\@nlfm@addr -- To: \@adr@to -- From: \@adr@fr}%
+ \txa{Count: \number\@nlfm@addr -- To: \@adr@to -- From: \@adr@fr}
\txa{@aadr@t\number\@nlfm@addr: \csname @aadr@t\number\@nlfm@addr\endcsname}%
\txa{To: \csname @aadr@t\number\@nlfm@addr\endcsname,\@adr@to}%
}%
@@ -4712,12 +4317,12 @@ unprleft=-1pt}%
% code path does as well.
%
% \begin{macrocode}
-{% Here we are at the processing of the close of the newlfm env - start
+{% Here we are at the processing of the close of the newlfm env
\def\ifta{0}\txa{At the start of the close of newlfm env}%
- \ifthenelse{\boolean{@pr@p}}{\@close@lfm}{}%
+ \ifthenelse{\boolean{@pr@p}}{\closlfm}{}%
\ifthenelse{\boolean{@sig@p}}%
{\txa{Before closing}%
- \ifthenelse{\boolean{@pr@p}}{}{\@close@lfm}%
+ \ifthenelse{\boolean{@pr@p}}{}{\closlfm}%
\txa{After closing}%
\showdim{Current Dimensions}%
\@post@sig@bl{\@ps@phr}{\@ps@item}{---BLANK---}%
@@ -4725,7 +4330,7 @@ unprleft=-1pt}%
\@post@sig@bl{\@ppps@phr}{\@ppps@item}{---BLANK---}%
\@post@sig@bl{\@encl@phr}{\@encl@item}{---BLANK---}%
\@post@sig@bl{\@cc@phr}{\@cc@item}{---BLANK---}}{}%
- \ifthenelse{\boolean{@sig@mp}}{%
+ \ifthenelse{\boolean{@sig@mp}}{
\@post@sig@bl{\@ps@phr}{\@ps@item}{---BLANK---}%
\@post@sig@bl{\@pps@phr}{\@pps@item}{---BLANK---}%
\@post@sig@bl{\@ppps@phr}{\@ppps@item}{---BLANK---}%
@@ -4749,11 +4354,11 @@ unprleft=-1pt}%
%
% Only the press release uses that environment.
% \begin{macrocode}
-\ifthenelse{\boolean{@pr@p}}{%
+\ifthenelse{\boolean{@pr@p}}{
\ifthenelse{\boolean{@space@d}}{\end{doublespace}}{\end{singlespace}}%
}{}%
-}% Here we are at the processing of the close of the newlfm env - end
-\def\@make@big@env{%
+}%
+\def\@make@big@env{
\@nlfm@util=0%
\def\ifta{0}%
\txa{In @make@big@env}%
@@ -4771,7 +4376,7 @@ unprleft=-1pt}%
\newpage%
\def\ifta{0}%
\gdef\npind{A4}%
- \setpage{\@stock@height}{\@stock@width}{1in}{1in}{0pt}{0in}{120in}{0in}{0in}%
+ \setpage{11in}{8.5in}{1in}{1in}{0pt}{0in}{120in}{0in}{0in}%
\txa{Actually using the makeenvelope...}%
\startlabels%
\@capitalizeaddressfalse%
@@ -4784,8 +4389,8 @@ unprleft=-1pt}%
\repeat%
\global\@nlfm@addr=0%
\txa{Count at end: \number\@nlfm@addr}%
-}%
-\def\@clear@box{%
+}
+\def\@clear@box{
\Backgrd{} \backgrd{} \Lfooter{} \Cfooter{} \Rfooter{} \LOfooter{}%
\COfooter{}\ROfooter{}\lfooter{} \cfooter{} \rfooter{} \Lheader{}%
\Cheader{} \Rheader{} \LUheader{}\CUheader{}\RUheader{}\lheader{}%
@@ -4800,7 +4405,8 @@ unprleft=-1pt}%
\pagenumbering{arabic}%
\raggedbottom%
\providecommand{\@texttop}{}%
-\DeclareRobustCommand*{\@texttop}{\ifnum\c@page=1\vskip \z@ plus.00006fil\relax\fi}%
+\DeclareRobustCommand*{\@texttop}
+ {\ifnum\c@page=1\vskip \z@ plus.00006fil\relax\fi}%
\onecolumn%
\def\@set@em@up{%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4808,9 +4414,9 @@ unprleft=-1pt}%
% Much of this is in contravention of the philosophy of newlfm - since
% it displaces information that might have been placed into the blocks
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\txa{Real start}%
+\txa{Real start}
\ifthenelse{\boolean{@pr@p}}{%
-\PhrMore{\thepage\ of \pageref{LastPage}}%
+\PhrMore{\thepage\ of \pageref{LastPage}}
\Cfooter{\@more@phr}\cfooter{\@more@phr}%
}{}%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4821,9 +4427,9 @@ unprleft=-1pt}%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% First, set the header and footer widths
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifthenelse{\boolean{@hl}}{\def\headrulewidth{\the\@Hrw}}%
+\ifthenelse{\boolean{@hl}}{\def\headrulewidth{\the\@Hrw}}
{\setlength{\@Hrw}{0pt}\def\headrulewidth{0pt}}%
-\ifthenelse{\boolean{@fl}}{\def\footrulewidth{\the\@Frw}}%
+\ifthenelse{\boolean{@fl}}{\def\footrulewidth{\the\@Frw}}
{\setlength{\@Frw}{0pt}\def\footrulewidth{0pt}}%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Now, set the contents of the header and footer sections into boxes
@@ -4977,20 +4583,6 @@ unprleft=-1pt}%
\ifthenelse{\lengthtest{\@Hgt@foot<\@Min@Hgt@foot}}%
{\setlength{\@Hgt@foot}{\@Min@Hgt@foot}}{}%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Check the under boxes here
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\setboolean{@ztila}{false}
-\ifthenelse{\boolean{@LUh@use}}{\txa{zorth}\sbox{\@hblk@aa}{\@LUheader}%
-\setboolean{@hblk@a}{true}\setboolean{@ztila}{true}}{}%
-\ifthenelse{\boolean{@CUh@use}}{\txa{zorth}\sbox{\@hblk@ab}{\@CUheader}%
-\setboolean{@hblk@a}{true}\setboolean{@ztila}{true}}{}%
-\ifthenelse{\boolean{@RUh@use}}{\txa{zorth}\sbox{\@hblk@ac}{\@RUheader}%
-\setboolean{@hblk@a}{true}\setboolean{@ztila}{true}}{}%
-\ifthenelse{\boolean{@ztila}}
-{\ifthenelse{\lengthtest{\@hblk@a@aft<\@marg@tp@b}}
-{\setlength{\@hblk@a@aft}{\@marg@tp@b}}{}
-\setlength{\@marg@tp@b}{0pt}}{}%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Set the printable length as the difference of all those others
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifthenelse{\lengthtest{\@marg@lt@tp@d<1pt}}%
@@ -5109,8 +4701,6 @@ unprleft=-1pt}%
\addtolength{\@utile}{\@utilb}%
\txa{Left: \the\@utile}%
\gdef\npind{A5}%
-\txa{Plg:\the\@Plg,Pwd:\the\@Pwd,marg@rt:\the\@marg@rt,marg@lt:\the\@marg@lt}
-\txa{marg@tp@a:\the\@marg@tp@a,Hgt@head:\the\@Hgt@head,marg@tp@b:\the\@marg@tp@b,Hgt@foot:\the\@Hgt@foot}
\setpage{\@Plg}{\@Pwd}{\@marg@rt-1in}{\@marg@lt-1in}{10pt}%
{\@marg@tp@a-1in}{\@Hgt@Head}{\@marg@tp@b}{\@Hgt@Foot}%
\ifthenelse{\lengthtest{\@Hgt@head<10pt}}{\setlength{\@Hgt@head}{13pt}}{}%
@@ -5139,7 +4729,7 @@ unprleft=-1pt}%
\addtolength{\@utila}{-\@utile}%
\txa{7. \the\@utila,\the\@utile}
}{}}{}%
-\ifthenelse{\boolean{@af@p}}{\txa{Fixing from address}
+\ifthenelse{\boolean{@addr@fr@p}}{\txa{Fixing from address}
\ifthenelse{\@intf@pos<\@intt@pos}{%
\addtolength{\@utila}{-\@addr@fr@sk@b}%
\addtolength{\@utila}{-\@addr@fr@sk@a}%
@@ -5153,13 +4743,6 @@ unprleft=-1pt}%
\settoheight{\@utile}{\usebox{\b@addr@fr}}%
\addtolength{\@utila}{-\@utile}%
\txa{8. \the\@utila,\the\@utile}
-\sbox{\b@addr@fr}{\noindent\setlength{\tabcolsep}{0pt}% Address-from into a box
-\raggedleft\begin{tabular}{l@{}}%
-\noindent\ignorespaces\@addr@fr%
-\ifthenelse{\boolean{@addr@fr@t}}{\\ \@phn@phr: \@phn@fr}{}%
-\ifthenelse{\boolean{@addr@fr@f}}{\\ \@fax@phr: \@fax@fr}{}%
-\ifthenelse{\boolean{@addr@fr@e}}{\\ \@email@phr: \@email@fr}{}%
-\end{tabular}}%
}{}}{}%
\txa{9. \the\@utila}
\setlength{\@utilb}{\@cello@l}%
@@ -5317,7 +4900,7 @@ unprleft=-1pt}%
\def\ifta{0}%
\showdim{Before changeing dimensions}%
\gdef\npind{A6}%
-\setpage{\@stock@height}{\@stock@width}{-1in}{-1in}{0in}{-1in}{0in}{0in}{0in}%
+\setpage{11in}{8.5in}{-1in}{-1in}{0in}{-1in}{0in}{0in}{0in}%
\txa{Starting the call to makeenvfn}%
\makeenvfn%
\txa{After return from the call to makeenvfn}%
diff --git a/Master/texmf-dist/source/latex/newlfm/newlfm.ins b/Master/texmf-dist/source/latex/newlfm/newlfm.ins
index 9d3f1b078c4..f7a8f1788d8 100644
--- a/Master/texmf-dist/source/latex/newlfm/newlfm.ins
+++ b/Master/texmf-dist/source/latex/newlfm/newlfm.ins
@@ -1,55 +1,55 @@
-%%
-%% This file will generate fast loadable files and documentation
-%% driver files from the file `newlfm.cls' in this package when run through
-%% LaTeX or TeX.
-%%
-%% Copyright 1998 Paul A. Thompson
-%%
-%% IMPORTANT NOTICE:
-%%
-%% You are not allowed to change this file.
-%%
-%% If you do change the file, you must change the name.
-%
-% -----------------------------------------------------------------
-%%
-%% ---- Start of docstrip commands
-%%
-\input docstrip
-\preamble
-\endpreamble
-\keepsilent
-\askforoverwritefalse
-\Msg{*** Generating newlfm class file ***}
-\generate{\file{newlfm.cls}{\from{newlfm.dtx}{package}}}
-\generate{\file{addrset.sty}{\from{newlfm.dtx}{addrset}}}
-\generate{\file{setdim.sty}{\from{newlfm.dtx}{setdim}}}
-\ifToplevel{
-\Msg{***********************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the following}
-\Msg{* files into a directory searched by TeX:}
-\Msg{*}
-\Msg{* \space\space newlfm.cls}
-\Msg{* \space\space addrset.sty}
-\Msg{* \space\space setdim.sty}
-\Msg{*}
-\Msg{* This should be either the main install tree (if done automatically)}
-\Msg{* or the local tree (if done by user separately).}
-\Msg{*}
-\Msg{* Prefered location: root/tex/latex/newlfm}
-\Msg{*}
-\Msg{* After moving the files to the location, register the new files using}
-\Msg{* the installation configuration utility.}
-\Msg{*}
-\Msg{* To produce the documentation run the file `newlfm.dtx'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{***********************************************************}
-}
-
-\endbatchfile
-
-
-
+%%
+%% This file will generate fast loadable files and documentation
+%% driver files from the file `newlfm.cls' in this package when run through
+%% LaTeX or TeX.
+%%
+%% Copyright 1998 Paul A. Thompson
+%%
+%% IMPORTANT NOTICE:
+%%
+%% You are not allowed to change this file.
+%%
+%% If you do change the file, you must change the name.
+%
+% -----------------------------------------------------------------
+%%
+%% ---- Start of docstrip commands
+%%
+\input docstrip
+\preamble
+\endpreamble
+\keepsilent
+\askforoverwritefalse
+\Msg{*** Generating newlfm class file ***}
+\generate{\file{newlfm.cls}{\from{newlfm.dtx}{package}}}
+\generate{\file{addrset.sty}{\from{newlfm.dtx}{addrset}}}
+\generate{\file{setdim.sty}{\from{newlfm.dtx}{setdim}}}
+\ifToplevel{
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* files into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space newlfm.cls}
+\Msg{* \space\space addrset.sty}
+\Msg{* \space\space setdim.sty}
+\Msg{*}
+\Msg{* This should be either the main install tree (if done automatically)}
+\Msg{* or the local tree (if done by user separately).}
+\Msg{*}
+\Msg{* Prefered location: root/tex/latex/newlfm}
+\Msg{*}
+\Msg{* After moving the files to the location, register the new files using}
+\Msg{* the installation configuration utility.}
+\Msg{*}
+\Msg{* To produce the documentation run the file `newlfm.dtx'}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{***********************************************************}
+}
+
+\endbatchfile
+
+
+