diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex209/contrib/laletter |
Initial commit
Diffstat (limited to 'macros/latex209/contrib/laletter')
-rw-r--r-- | macros/latex209/contrib/laletter/README | 144 | ||||
-rw-r--r-- | macros/latex209/contrib/laletter/laletter.doc | 3755 | ||||
-rw-r--r-- | macros/latex209/contrib/laletter/laletter.ref | 4810 | ||||
-rw-r--r-- | macros/latex209/contrib/laletter/laletter.sty | 2003 | ||||
-rw-r--r-- | macros/latex209/contrib/laletter/lettest.tex | 176 |
5 files changed, 10888 insertions, 0 deletions
diff --git a/macros/latex209/contrib/laletter/README b/macros/latex209/contrib/laletter/README new file mode 100644 index 0000000000..400bd81124 --- /dev/null +++ b/macros/latex209/contrib/laletter/README @@ -0,0 +1,144 @@ +LALETTER.STY + +This is a LaTeX style that is used at the Los Alamos National +Laboratory to format letters in accordance with rules established +in the Laboratory's "Office Procedures Manual." There is a choice +of Computer Modern fonts or PostScript fonts. Letters can be +printed in Roman or typewriter typefaces. Multiple addresses can +be printed on a letter. A letter can be sent to a mailing list; +mailing labels and return addresses can be printed for each letter +on the mailing list. The following features can be included in a +letter: a salutation, a subject line, a reference line, a +complimentary close, a signature line, an enclosures list, an +attachments list, a copy list, or a distribution list. + +For more information read the "1989 Conference Proceedings" issue +of "TUGBOAT." Or read the accompanying "LaTeX Letter Reference" +in the file laletter.ref. + + +THE FILES + +There are four files that have to do with the LaTeX letter style +at Los Alamos National Laboratory. + +laletter.doc is the commented style file. +laletter.sty is the uncommented style file. +laletter.ref is an ASCII version of the laletter manual. +lettest.tex is a test file for laletter.sty that can also be used + as a template for users' own letters. + + +ALTERING THE STYLE FILE + +If you need to adapt the style file to your own institution's +letters, you should first run lettest.tex through latex and print +the dvi file. Then read laletter.ref to get a feel for the +variety of output that can be expected. + +The easiest way to change the header is to design a letter header +for your organization that will fit in place of + + Los Alamos + Los Alamos National Laboratory + Los Alamos, New Mexico 87545 + +You can then alter the commands that change the fonts (search for +\@latwentyeight and \@spectwelve), and alter the \put commands in +\@printmemopaper that print out the header. Also get rid of the +"University of California" \put statement. + +Your company's style may demand that you alter the part of the +header that prints the date, mail stop, telephone, and so forth. +In that case you will have to change the relevant \put statements +in \@printletterpaper, as well as those in +\@printfirstpagerightheader. + +The numbers in the parentheses in the \put statements are in +points to the right from the left edge of the paper and down from +the top edge of the paper. + +You may need to mess around with the value of \@countbotheader. +This variable is used for three purposes. It is the distance to +the bottom of the left side of our header (Los Alamos, NM 87545), +as well as the distance to the bottom of the right side of our +header (TELEPHONE:). It is also used by \def\@printto to figure +out where to begin printing the address. If your header is all in +one column, or if your header's right and left sides have +different vertical placement, make appropriate alterations. + +Hopefully, you can live with most of our letter's style, such as +the way addresses, signatures, and distribution lists are done. +I tried to make the code as modular as possible for the sake of my +own sanity, but I'm sure that I missed a lot of opportunities to +make it easy to alter the style for new stylistic requirements. + +To use PostScript fonts with laletter.sty, you must be using +ArborText's DVIPS. If you are using another PostScript device +driver, you will have to alter the appropriate \font commands in +\@chooseheaderfonts and \@choosebodyfonts. You will have to make +fancier changes if you are using classification labels. + +At the end of laletter.doc, there is a list of all the variables +and macros used in laletter.sty that are not defined in LaTeX. +Search for "END OF LALETTER.DOC". There are also two lists of the +more important macros defined in laletter.doc. One is sorted +alphabetically, and the other is sorted by line number. + + +CHANGING THE .DOC FILE INTO A .STY FILE + +I use sed (a UNIX utility) to turn my laletter.doc file into a +laletter.sty file. If you put the commands below into a file +named sedfile, run + + sed -f sedfile laletter.doc > laletter.sty + +s/%.*/%/g +s/[ ][ ]*/ /g +s/^ // +/^[ ]*%/d +/^[ ]*$/d +//d + +The parts of the lines that read [ ] are actually square +brackets enclosing a blank and a tab character. + +Line 1 removes everything that follows %s. +Line 2 converts multiple blanks into single spaces. +Line 3 gets rid of blanks at the beginning of lines. +Line 4 gets rid of lines containing only blanks and comments. +Line 5 gets rid of lines containing only blanks. +Line 6 gets rid of lines containing Control-L characters. + +This script only works because I follow certain conventions when I +write TeX code. For example, if you use a blank line instead of +an explicit \par token, the sed script will fail. + +\def\x{abc + +def} + + is NOT the same as + +\def\x{abc +def} + +There may be other constructions that don't work with this sed +script, so be careful. It IS really nice to have a commented doc +file as well as its quicker running sty file, so it may be worth +the extra care that it takes. + + +WHERE I AM + +Feel free to write e-mail (sxs@lanl.gov) or phone (505-667-5460) +or write a letter: + + Steve Sydoriak + Los Alamos National Laboratory + Group C-2, MS B253 + Los Alamos, New Mexico 87545 + +I might be able to help you stumble through some awkward piece of +code. diff --git a/macros/latex209/contrib/laletter/laletter.doc b/macros/latex209/contrib/laletter/laletter.doc new file mode 100644 index 0000000000..8137ac1a67 --- /dev/null +++ b/macros/latex209/contrib/laletter/laletter.doc @@ -0,0 +1,3755 @@ +\typeout{Document Style laletter. September 18, 1989} + +% Steve Sydoriak wrote this software. + +% Copyright, 1990, The Regents of the University of California. +% This software was produced under a U.S. Government contract +% (W-7405-ENG-36) by the Los Alamos National Laboratory, which is +% operated by the University of California for the U.S. Department +% of Energy. The U.S. Government is licensed to use, reproduce, +% and distribute this software. Permission is granted to the public +% to copy and use this software without charge, provided that this +% notice and any statement of authorship are reproduced on all +% copies. Neither the Government nor the University makes any +% warranty, express or implied, or assumes any liability or +% responsibility for the use of this software. + +% ***************************************** +% **** BEGINNING OF ARTICLE.DOC MACROS **** +% ***************************************** + +% The following portion of this file was copied from article.doc, +% with some of the lines commented out or added with % LETTER CHANGES + +% **************************************** +% * BIBLIOGRAPHY * +% **************************************** +% +% The thebibliography environment executes the following commands: +% +% \def\newblock{\hskip .11em plus .33em minus -.07em} -- +% Defines the `closed' format, where the blocks (major units of +% information) of an entry run together. +% +% \sloppy -- Used because it's rather hard to do line breaks in +% bibliographies, +% +% \sfcode`\.=1000\relax -- +% Causes a `.' (period) not toproduce an end-of-sentence space. +% +% LETTER CHANGES\def\thebibliography#1{\section*{References\@mkboth +% LETTER CHANGES {REFERENCES}{REFERENCES}}\list +\def\thebibliography#1{%% LETTER CHANGES + \par% LETTER CHANGES + \vspace{\baselineskip}% LETTER CHANGES + REFERENCES% LETTER CHANGES + \list% LETTER CHANGES + {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth + \advance\leftmargin\labelsep + \usecounter{enumi}}% +% The following line reflects the change between 16 Mar 88 and 4 Sep 86 +% versions of article.sty. + \def\newblock{\hskip .11em plus .33em minus .07em}% + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax}% + +\let\endthebibliography=\endlist + +% **************************************** +% * FIGURES AND TABLES * +% **************************************** +% +% Float placement parameters. See LaTeX manual for their definition. +% +\setcounter{topnumber}{2} +\def\topfraction{.7} +\setcounter{bottomnumber}{1} +\def\bottomfraction{.3} +\setcounter{totalnumber}{3} +\def\textfraction{.2} +\def\floatpagefraction{.5} +\setcounter{dbltopnumber}{2} +\def\dbltopfraction{.7} +\def\dblfloatpagefraction{.5} + +% \@makecaption{NUMBER}{TEXT} : Macro to make a figure or table caption. +% NUMBER : Figure or table number--e.g., 'Figure 3.2' +% TEXT : The caption text. +% Macro should be called inside a \parbox of right width, with \normalsize. +% changed 25 Jun 86 to fix according to Howard Trickey: +% instead of \unhbox\@tempboxa\par we do #1: #2\par + +\long\def\@makecaption#1#2{% + \vskip 10pt + \setbox\@tempboxa\hbox{#1: #2}% + \ifdim \wd\@tempboxa >\hsize % IF longer than one line: + #1: #2\par % THEN set as ordinary paragraph. + \else % ELSE center. + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% + \fi +}% +% +% To define a float of type TYPE (e.g., TYPE = figure), the document style +% must define the following. +% +% \fps@TYPE : The default placement specifier for floats of type TYPE. +% +% \ftype@TYPE : The type number for floats of type TYPE. Each TYPE has +% associated a unique positive TYPE NUMBER, which is a power +% of two. E.g., figures might have type number 1, tables type +% number 2, programs type number 4, etc. +% +% \ext@TYPE : The file extension indicating the file on which the +% contents list for float type TYPE is stored. For example, +% \ext@figure = 'lof'. +% +% \fnum@TYPE : A macro to generate the figure number for a caption. +% For example, \fnum@TYPE == Figure \thefigure. +% +% The actual float-making environment commands--e.g., the commands +% \figure and \endfigure--are defined in terms of the macros \@float +% and \end@float, which are described below. +% +% \@float{TYPE}[PLACEMENT] : Macro to begin a float environment for a +% single-column float of type TYPE with PLACEMENT as the placement +% specifier. The default value of PLACEMENT is defined by \fps@TYPE. +% The environment is ended by \end@float. +% E.g., \figure == \@float{figure}, \endfigure == \end@float. + +% FIGURE + +\newcounter{figure} +\def\thefigure{\@arabic\c@figure} + +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{Figure \thefigure} +\def\figure{\@float{figure}} +\let\endfigure\end@float +\@namedef{figure*}{\@dblfloat{figure}} +\@namedef{endfigure*}{\end@dblfloat} + +% TABLE + +\newcounter{table} +\def\thetable{\@arabic\c@table} + +\def\fps@table{tbp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{Table \thetable} +\def\table{\@float{table}} +\let\endtable\end@float +\@namedef{table*}{\@dblfloat{table}} +\@namedef{endtable*}{\end@dblfloat} +% +% END OF ARTICLE.DOC MACROS + +% *************************** +% **** LETTER.STY MACROS **** +% *************************** +% The following portion of this file was copied from letter.doc, +% with many of the lines commented out with % LETTER CHANGES + +% LETTER DOCUMENT STYLE -- Released 21 July 1985 +% for LaTeX version 2.09 +% Copyright (C) 1985 by Leslie Lamport + +% LETTER CHANGES \typeout{Document Style 'letter'. Released 21 July 1985} + +% The type size option is handled by \def'ing \@ptsize to the following +% values: +% 10pt : 0, 11pt : 1, 12pt : 2 +% Then loading the different fonts accordingly. +% + +\def\@ptsize{0} % Default is 10pt. +\@namedef{ds@11pt}{\def\@ptsize{1}} % 11pt option. +\@namedef{ds@12pt}{\def\@ptsize{2}} % 12pt option. + + +% no twoside option +% +\@twosidefalse + +% draft option +% +% \overfullrule = 0pt % Default is don't mark overfull hboxes. +\def\ds@draft{\overfullrule 5pt} % Causes overfull hboxes to be marked. + +% The \@options command causes the execution of every command \ds@FOO +% which is defined and for which the user typed the FOO option in his +% \documentstyle command. For every option BAR he typed for which +% \ds@BAR is not defined, the file BAR.sty will be read after the present +% (main) .STY file is executed. + +\@options + +% **************************************** +% * FONTS * +% **************************************** +% + +\lineskip 1pt % \lineskip is 1pt for all font sizes. +\normallineskip 1pt +\def\baselinestretch{1} + +% Each size-changing command \SIZE executes the command +% \@setsize\SIZE{BASELINESKIP}\FONTSIZE\@FONTSIZE +% where: +% BASELINESKIP = Normal value of \baselineskip for that size. (Actual +% value will be \baselinestretch * BASELINESKIP.) +% +% \FONTSIZE = Name of font-size command. The currently available +% (preloaded) font sizes are: \vpt (5pt), \vipt (6pt), +% \viipt (etc.), \viiipt, \ixpt, \xpt, \xipt, \xiipt, +% \xivpt, \xviipt, \xxpt, \xxvpt. +% \@FONTSIZE = The same as the font-size command except with an +% '@' in front---e.g., if \FONTSIZE = \xivpt then +% \@FONTSIZE = \@xivpt. +% +% For reasons of efficiency that needn't concern the designer, +% the document style defines \@normalsize instead of \normalsize . This is +% done only for \normalsize, not for any other size-changing commands. + +\ifcase \@ptsize\relax % 10pt option + +\def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt +\abovedisplayskip 10pt plus2pt minus5pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt% +\belowdisplayshortskip 6pt plus3pt minus3pt% +\let\@listi\@listI} % Setting of \@listi added 22 Dec 87 + +\def\small{\@setsize\small{11pt}\ixpt\@ixpt +\abovedisplayskip 8.5pt plus 3pt minus 4pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus2pt% +\belowdisplayshortskip 4pt plus2pt minus 2pt% +\def\@listi{\leftmargin\leftmargini %% Def of \@list i added 22 Dec 87 +\topsep 4pt plus 2pt minus 2pt\parsep 2pt plus 1pt minus 1pt +\itemsep \parsep}} + +\def\footnotesize{\@setsize\footnotesize{9.5pt}\viiipt\@viiipt +\abovedisplayskip 6pt plus 2pt minus 4pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus 1pt% +\belowdisplayshortskip 3pt plus 1pt minus 2pt% +\def\@listi{\leftmargin\leftmargini %% Def of \@list i added 22 Dec 87 +\topsep 3pt plus 1pt minus 1pt\parsep 2pt plus 1pt minus 1pt +\itemsep \parsep}} + +\def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt} +\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} +\def\large{\@setsize\large{14pt}\xiipt\@xiipt} +\def\Large{\@setsize\Large{18pt}\xivpt\@xivpt} +\def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt} +\def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} +\def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} + +\or % 11pt option + +\def\@normalsize{\@setsize\normalsize{13.6pt}\xipt\@xipt +\abovedisplayskip 11pt plus3pt minus6pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt% +\belowdisplayshortskip 6.5pt plus3.5pt minus3pt% +\let\@listi\@listI} % Setting of \@listi added 22 Dec 87 + +\def\small{\@setsize\small{12pt}\xpt\@xpt +\abovedisplayskip 10pt plus2pt minus5pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt% +\belowdisplayshortskip 6pt plus3pt minus3pt% +\def\@listi{\leftmargin\leftmargini %% Def of \@listi added 22 Dec 87 +\topsep 6pt plus 2pt minus 2pt\parsep 3pt plus 2pt minus 1pt +\itemsep \parsep}} + +\def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt +\abovedisplayskip 8pt plus 2pt minus 4pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus 1pt% +\belowdisplayshortskip 4pt plus 2pt minus 2pt% +\def\@listi{\leftmargin\leftmargini %% Def of \@listi added 22 Dec 87 +\topsep 4pt plus 2pt minus 2pt\parsep 2pt plus 1pt minus 1pt +\itemsep \parsep}} + +\def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt} +\def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} +\def\large{\@setsize\large{14pt}\xiipt\@xiipt} +\def\Large{\@setsize\Large{18pt}\xivpt\@xivpt} +\def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt} +\def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} +\def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} + +\or % 12pt option + +\def\@normalsize{\@setsize\normalsize{15pt}\xiipt\@xiipt +\abovedisplayskip 12pt plus3pt minus7pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt% +\belowdisplayshortskip 6.5pt plus3.5pt minus3pt% +\let\@listi\@listI} % Setting of \@listi added 22 Dec 87 + +\def\small{\@setsize\small{13.6pt}\xipt\@xipt +\abovedisplayskip 11pt plus3pt minus6pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt% +\belowdisplayshortskip 6.5pt plus3.5pt minus3pt% +\def\@listi{\leftmargin\leftmargini %% Def of \@list i added 22 Dec 87 +\parsep 4.5pt plus 2pt minus 1pt + \itemsep \parsep + \topsep 9pt plus 3pt minus 5pt}} + +\def\footnotesize{\@setsize\footnotesize{12pt}\xpt\@xpt +\abovedisplayskip 10pt plus2pt minus5pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt% +\belowdisplayshortskip 6pt plus3pt minus3pt% +\def\@listi{\leftmargin\leftmargini %% Def of \@list i added 22 Dec 87 +\topsep 6pt plus 2pt minus 2pt\parsep 3pt plus 2pt minus 1pt +\itemsep \parsep}} + +\def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt} +\def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} +\def\large{\@setsize\large{18pt}\xivpt\@xivpt} +\def\Large{\@setsize\Large{22pt}\xviipt\@xviipt} +\def\LARGE{\@setsize\LARGE{25pt}\xxpt\@xxpt} +\def\huge{\@setsize\huge{30pt}\xxvpt\@xxvpt} +\let\Huge=\huge +\fi + +\normalsize % Choose the normalsize font. + + +% **************************************** +% * PAGE LAYOUT * +% **************************************** +% +% All margin dimensions measured from a point one inch from top and side +% of page. Dimensions shrink by about 2 percent + +% SIDE MARGINS: +% LETTER CHANGES \oddsidemargin 53pt % Left margin on odd-numbered pages. +% LETTER CHANGES \evensidemargin 53pt % Left margin on even-numbered pages. +\marginparwidth 90pt % Width of marginal notes. +\marginparsep 11pt % Horizontal space between outer margin and + % marginal note +\marginparpush 5pt % Minimum vertical space between marginal notes. + +% VERTICAL SPACING: + % Top of page: +% LETTER CHANGES \topmargin 27pt% Nominal distance from top of page to top of + % box containing running head. +% LETTER CHANGES \headheight 12pt % Height of box containing running head. +% LETTER CHANGES \headsep 45pt % Space between running head and text. +% \topskip = 10pt % '\baselineskip' for first line of page. + % Bottom of page: +\footheight 12pt % Height of box containing running foot. +\footskip 25pt % Distance from baseline of box containing foot + % to baseline of last line of text. + +% DIMENSION OF TEXT: + +% LETTER CHANGES \textheight 505pt% Height of text (including footnotes + % and figures, + % excluding running head and foot). +% LETTER CHANGES \textwidth 365pt % Width of text line. + % For two-column mode: +% LETTER CHANGES \columnsep 10pt % Space between columns +% LETTER CHANGES \columnseprule 0pt % Width of rule between columns. + +% LETTER CHANGES \raggedbottom % 'ragged bottom' (all pages set to natural + % height, with no stretch or shrinkage) + +% FOOTNOTES: + +\footnotesep 12pt % Height of strut placed at the beginning of every + % footnote. +\skip\footins 10pt plus 2pt minus 4pt % Space between last line of text and + % top of first footnote. + + +% FLOATS: +% The following items must be defined, even though there are no +% floats in this style. +\floatsep 12pt plus 2pt minus 2pt +\textfloatsep 20pt plus 2pt minus 4pt +\intextsep 12pt plus 2pt minus 2pt +% LETTER CHANGES \dblfloatsep 12pt plus 2pt minus 2pt +% LETTER CHANGES \dbltextfloatsep 20pt plus 2pt minus 4pt +\@maxsep 20pt +% LETTER CHANGES \@dblmaxsep 20pt +\@fptop 0pt plus 1fil +\@fpsep 8pt plus 2fil +\@fpbot 0pt plus 1fil +% LETTER CHANGES \@dblfptop 0pt plus 1fil +% LETTER CHANGES \@dblfpsep 8pt plus 2fil +% LETTER CHANGES \@dblfpbot 0pt plus 1fil + + + +% **************************************** +% * LETTER COMMANDS * +% **************************************** + +% LETTER CHANGES ** This whole section of letter.doc was discarded. + +% **************************************** +% * THE SRI LETTER FORMAT * +% **************************************** + +% LETTER CHANGES ** This whole section of letter.doc was discarded. + +% **************************************** +% * THE GENERIC LETTER COMMANDS * +% **************************************** + +% LETTER CHANGES ** This whole section of letter.doc was discarded. + +% **************************************** +% * PAGE STYLES * +% **************************************** + +% LETTER CHANGES ** This whole section of letter.doc was discarded. + + +% **************************************** +% * PARAGRAPHING * +% **************************************** +% +% LETTER CHANGES \parskip .7em % Extra vertical space between paragraphs. +\parindent 0pt % Width of paragraph indentation. +% LETTER CHANGES \topsep .4em % Extra vertical space, in addition to + % \parskip, added above and below list and + % paragraphing environments. +\partopsep 0pt % Extra vertical space, in addition to + % \parskip and \topsep, added when user + % leaves blank line before environment. +% LETTER CHANGES \itemsep .4em % Extra vertical space, in addition to + % \parskip, added between list items. + +% The following page-breaking penalties are defined + +\@lowpenalty 51 % Produced by \nopagebreak[1] or \nolinebreak[1] +\@medpenalty 151 % Produced by \nopagebreak[2] or \nolinebreak[2] +\@highpenalty 301 % Produced by \nopagebreak[3] or \nolinebreak[3] + +\@beginparpenalty -\@lowpenalty % Before a list or paragraph environment. +\@endparpenalty -\@lowpenalty % After a list or paragraph environment. +\@itempenalty -\@lowpenalty % Between list items. + +% \clubpenalty % 'Club line' at bottom of page. +% \widowpenalty % 'Widow line' at top of page. +% \displaywidowpenalty % Math display widow line. +% \predisplaypenalty % Breaking before a math display. +% \postdisplaypenalty % Breaking after a math display. +% \interlinepenalty % SET BY THE LETTER COMMANDS +% \brokenpenalty % Breaking after a hyphenated line. + + + +% **************************************** +% * LISTS * +% **************************************** + +% LETTER CHANGES ** This whole section of letter.doc has been redefined +% in \opening, after \@typeface has been defined. + + +% **************************************** +% * OTHER ENVIRONMENTS * +% **************************************** +% +% +% THEOREM +% \@begintheorem ... \@endtheorem are the commands executed at the +% beginning and end of a (user-defined) theorem-like environment. +% Except \@opargbegintheorem is executed when an optional argument is +% given. Cf. LATEX.TEX. +% +% \def\@begintheorem#1#2{\it \trivlist \item[\hskip \labelsep{\bf #1\ #2}]} +% \def\@opargbegintheorem#1#2#3{\it \trivlist +% \item[\hskip \labelsep{\bf #1\ #2\ (#3)}]} +% \def\@endtheorem{\endtrivlist} + + +% EQUATION and EQNARRAY +% +% \newcounter{equation} +% Default is for left-hand side of equations to be flushleft. +% To make them flushright, do: +% \let\@eqnsel = \hfil +% + +\def\theequation{\arabic{equation}} + +% \jot = 3pt % Extra space added between lines of an eqnarray environment + +\arraycolsep 5pt % Half the space between columns in an array environment. +% LETTER CHANGES \tabcolsep 6pt% Half the space between columns in a + % tabular environment. +\arrayrulewidth .4pt % Width of rules in array and tabular environment. +\doublerulesep 2pt % Space between adjacent rules in array or tabular env. + +% TABBING +% +% LETTER CHANGES \tabbingsep \labelsep% Space used by the \' command. + % (See LaTeX manual.) + +% MINIPAGE +% \@minipagerestore is called upon entry to a minipage environment to +% set up things that are to be handled differently inside a minipage +% environment. In the current styles, it does nothing. +% +% \skip\@mpfootins : plays same role for footnotes in a minipage as +% \skip\footins does for ordinary footnotes + +\skip\@mpfootins = \skip\footins + +% FRAMEBOX +% +\fboxsep = 3pt % Space left between box and text by \fbox and \framebox. +\fboxrule = .4pt % Width of rules in box made by \fbox and \framebox. + + +% **************************************** +% * FOOTNOTES * +% **************************************** +% +% \footnoterule is a macro to draw the rule separating the footnotes from +% the text. It should take zero vertical space, so it needs a negative +% skip to compensate for any positive space taken by the rule. (See +% PLAIN.TEX.) + +\def\footnoterule{\kern-1\p@ + \hrule width .4\columnwidth + \kern .6\p@} % The \hrule has default height of .4pt . + +% \newcounter{footnote} + +% The numbering style (arabic, alph, etc.) for ordinary footnotes +% is defined by the macro \thefootnote. +% +% \@makefntext{NOTE} : +% Must produce the actual footnote, using \@thefnmark as the mark +% of the footnote and NOTE as the text. It is called when effectively +% inside a \parbox, with \hsize = \columnwidth. +% + +\long\def\@makefntext#1{\noindent % Macro to make the text of a footnote + \hangindent 5pt\hbox + to 5pt{\hss $^{\@thefnmark}$}#1} + +% \@makefnmark : A macro to generate the footnote marker that goes +% in the text. Default definition used. + + +% **************************************** +% * MISCELLANEOUS * +% **************************************** +% +% DATE +% +\def\today{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\day, \number\year} + + + +% **************************************** +% * INITIALIZATION * +% **************************************** +% +% Default initializations + +% LETTER CHANGES \smallskipamount=.5\parskip % These values are used by + % the letter macros. +% LETTER CHANGES \medskipamount=\parskip +% LETTER CHANGES \bigskipamount=2\parskip + +% LETTER CHANGES \ps@plain % 'plain' page style +\pagenumbering{arabic} % Arabic page numbers +\onecolumn % Single-column +% LETTER CHANGES Since users want bibliographies, tables of figures, +% LETTER CHANGES tables of contents, let them have the .AUX, etc files. +% +% LETTER CHANGES \@fileswfalse % \@fileswfalse inhibits writing of .AUX file. + +% END OF LETTER.STY -- THE LETTER DOCUMENT STYLE + +% +% *************************************************************** +% **** BEGINNING OF LOCALLY WRITTEN MACROS FOR LANL LETTERS. **** +% *************************************************************** +% +% ***************************************** +% **** DEFINE AND INITIALIZE REGISTERS **** +% ***************************************** + +% \NEWLENGTH, \NEWCOUNTER, \NEWCOUNT, \NEWTOKS, \NEWSAVEBOX, \NEWDIMEN, +% \NEWSKIP, \NEWIF + +\newwrite\@mainmlb + +\newlength{\@lengthlabel} +\newlength{\@lengthrule} +\newlength{\@lengthdate} +\newlength{\@lengthname} + +\newcounter{@countlist} + +\newcount\@countverticalposition +\newcount\@countbotheader +\newcount\@countclassseptop +\newcount\@countclasssepbot +\newcount\@counttemp +\newcount\@countto +\newcount\@countattn +\newcount\@countattnsave +\newcount\@countthru +\newcount\@counttelephone +\newcount\@countcy +\newcount\@countvia +\newcount\@countattachments +\newcount\@countreference +\newcount\@countenc +\newcount\@countdistribution +\newcount\@countrightcolon +\newcount\@countleftheader +\newcount\@countrightheader +\newcount\@countpictorig +\newcount\@countletterlist +\newcount\@countleftto +\newcount\@countrightto +\newcount\@counttemptwo +\newcount\@countcoltemp +\newcount\@countreturnaddress +\newcount\@countskiplabels + +\newtoks\@toksto +\newtoks\@toksattn +\newtoks\@toksattnsave +\newtoks\@toksthru +\newtoks\@tokscy +\newtoks\@tokstelephone +\newtoks\@toksvia +\newtoks\@toksattachments +\newtoks\@toksenc +\newtoks\@toksreference +\newtoks\@toksdistribution +\newtoks\@tokspagetwoheader +\newtoks\@toksbeforenewline +\newtoks\@toksafternewline +\newtoks\@toksaftersave +\newtoks\@toksempty +\newtoks\@toksblank +\newtoks\@toksnewline +\newtoks\@toksremaining +\newtoks\@toksitem +\newtoks\@toksbeforeendto +\newtoks\@toksafterendto +\newtoks\@toksbeforecomma +\newtoks\@toksleftto +\newtoks\@toksrightto +\newtoks\@tokstemp +\newtoks\@tokscoltemp +\newtoks\@toksreturnaddress + +\newsavebox{\@boxtemp} +\newsavebox{\@boxclasspage} +\newsavebox{\@boxpagetwoheader} + +\newdimen\@dimentoppagetwo +\newdimen\@dimenpagetwoheader +\newdimen\@dimenfirstpageleftheader +\newdimen\@dimenwdtt +\newdimen\@dimenletterpaperhcorr +\newdimen\@dimenletterpapervcorr +\newdimen\@dimenspaceaftercolon +\newdimen\descriptionmargin +\newdimen\@dimenversemargin +\newdimen\@dimentocolsep +\newdimen\@dimenhspacesig +\newdimen\@dimenexpandside +\newdimen\@dimenexpandtopmargin +\newdimen\@dimentemp +\newdimen\@headsepfirst +\newdimen\@textheightfirst +\newdimen\@dimenmaillabelheight +\newdimen\@dimenmaillabeltopmargin +\newdimen\@bodysep + +\newskip\@baselineskipsave +\newskip\@parskipsave +\newskip\@topskipfirst + +\newif\if@newline +\newif\if@comma +\newif\if@notvoidtoks +\newif\if@toksnotequal +\newif\if@beenhere +\newif\if@somethingbefore +\newif\if@continueloop +\newif\if@cmfonts +\newif\if@closing +\newif\if@everyindent +\newif\if@printingto +\newif\if@neveropened +\newif\if@newtemp +\newif\if@newattn +\newif\if@newtelephone +\newif\if@newcy +\newif\if@newattachments +\newif\if@newreference +\newif\if@newdistribution +\newif\if@newenc +\newif\if@newthru +\newif\if@newvia +\newif\if@newrightto +\newif\if@newleftto +\newif\if@newto +\newif\if@makemaillabels +\newif\if@outputfirstpage% Set in \@printfirstpageheader and \@outputpage +\newif\if@outputlastpage% Set in \@printfirstpageheader and \@outputpage +\newif\if@newreturnaddress + +% Initialize defs and registers. + +\let\@mlbout=\@mainmlb +\clubpenalty=10000 +\widowpenalty=10000 +\topmargin -72pt% Gets rid of default 1 inch margin at top of page. +\textheight=724pt +\@textheightfirst=\textheight +\topskip=0pt +\@topskipfirst=\topskip +\headsep=0pt +\@headsepfirst=\headsep +\headheight 0pt +\footskip 43pt +\textwidth 438pt +\@countverticalposition 0 +\@toksempty={} +\@toksblank={ } +\@toksnewline={\\} +\@dimenpagetwoheader 180pt +\@dimenfirstpageleftheader 220pt +\@dimenexpandside=0pt +\@dimenexpandtopmargin=0pt +\@countleftheader=87 +\@countrightcolon=404 +\@countbotheader 104 +\@dimenletterpaperhcorr 0pt +\@dimenletterpapervcorr 0pt +\@dimenspaceaftercolon 12pt +\@everyindentfalse +\@printingtofalse +\@neveropenedtrue +\@newtemptrue +\@newattntrue +\@newtelephonetrue +\@newcytrue +\@newattachmentstrue +\@newreferencetrue +\@newdistributiontrue +\@newenctrue +\@newthrutrue +\@newviatrue +\@newrighttotrue +\@newlefttotrue +\@newtotrue +\@newreturnaddresstrue +\@makemaillabelsfalse +\@dimentocolsep=24pt + +\def\@blank{ }% +\def\@tt{tt}\def\@rm{rm}% +\def\@texfonts{texfonts}% +\def\@lafonts{lafonts}\def\@postscript{postscript}% +\def\@letterpaper{letterpaper}% +\def\@useto{to}\def\@usesubject{subject}\def\@useattn{attn}% + +% ******************** +% **** USER INPUT **** +% ******************** + +% +% \DEF \TO, \THRU, \CY, \ATTACHMENTS, \REFERENCE, \ENCLOSURES, +% \DISTRIBUTION +% \defs that call \@toksinput or \@tokstoinput. +% +\def\to#1{% + \if@newto\@resettovars\fi + \ifnum\@countleftto>0 \@errortoleftrightto\@tokstoinput{leftto}{#1}% + \else\ifnum\@countrightto>0 \@errortoleftrightto\@tokstoinput{leftto}{#1}% + \else \@tokstoinput{to}{#1}% + \fi\fi}% +\def\leftto#1{% + \if@newleftto\@resettovars\fi + \ifnum\@countto>0 \@totoleftto\fi \@tokstoinput{leftto}{#1}}% +\def\rightto#1{% + \if@newrightto\@resettovars\fi + \ifnum\@countto>0 \@totoleftto\fi \@tokstoinput{rightto}{#1}}% +\def\attn#1{\if@printingto Attn: #1\@toksinput{attn}{#1}\else\@errorattn\fi + % This \global kludge is necessary because @countattn is incremented + % within the \list environment. + \global\@countattn=\@countattn}% +\def\telephone#1{\@toksinput{telephone}{#1}}% +\def\cy#1{\@toksinput{cy}{#1}}% +\def\via#1{\@tokstoinput{via}{#1}}% +\def\thru#1{\@tokstoinput{thru}{#1}}% +\def\attachments#1{\@toksinput{attachments}{#1}}% +\def\reference#1{\@toksinput{reference}{#1}}% +\def\distribution#1{\@toksinput{distribution}{#1}}% +\def\enc#1{\@toksinput{enc}{#1}}% +% Allow only the last \returnaddress to be used. +\def\returnaddress#1{\@toksreturnaddress={}\@countreturnaddress=0 + \@toksinput{returnaddress}{#1}}% +% +% \DEF \HEADERFONTS, \BODYFONTS, \SUBJECT, \SYMBOL, \SERIALNUMBER, +% \MAILSTOP, \TELEPHONE, etc +% Other defs (that don't call \@toksinput or \@tokstoinput). +% Remove leading and trailing blanks from \typeface, \headerfonts, \bodyfonts. +% +\def\typeface#1{\def\@typeface{#1}% + \@unspaceleft\@typeface \@unspaceright\@typeface}% +\def\headerfonts#1{\def\@headerfonts{#1}% + \@unspaceleft\@headerfonts \@unspaceright\@headerfonts}% +\def\bodyfonts#1{\def\@bodyfonts{#1}% + \@unspaceleft\@bodyfonts \@unspaceright\@bodyfonts + \ifx\@bodyfonts\@postscript \@psdefclasslabel\fi}% +\def\nocallouts{\def\@nocallouts{}}% +\def\usetoasheader{\def\@useasheader{to}}% +\def\useattnasheader{\def\@useasheader{attn}}% +\def\usesubjectasheader{\def\@useasheader{subject}}% +\def\useotherasheader#1{\def\@useasheader{#1}}% +\def\subject#1{% + \def\@subjectorig{#1}% + \def\@subject{\uppercase{#1}}% + \ifx\@subjectorig\@blank\def\@subject{}\fi + \ifx\@subjectorig\@empty\def\@subject{}\fi}% +\def\salutation#1{\def\@salutation{#1}}% +\def\symbol#1{\def\@symbol{#1}\@unspaceright\@symbol + \@unspaceleft\@symbol}% +\def\serialnumber#1{\def\@serialnumber{#1}\@unspaceleft\@serialnumber + \@unspaceright\@serialnumber}% +\def\mailstop#1{\def\@mailstop{#1}\@unspaceright\@mailstop + \@unspaceleft\@mailstop}% +\def\date#1{\def\@date{#1}\@unspaceleft\@date}% +\def\expandwidth#1{\@ifnoinfo{#1}{\@dimenexpandside=0pt}{% + \@dimenexpandside=#1 \divide\@dimenexpandside by 2 + \advance \textwidth by #1}}% +\def\expandtopmargin#1{% + \@ifnoinfo{#1}{\@dimenexpandtopmargin=0pt}{\@dimenexpandtopmargin=#1}}% +\def\shortletterstyle{\def\@shortletterstyle{}}% +\def\noclearpage{\def\@noclearpage{}}% +\def\signer#1{\def\@signer{#1}% + \@unspaceright\@signer\@upperunspaceleft\@signer}% +\def\originator#1{% + \def\@originator{#1}% + \@unspaceright\@originator + \@upperunspaceleft\@originator}% +\def\typist#1{% + \def\@typist{#1}% + \ifx\@typist\@empty + \else + \ifx\@typist\@blank + \def\@typist{}% + \else + \def\@typist{\lowercase{\ignorespaces#1}}% + \fi\fi}% +\def\letterpaperhcorr#1{\@ifnoinfo{#1}% + {\@dimenletterpaperhcorr=0pt}{\@dimenletterpaperhcorr=#1}}% +\def\letterpapervcorr#1{\@ifnoinfo{#1}% + {\@dimenletterpapervcorr=0pt}{\@dimenletterpapervcorr=#1}}% +\def\complimentaryclose#1{\def\@complimentaryclose{#1}}% +\def\signature#1{\def\@signature{#1}}% +\def\cypagebreak{\def\@cypagebreak{}}% +\def\attachmentspagebreak{\def\@attachmentspagebreak{}}% +\def\encpagebreak{\def\@encpagebreak{}}% +\def\distributionpagebreak{\def\@distributionpagebreak{}}% +\def\encas{\def\@encas{}}% +\def\attachmentas{\def\@attachmentas{}}% +\def\attachmentsas{\def\@attachmentsas{}}% +\def\encpagebreak{\def\@encpagebreak{}}% +\def\makemaillabels{\@makemaillabelstrue} +\def\maillabelheight#1{\@ifnoinfo{#1}% + {\maillabelheight{1.5in}}{\@dimenmaillabelheight=#1}}% +\def\maillabeltopmargin#1{\@ifnoinfo{#1}% + {\maillabeltopmargin{.25in}}{\@dimenmaillabeltopmargin=#1}}% +\def\skiplabels#1{\@ifnoinfo{#1}% + {\@countskiplabels=0}{\@countskiplabels=#1}}% + +% \DEF \CLASSLABEL +% Read in argument from \classlabel and create \@classlabel +% If argument is not {s} or {c} or {u}, stop the job. + +\def\classlabel#1{% + \def\@unspacedclasslabel{#1}% + \@unspaceleft{\@unspacedclasslabel}% + \@unspaceright{\@unspacedclasslabel}% + \@ifundefined{@classlabel}% + {}{\def\@todieornottodie{\@errortwoclasses\@exit}}% + % \@secret, \@confidential, and \@unclassified need different \defs + % so that they dont compare equal + \def\@secret{s}\def\@confidential{c}\def\@unclassified{u}% + \ifx\@unspacedclasslabel\@secret% If #1 is s + \def\@classlabel{SECRET}% + \typeout{^^JThis letter will be marked SECRET.^^J}% + \else\ifx\@unspacedclasslabel\@confidential% If #1 is c + \def\@classlabel{CONFIDENTIAL}% + \typeout{^^JThis letter will be marked CONFIDENTIAL.^^J}% + \else\ifx\@unspacedclasslabel\@unclassified% If #1 is u + \def\@classlabel{UNCLASSIFIED}% + \typeout{^^JThis letter will be marked UNCLASSIFIED.^^J}% + \else\ifx\@unspacedclasslabel\@empty% If #1 is empty + \def\@classlabel{}% + \else + % #1 was not a c, s, or u so it's time to die + \def\@todieornottodie{% + \def\@classlabel{#1}% + \@errorclassargument + \@exit}% + \fi\fi\fi\fi + \@todieornottodie +}% +% \DEF \@TOKSINPUT +% Called by something like \@toksinput{cy}{Steve Sydoriak\\Bill Ebanks} +% \@toksinput collects input from \cy, \attachments, etc: any +% input that can have mutiple lines of input of the form \xx{a\\b\\c,etc} +% or \xx{a}\xx{b}, etc. \@toksinput leaves \@toksxx={a\\b\\c}, for example, +% and \@countxx=3. Some user errors, such as \xx{\\a} or \xx{a\\}\xx{b} +% are corrected. +\def\@toksinput#1#2{% + \def\@toksname{\csname @toks#1\endcsname}% + \def\@countname{\csname @count#1\endcsname}% + \def\@ifnewname{\csname if@new#1\endcsname}% + \def\@newnamefalse{\csname @new#1false\endcsname}% + \def\@newnametrue{\csname @new#1true\endcsname}% + \@ifnewname + % @newnametrue, ie, @toksinput has not been called with #1 since + % \documentstyle or \closing, so initialize. + % Note however, if #1={temp}, that \@newtemptrue every time. + % (See \@tokstoinput.) + \@newnamefalse + \@countname=0 + \@toksname={}% + % @newnamefalse, ie, @toksinput has been called before, so add a \\ + \else + \@addtotoks\@toksname\\ + \fi + \@beenherefalse + \@toksremaining={#2}% + \loop + % Pull off @toksbeforenewline, the tokens before @toksremaining's first \\ + \@tonewlinepull\@toksremaining + \@somethingbeforefalse + \@toksnotequal\@toksbeforenewline\@toksempty + \if@toksnotequal + \@toksnotequal\@toksbeforenewline\@toksblank + \if@toksnotequal + % There is something non-blank before the \\ in @toksbeforenewline. + \@somethingbeforetrue + \fi\fi + \if@somethingbefore + \if@beenhere + % Been thru the loop before, so add a \\ to @toksname. + \@addtotoks\@toksname\\ + \else + % This is the first time thru the loop. + \@beenheretrue + \fi + % When \@toksbeforenewline is not empty and not blank, add it to \@toksname. + \@addtokstotoks\@toksname\@toksbeforenewline + \@continuelooptrue + \advance\@countname by 1 + \else + \@toksnotequal\@toksafternewline\@toksempty% Blank or empty before \\ + \if@toksnotequal + \@toksnotequal\@toksafternewline\@toksnewline% Something after the \\ + \if@toksnotequal + \@continuelooptrue% \@toksafter.ne.{}and.ne.{\\} + \else + \@continueloopfalse% \@toksafter={\\} + \fi + \else + \@continueloopfalse% \@toksafter={ } + \fi\fi + \if@continueloop + % Set @toksremaining to @toksafternewline, and repeat the loop. + \@toksremaining=\@toksafternewline + \repeat +}% +% \DEF \@RESETTOVARS +% +% Comes here when a \if@newleftto, \if@newrightto, or \if@newto is true, +% as detected by \leftto, \rightto, or \to. +% Reinitializes for the addresses on the next letter. +% +\def\@resettovars{% + \@newtofalse\@countto=0\@toksto={}% + \@newlefttofalse\@countleftto=0\@toksleftto={}% + \@newrighttofalse\@countrightto=0\@toksrightto={}% +} +% \DEF \@TOKSTOINPUT +% Called by something like +% \@tokstoinput{to}{Roy Nielson \\ Library Department \\ +% Lawrence Berkeley Laboratory \\ University of California \\ +% Library, Bldg. 50, Room 134 \\ Berkeley, CA 94720} +% +% \@tokstoinput collects input from \to, \leftto, and \rightto and +% concatenates them into \@toksto, \@toksleftto, and \@toksrightto +% The number of addresses is counted in \@countto, etc. +% If there are multiple occurrences of \to, \leftto, or \rightto, +% addresses are terminated with \@endto, for example, +% +% \leftto{a\\b\\c} +% \leftto{d\\e\\f} +% +% produces +% +% \@toksleftto={a\\b\\c\@endto d\\e\\f\@endto} +% and \@countleftto=2 +% +\def\@tokstoinput#1#2{% + \edef\@tokstoname{\csname @toks#1\endcsname}% + \edef\@counttoname{\csname @count#1\endcsname}% + % + % Setting \@newtemptrue causes \@toksinput to initialize \@tokstemp + % and prevents a \\ from being put at the beginning of \@tokstemp. + \@newtemptrue + \@toksinput{temp}{#2}% + \@toksnotequal\@tokstemp\@toksempty + \if@toksnotequal + \@addtokstotoks\@tokstoname\@tokstemp + \@addtotoks\@tokstoname\@endto + \advance\@counttoname by 1 + \fi +}% +% \DEF \@TOTOLEFTTO +% Comes here the first time that a call to \leftto or \rightto +% follows a call to \to. +% An warning message is printed, and 'to' info is moved to 'leftto'. +% +\def\@totoleftto{% + \@errortoleftrightto + \@toksleftto=\@toksto + \@toksto={}% + \@countleftto=\@countto + \@countto=0}% + +% ***************************** +% **** OPENING AND CLOSING **** +% ***************************** + +% \DEF \OPENING +% \opening prints the preprinted header info and/or the people*s names, etc., +% down to but not including the SUBJECT: line. +% +\def\opening{% + \@checkinput + \if@neveropened + \@neveropenedfalse + % \font commands don't work twice in a row + \@choosefonts + \fi + \@initializefontvariables + \@initializeothervariables + \@baselineskipsave=\baselineskip + \@parskipsave=\parskip + \@closingfalse + % \lineskip is temporarily set to 0pt because the addresses are + % printed in a \vbox. + \lineskip=0pt + \@printfirstpageheader + \@checkuseasinput + \@makepagetwoheader + \@beginletter + \lineskip=\normallineskip +}% +% \DEF \CLOSING +% The closing prints all the info after the body of the letter +% +\def\closing{% + \normalsize + \@closingtrue + \@endletter + \@clearclosing + \leftskip=\@dimenhspacesig + \@printcompclose + \@printsignature + \par + \leftskip=0pt + \@printoriginatorline + \@printenc + \@printattachments + \@printdistribution + \@printcy + \@settrue + \@restorevariables + \@multipleletters +}% +% \DEF \@RESTOREVARIABLES +\def\@restorevariables{% + \@countattn=0 + \@toksattn={}% +}% +% \DEF \@MULTIPLELETTERS +% When multiple letters are being printed, all the macros that +% write to the .aux file, such as \cite, \label, \begin{figure}, +% etc, should only write to .aux the first time through the body +% of the letter. +% +\def\@multipleletters{% + \def\@citex[##1]##2{% + \def\@citea{}\@cite{\@for\@citeb:=##2\do + {\@citea\def\@citea{,\penalty\@m\ }\@ifundefined + {b@\@citeb}{{\bf ?}\@warning + {Citation `\@citeb' on page \thepage \space undefined}}% + \hbox{\csname b@\@citeb\endcsname}}}{##1}}% + \def\addcontentsline##1##2##3{}% + \def\label##1{\@bsphack\@esphack}% + \def\@lbibitem[##1]##2{\item[\@biblabel{##1}]\ignorespaces}% + \def\@bibitem##1{\item\ignorespaces}% + \setcounter{figure}{0}% + \setcounter{table}{0}% + \setcounter{footnote}{0}% + \setcounter{equation}{0}% +}% + +% ************************** +% **** CHECK USER INPUT **** +% ************************** + +% \DEF \@CHECKINPUT +% Check for missing input items and set default input values. +% +\def\@checkinput{% + \ifnum\@countvia>0 % + \ifnum\@countthru>0 % + \@errorthruandvia + \fi\fi + \@ifemptyorundefined{@salutation}% + {\@errorundeclaredsalutation}{}% + \@ifemptyorundefined{@complimentaryclose}% + {\def\@complimentaryclose{Sincerely yours,}\@errorundeclaredcompclose}{}% + \@ifemptyorundefined{@signature}{\@errorundeclared{\signature}% + \@errorshowexample{\signature}{Betty J. Donaldson}}{}% + \@ifemptyorundefined{@signer}{\@errorundeclared{\signer}% + \@errorshowexample{\signer}{BJD}}{}% + \ifnum\@countto=0\ifnum\@countleftto=0\ifnum\@countrightto=0 % + \@errorundeclaredto\fi\fi\fi + \@ifundefined{@symbol}{\def\@symbol{}}{}% + \@ifundefined{@nocallouts}{% + \ifx\@symbol\@empty + \@errorundeclaredcallout{\symbol}\@errorshowexample{\symbol}{C-2}% + \fi + \@ifemptyorundefined{@mailstop}% + {\def\@mailstop{}\@errorundeclaredcallout{\mailstop}% + \@errorshowexample{\mailstop}{B253}}{}% + \ifnum\@counttelephone=0 % + \@tokstelephone={}% + \@errorundeclaredcallout{\telephone}% + \@errorshowexample{\telephone}{(505) 665-0859}% + \fi + }{}% + \@ifundefined{@subject}{\def\@subject{}}{}% + \@ifundefined{@originator}% + {\def\@originator{}}{}% + \@ifemptyorundefined{@signer}% + {\def\@signer{}}{}% + \@ifundefined{@typist}% + {\def\@typist{}}{}% + \@ifemptyorundefined{@date}{\def\@date{\today}}% + {\ifx\@date\@empty\def\@date{\today}\fi}% + \@ifemptyorundefined{@serialnumber}% + {\def\@serialnumber{}}{\ifx\@symbol\@empty \@errorserialnosymbol\fi}% + \def\@symbolserialnumber{% + \@symbol + \ifx\@symbol\@empty + \else + \ifx\@serialnumber\@empty + \else + -\relax + \fi\fi + \@serialnumber\ }% + \@ifundefined{@typeface}{\def\@typeface{tt}}{}% + \ifx\@typeface\@empty\def\@typeface{tt}\fi% + \@ifundefined{@headerfonts}{\def\@headerfonts{texfonts}}{}% + \ifx\@headerfonts\@empty\def\@headerfonts{texfonts}\fi% + \@ifundefined{@bodyfonts}{\def\@bodyfonts{texfonts}}{}% + \ifx\@bodyfonts\@empty\def\@bodyfonts{texfonts}\fi +}% +% \DEF \@CHECKUSEASINPUT +% Check that the type of data to be used on the second page headers +% has been defined. This \def is separate from \@checkinput because +% \attn is not executed until 1st page headers are printed. +% +% +\def\@checkuseasinput{% + \@ifundefined{@useasheader}{\def\@useasheader{to}}{% + \ifx\@useasheader\@useattn + \ifnum\@countattn=0 % + \@erroruseas{attn}{\attn}\def\@useasheader{to}% + \fi + \else\ifx\@useasheader\@usesubject + \ifx\@subject\@empty + \@erroruseas{subject}{\subject}\def\@useasheader{to}% + \fi + \fi\fi +}}% + +% ********************** +% **** CHOOSE FONTS **** +% ********************** + +% \DEF \@CHOOSEFONTS +% This \def chooses the fonts for the letter +% +\def\@choosefonts{% + \@amorcm + \@getpostscriptnames + \@chooseheaderfonts + \@choosebodyfonts + \@setnormalsize +}% +% \DEF \@AMORCM figures out whether am or cm fonts have been loaded. +% If the amfonts (amr10,etc) were defined by lfonts.tex, an error message +% is printed. Only systems that have upgraded to the cm fonts can +% use texfonts. +% +\def\@amorcm{% + \edef\@cmr{\csname cmr10\endcsname}% + \edef\@tenrm{\csname\fontname\tenrm\endcsname}% + \ifx\@cmr\@tenrm \@cmfontstrue\else\@cmfontsfalse\fi + \if@cmfonts + \else\ifx\@bodyfonts\@texfonts + \@erroramfonts + \else\ifx\@headerfonts\@texfonts + \@erroramfonts + \fi\fi\fi +}% +% \DEF \@GETPOSTSCRIPTNAMES +% This \def defines PostScript font names. +% +\def\@getpostscriptnames{% + \def\@cmhelv{psmhlv }% + \def\@cmhelvb{psmhlvb }% + \def\@cmtimer{psmtimr }% + \def\@cmtimei{psmtimi }% + \def\@cmtimeb{psmtimb }% + \def\@cmcour{psmcou }% + \def\@cmcouro{psmcouo }% + \def\@cmcourb{psmcoub }% +}% +% \DEF \@CHOOSEHEADERFONTS +% This \def chooses the header fonts +% +\def\@chooseheaderfonts{% + % If letterpaper, don't need to load any fonts. + \ifx\@headerfonts\@letterpaper + \else\ifx\@headerfonts\@lafonts + \font\@booksix=book6% + \font\@bookseven=book7% + \font\@lettertwentyeight=memo28% + \font\@latwentyeight=la28% + \font\@spectwelve=spec12% + \else\ifx\@headerfonts\@texfonts + \if@cmfonts + \font\@booksix=cmr6% + \font\@bookseven=cmr7% + \font\@latwentyeight=cmbx10 scaled\magstep5% + \font\@memotwentyeight=cmbx10 scaled\magstep5% + \font\@spectwelve=cmss10 scaled\magstep1% + \else + \font\@booksix=amr6% + \font\@bookseven=amr7% + \font\@latwentyeight=ambx10 scaled\magstep5% + \font\@memotwentyeight=ambx10 scaled \magstep5% + \font\@spectwelve=amss10 scaled\magstep1% + \fi + \else\ifx\@headerfonts\@postscript + \font\@booksix=\@cmhelv at 6pt% + \font\@bookseven=\@cmhelv at 7pt% + \font\@lettertwentyeight=\@cmhelvb at 28pt% + \font\@spectwelve=\@cmhelv at 10.5pt% + \else% illegal header + \def\@todieornottodie{\@errorillegalheaderfont\@exitfi}% + \fi\fi\fi\fi + \@todieornottodie +}% +% \DEF \@CHOOSEBODYFONTS +% This \def chooses the fonts for the body of the letter +% +\def\@choosebodyfonts{% + \ifx\@typeface\@tt + \else\ifx\@typeface\@rm + \else + \def\@todieornottodie{\@errorillegaltypeface\@exitfi}% + \fi\fi + \@todieornottodie + \ifx\@bodyfonts\@texfonts + \if@cmfonts + \font\@classfont=cmss10 scaled \magstep5% + \else + \font\@classfont=amssmc40 + \fi + \else\ifx\@bodyfonts\@postscript + \ifcase\@ptsize\relax % 10pt option + \font\tenrm = \@cmtimer at 10pt % roman + \font\tentt = \@cmcour at 10pt % typewriter + \ifx\@typeface\@tt + \font\tenit = \@cmcouro at 10pt % tt italic + \font\tenbf = \@cmcourb at 10pt % tt bold + \else\ifx\@typeface\@rm + \font\tenit = \@cmtimei at 10pt % roman italic + \font\tenbf = \@cmtimeb at 10pt % roman bold + \fi\fi + \or % 11pt option + \font\elvrm = \@cmtimer at 11pt % roman + \font\elvtt = \@cmcour at 11pt % typewriter + \ifx\@typeface\@tt + \font\elvit = \@cmcouro at 11pt % tt italic + \font\elvbf = \@cmcourb at 11pt % tt bold + \else\ifx\@typeface\@rm + \font\elvit = \@cmtimei at 11pt % roman italic + \font\elvbf = \@cmtimeb at 11pt % roman bold + \fi\fi + \or % 12pt option + \font\twlrm = \@cmtimer at 12pt % roman + \font\twltt = \@cmcour at 12pt % typewriter + \ifx\@typeface\@tt + \font\twlit = \@cmcouro at 12pt % tt italic + \font\twlbf = \@cmcourb at 12pt % tt bold + \else\ifx\@typeface\@rm + \font\twlit = \@cmtimei at 12pt % roman italic + \font\twlbf = \@cmtimeb at 12pt % roman bold + \fi\fi + \fi + \else + \def\@todieornottodie{\@errorillegalbodyfont\@exitfi}% + \fi\fi + \@todieornottodie +}% +% \DEF \@SETNORMALSIZE +% Define \normalsize. See lfonts.tex. The difference here is that +% we must plug tt or rm into the def. +\def\@setnormalsize{% + \edef\normalsize{% + \ifx\@currsize\normalsize + \ifx\@typeface\@tt + \tt + \else\ifx\@typeface\@rm + \rm + \fi\fi + \else + \@normalsize + \fi}}% + +% ********************************************************** +% **** INITIALIZE FONT AND TYPEFACE DEPENDENT VARIABLES **** +% ********************************************************** + +% \DEF \@INITIALIZEFONTVARIABLES +% This def will initialize fonts dependent variables such as parskip and +% will put kerns in the variable that need it, such as the header words +% and special symbols such as bullets +% +\def\@initializefontvariables{% + \raggedbottom + \@kernheaderwords + \@initializetypefacedependencies + % \pem is redefined so that \em will return to \tt or \rm depending + % on @typeface + \def\pem{% + \ifdim\fontdimen\@ne\font>\z@ + \csname\@typeface\endcsname + \else\it + \fi +}}% +% \DEF \@KERNHEADERWORDS +% +% Define and kern @losalamos @lanl @lanm for tex fonts. + +\def\@kernheaderwords{% + \ifx\@headerfonts\@texfonts + \def\@lanl{% + \raise 1pt\hbox{% + \def\@kern{\kern -.5pt}% + L\@kern o\@kern s\ \kern -2.5pt A\@kern l\@kern a\@kern m\@kern + o\@kern s\ \kern -2pt N\@kern a\@kern t\@kern i\@kern o\@kern + n\@kern a\@kern l\ \kern -3pt L\@kern a\@kern b\@kern o\@kern + r\@kern a\@kern t\@kern o\@kern r\@kern y}}% + \def\@lanm{% + \def\@kern{\kern -.5pt}% + L\@kern o\@kern s\kern -2.5pt\ A\@kern l\@kern a\@kern m\@kern + o\@kern s\kern -1pt ,\kern -4.5pt\ New\kern -3pt\ Mexico\kern -3pt + \ 87545}% + \def\@losalamos{Los Alamos}% + \else\ifx\@headerfonts\@lafonts +% +% Are the old or new Metafoundry fonts being used? +% If the width of the L in spec12 is 5.3368, then the new fonts are in use. +% If the width of the L in spec12 is 5.5407, then the old fonts are in use. +% Test for width == 5.3368pt +/- .001pt in case rounding is a problem. + \@spectwelve\setbox\@boxtemp=\hbox{L}\@dimentemp=\wd\@boxtemp + \advance\@dimentemp by -5.3368pt + \ifdim\@dimentemp<0pt \@dimentemp=-\@dimentemp\fi + \ifdim\@dimentemp<.001pt +% Define and kern @losalamos @lanl @lanm for new la fonts. + \def\@lanl{% + L\kern -.4pt o\kern .35pt s\ \kern -.8pt + A\kern .6pt l\kern .1pt a\kern .6pt m\kern .1pt o\kern .35pt s% + \def\@kern{\kern .22pt}% + \ N\@kern a\@kern t\@kern i\@kern o\@kern n\@kern a\kern .47pt + l\ \kern -.2pt + \def\@kern{\kern .03pt}% + L\@kern a\kern .43pt b\@kern o\@kern r\@kern a\@kern + t\kern -.22pt o\@kern r\@kern y}% + \def\@lanm{% + L\kern -.4pt o\kern .35pt s\ \kern -.8pt + \def\@kern{\kern .35pt}% + A\kern .6pt l\kern .1pt a\kern .6pt m\kern .1pt o\kern .35pt s,% + \ \kern -1.5pt + N\kern -.2pt ew\ \kern -.1pt + \def\@kern{\kern .15pt}% + M\kern -.05pt e\@kern x\@kern i\@kern c\@kern o\ \kern -.1pt + 8\kern -.65pt 7\kern -.9pt 54\kern -.7pt 5}% + \def\@losalamos{% + \kern -1.2pt L\kern 0pt o\kern -.75pt s\ \kern -6.7pt + A\kern .25pt l\kern 1.25pt a\kern -.85pt m\kern -.65pt + o\kern -.75pt s}% +% Define and kern @losalamos @lanl @lanm for old la fonts. + \else + \def\@todieornottodie{\@erroroldlafonts\@exit}% + \fi + \else\ifx\@headerfonts\@postscript +% Define and kern @losalamos @lanl @lanm for postscript fonts. + \def\@lanl{% + \raise .5pt\hbox{% + Los\kern -2pt\ Alamos\kern -1.5pt\ National\kern -2pt + \ Laboratory}}% + \def\@lanm{% + \def\@kern{\kern .57pt}% + Los\kern -2pt\ Alamos\kern -1pt,\kern -3.5pt\ N\@kern e\@kern + w\kern -2pt\ M\@kern e\@kern x\@kern i\@kern c\@kern + o\kern -2pt\ 87545}% +% +% @LOSALAMOS is a PostScript macro that prints Los Alamos in hollow letters. +% ##1 and ##2 are \@dimenletterpaperhcorr and \@dimenletterpapervcorr +% + \def\@PSlosalamos##1##2{% + \@psdeflosalamos + \special{ps:: ##1 ##2 @LOSALAMOS1 @LOSALAMOS2 @LOSALAMOS3}}% + \fi\fi\fi + \@todieornottodie +}% +% \DEF \@INITIALIZETYPEFACEDEPENDENCIES +% +% Variables that are dependent on typeface are initialized here. + +\def\@initializetypefacedependencies{% + +% For typewriter typeface. + + \ifx\@typeface\@tt + +% Hyphenation. + + \rightskip=0pt plus 3.6em% As this increases, there will be less hyphens. + \@rightskip=\rightskip + \hyphenchar\nintt=\defaulthyphenchar + \hyphenchar\tentt=\defaulthyphenchar + \hyphenchar\elvtt=\defaulthyphenchar + \hyphenchar\twltt=\defaulthyphenchar + +% Bullets. + + \ifx\@bodyfonts\@texfonts + \def\@bullet{\leavevmode\raise-.22ex\hbox to 0pt{+\hss}o}% + \else\ifx\@bodyfonts\@postscript + \def\@bullet{\leavevmode\raise-.19ex\hbox to 0pt{+\hss}o}% + \fi\fi + \fi + \@initializelists +}% +% \DEF \@INITIALIZELISTS +% +% Initialize \list variables. +% Most of the initialization for Roman typeface and some initialization +% for typewriter typeface comes directly from Lamport's letter.doc + +\def\@initializelists{% + % \@dimenwdtt is the width of a character in the typewriter font. +\setbox\@boxtemp=\hbox{\tt n}\@dimenwdtt=\wd\@boxtemp + \ifx\@typeface\@tt + + \parskip=\baselineskip + +% **************************************** +% * LISTS * +% **************************************** +% + +% The following commands are used to set the default values for the list +% environment's parameters. See the LaTeX manual for an explanation of +% the meanings of the parameters. Defaults for the list environment are +% set as follows. First, \rightmargin, \listparindent and \itemindent +% are set to 0pt. Then, for a Kth level list, the command \@listK is +% called, where 'K' denotes 'i', 'ii', ... , 'vi'. (I.e., \@listiii is +% called for a third-level list.) By convention, \@listK should set +% \leftmargin to \leftmarginK. +% +% For efficiency, level-one list's values are defined at top level, and +% \@listi is defined to be a no-op. + + \leftmargini 4\@dimenwdtt + \leftmarginii 4\@dimenwdtt + \leftmarginiii 4\@dimenwdtt + \leftmarginiv 4\@dimenwdtt + \leftmarginv 4\@dimenwdtt + \leftmarginvi 4\@dimenwdtt + + \leftmargin\leftmargini + \labelwidth\leftmargini\advance\labelwidth-\labelsep + \labelsep=\@dimenwdtt + \parsep=\baselineskip + + \topsep 0pt + \itemsep 0pt + \@bodysep 0pt + + \descriptionmargin=5\@dimenwdtt + + \@dimentemp=\@dimenwdtt + +% For Roman typeface + + \else\ifx\@typeface\@rm + + \parskip=.7em + \@parskipsave=\parskip + +% Bullets. + + \def\@bullet{$\bullet$}% + +% See comments for *** LISTS *** above under \ifx\@typeface\@tt + + \leftmargini 2.5em + \leftmarginii 2.2em % > \labelsep + width of '(m)' + \leftmarginiii 1.87em % > \labelsep + width of 'vii.' + \leftmarginiv 1.7em % > \labelsep + width of 'M.' + \leftmarginv 1em + \leftmarginvi 1em + + \leftmargin\leftmargini + \labelwidth\leftmargini\advance\labelwidth-\labelsep + \labelsep 5pt + + \topsep .4em + \@bodysep .8em + + \parsep .4em + \itemsep .2em + + \descriptionmargin=3em + + \@dimentemp=5pt + + \fi\fi + + \listparindent=0pt + \let\@listi\relax + + \def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep}% + + \def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \ifx\@typeface\@rm + \topsep .2em + \itemsep \topsep + \fi}% + + \def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep}% + + \def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep}% + + \def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep}% + +% VERSE +% The verse environment is defined by making clever use of the +% list environment's parameters. The user types \\ to end a line. +% This is implemented by \let'in \\ equal \@centercr. +% +\@dimenversemargin=3\@dimentemp +\def\verse{\let\\=\@centercr + \list{}{\itemsep\z@ \itemindent -\@dimenversemargin \listparindent \itemindent + \rightmargin\leftmargin\advance\leftmargin \@dimenversemargin}\item[]}% +\let\endverse\endlist + +% QUOTATION +% Fills lines +% Indents paragraph +% + \def\quotation{\list{}{% + \rightmargin\leftmargin}\item[]}% + \let\endquotation=\endlist + +% The following is from letter.doc's OTHER ENVIRONMENTS. + \tabcolsep \@dimentemp % Half the space between columns in a + % tabular environment. + + \tabbingsep \labelsep % Space used by the \' command. (See LaTeX manual.) + +% ENUMERATE +% Enumeration is done with four counters: enumi, enumii, enumiii +% and enumiv, where enumN controls the numbering of the Nth level +% enumeration. The label is generated by the commands \labelenumi +% ... \labelenumiv. + + \def\labelenumi{\arabic{enumi}.}% + \def\theenumi{\arabic{enumi}}% + + \def\labelenumii{\alph{enumii}.}% + \def\theenumii{\alph{enumii}}% + \def\p@enumii{\theenumi}% + + \def\labelenumiii{(\arabic{enumiii})}% + \def\theenumiii{\roman{enumiii}}% + \def\p@enumiii{\theenumi(\theenumii)}% + + \def\labelenumiv{(\alph{enumiv})}% + \def\theenumiv{\Alph{enumiv}}% + \def\p@enumiv{\p@enumiii\theenumiii}% + +% ITEMIZE +% Itemization is controlled by four commands: \labelitemi, \labelitemii, +% \labelitemiii, and \labelitemiv, which define the labels of the various +% itemization levels. + + \def\labelitemi{\@bullet}% From OPM manual + \def\labelitemii{-}% + \def\labelitemiii{*}% + \def\labelitemiv{+}% + +% QUOTE -- same as quotation except no paragraph indentation, +% + \def\quote{\list{}{\rightmargin\leftmargin}\item[]}% + \let\endquote=\endlist + +% DESCRIPTION +% +% To change the formatting of the label, you must redefine +% \descriptionlabel. + + \def\descriptionlabel##1{\hspace\labelsep \it ##1}% + \def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}}% + + \let\enddescription\endlist +}% +% \DEF \@INITIALIZEOTHERVARIABLES +% Variables that define the positioning and style of headers are set here, +% among others. +% +\def\@initializeothervariables{% + \let\@texttop=\relax + \@ifundefined{@classlabel}{\def\@classlabel{}}{}% + % Defines the headers on page one. + \def\ps@firstpage{\let\@mkboth\@gobbletwo + \def\@oddhead{\@makeclassheader\@printclasspage}% + \def\@oddfoot{}}% + % Defines the headers on page two and on. + \def\ps@pagetwo{\let\@mkboth\@gobbletwo + \def\@oddhead{% + \@printpagetwoheader\@printpagenum\@printclasspage}% + \def\@oddfoot{}}% + % + \pagestyle{pagetwo}% + % + % Initialize first page variables. + % + \@advcountbydimen\@countverticalposition\@dimenletterpapervcorr + + \@advcountbydimen\@countleftheader\@dimenletterpaperhcorr + \@advcountbydimen\@countrightcolon\@dimenletterpaperhcorr + + \@countrightheader=\@countrightcolon + \@advcountbydimen\@countrightheader\@dimenspaceaftercolon + + \@countpictorig=\@countleftheader + \@advcountbydimen\@countpictorig{-\@dimenexpandside}% + + \oddsidemargin=\@countleftheader pt + \advance \oddsidemargin by -1in + \advance \oddsidemargin by -\@dimenexpandside + \evensidemargin=\oddsidemargin +}% +% \DEF \@SETTRUE +% Sets all the \@new....true. +% These variables are used to check if such and so a variable has +% been used by \@toksinput since the current memo began. +\def\@settrue{% + \@newtemptrue + \@newattntrue + \@newtelephonetrue + \@newtelephonetrue + \@newcytrue + \@newattachmentstrue + \@newreferencetrue + \@newdistributiontrue + \@newenctrue + \@newthrutrue + \@newviatrue + \@newrighttotrue + \@newlefttotrue + \@newtotrue +} + +% ********************************************* +% **** CLASSIFICATION AND PAGE TWO HEADERS **** +% ********************************************* + +% \DEF \@MAKECLASSHEADER +% Make the box that contains the classification header and footer. +% +\def\@makeclassheader{% + \@countclassseptop 24 % This is the vertical distance in POINTS from + % the top border to SECRET or CONFIDENTIAL. + \@countclasssepbot 40 % This is the vertical distance in POINTS from + % the bottom border to SECRET or CONFIDENTIAL. + % It is bigger than the top sep to make room + % for the Equal Opportunity line at the bottom. +% \global is necessary here because \@makeclassheader is called from +% \@oddhead which is within a \begin-\endgroup inside of \output + \@globaladvcountbydimen\@countclasssepbot{-\@dimenletterpapervcorr}% + \@globaladvcountbydimen\@countclassseptop\@dimenletterpapervcorr +% PostScript + \ifx\@bodyfonts\@postscript + \@makePSclassheader +% Not PostScript + \else + \ifx\@classlabel\@empty + \global\setbox\@boxclasspage=\hbox{\hbox to 0pt{\hss\hss}}% + \else + \global\setbox\@boxclasspage=\hbox{\hbox to 0pt{\hss + \begin{picture}(0,0)(\@countpictorig,0)% + {% + \@classfont + \put (0,-\@countclassseptop)% + {\makebox(0,0)[tl]{\hbox to 8.5in{\hfil\@classlabel\hfil}}}% + \@counttemp=-\@countclasssepbot + \advance\@counttemp by 795 % 795pt is 11in + \put (0,-\@counttemp)% + {\makebox(0,0)[bl]{\hbox to 8.5in{\hfil\@classlabel\hfil}}}% +% \put (0,0){\line(1,-2){20}}% debug corner +% \put (0,0){\line(1,-1){20}}% debug corner +% \put (0,0){\line(1,-3){20}}% debug corner + }% + \end{picture}% + \hss}}% + \fi\fi +}% +% \DEF \@PSDEFLOSALAMOS +% This is the PostScript definition for @LOSALAMOS, which prints +% 'Los Alamos' when \headerfonts{postscript} is used. +% The PostScript code is read in little chunks to avoid the problem +% of preview crashing on the Suns with bigger chunks. Arbortext has +% fixed the problem, but many older version of preview are still +% being used and distributed. +% +\gdef\@psdeflosalamos{% + \special{ps::[local]% + /@LOSALAMOS1 { + % Print a hollow Los Alamos + % + /VirginState save def + /Helvetica-Bold findfont [ 27.7 0 0 29 0 0 ] makefont setfont + % + /YC exch neg def % y correction for label placement. + /XC exch def % x correction + } def + }% + \special{ps::[local]% + /@LOSALAMOS2 { + /MV {moveto} def + /SO {false charpath stroke} def + .5 setlinewidth + XC 87 add YC 716 add translate + % + } def + }% + \special{ps::[local]% + /@LOSALAMOS3 { + 0 0 MV (L) SO + 15.9 0 MV (o) SO + 31.8 0 MV (s) SO + 51.3 0 MV (A) SO + 70.2 0 MV (l) SO + 77 0 MV (a) SO + 91.4 0 MV (m) SO + 115 0 MV (o) SO + 130.9 0 MV (s) SO + % + VirginState restore + } def + }% +}% +% \DEF \@PSDEFCLASSLABEL +% This is the PostScript definition for @CLASSOVERLAY, which prints +% the classification label when \bodyfonts{postscript} is used. +% The PostScript code is read in little chunks to avoid the problem +% of preview crashing on the Suns with bigger chunks. Arbortext has +% fixed the problem, but many older version of preview are still +% being used and distributed. +% +\def\@psdefclasslabel{% + \specialbop{ps::[global]% + /@CLASSOVERLAY1 { + % + % Print the classification label at the top and bottom of the page. + % + /VirginState save def + /Topdist exch def + /Botdist exch def + dup (SECRET) eq + {/Space 3.5 def /X 272 def } % Dist is vert distance + % between the edge of the paper and the classification label. + {/Space 3 def /X 244 def } % Space is the space added + % between letters in the label. X is the distance to the left + % side of the label. + ifelse + /Label exch def + } def + }% + \specialbop{ps::[global]% + /@CLASSOVERLAY2 { + /Print { gsave Space 0 Label ashow grestore } def + /DoubPrint { Print StrikeWidth 0 rmoveto Print } def + % + /Scale .415888 def % The letters are scaled by this amount. + /StrikeWidth 1.4 def % The letters are each printed twice + % with this distance between the letters. Double + % striking is used to make the vertical portions of + % the letters wider. + } def + }% + \specialbop{ps::[global]% + /@CLASSOVERLAY3 { + /Helvetica-Bold findfont [29 Scale mul 0 0 29 0 0] makefont setfont + % + X 770 Topdist sub moveto + DoubPrint + % + X Botdist moveto + DoubPrint + VirginState restore + } def + }% +}% +% \DEF \@MAKEPSCLASSHEADER +% Define the PostScript macro that prints the classification header +% and footer. +% +\def\@makePSclassheader{% +% +% \@PSclasslabel invokes the PostScript command @CLASSOVERLAY +% @CLASSOVERLAY prints the classification label in PostScript +% in such a way as to simulate the labels on preprinted SECRET +% or CONFIDENTIAL paper. +% + \gdef\@PSclasslabel##1##2##3{% + \special{ps:: ##1 ##2 ##3 @CLASSOVERLAY1 @CLASSOVERLAY2 @CLASSOVERLAY3}}% +}% +% \DEF \@MAKEPAGETWOHEADER +% The header for pages 2-N are put in a box because the height of +% \@boxpagetwoheader is used to calulate \@dimentoppagetwo +% which is used to calculate \topskip and \headsep and \textheight +% +\def\@makepagetwoheader{% + \@tokspagetwoheader={}% + \ifx\@useasheader\@useto + \@pullpagetwotoheader + \else\ifx\@useasheader\@useattn + \@tokspagetwoheader=\@toksattn + \else\ifx\@useasheader\@usesubject + \ifx\@subject\@empty\else\@tokspagetwoheader=\expandafter{\@subjectorig}\fi + \else + \@tokspagetwoheader=\expandafter{\@useasheader}% + \fi\fi\fi + \savebox{\@boxpagetwoheader}{% + \begin{minipage}[b]{\textwidth}% + % The 72pt puts the page number line at one inch down the page. + % The -\ht\strutbox compensates for the distance between the top + % of the minipage and the bottom of the top line. + \normalsize + \rule{0pt}{72pt}\rule{0pt}{-\ht\strutbox}% \rule keeps it in horiz mode + \parbox[t]{\@dimenpagetwoheader}{% + \parskip=\@parskipsave + \the\@tokspagetwoheader\copy\strutbox + \ifx\@serialnumber\@empty + \else + \ifhmode\newline\fi \@symbolserialnumber\copy\strutbox + \fi + }% + \copy\strutbox\hfill + \makebox[\@dimenpagetwoheader][r]{\hfil\@date}% + \end{minipage}% + }% + % Now make the distance from the bottom of the page two + % header to the first line of the page equal to four lines. + \@dimentoppagetwo=\ht\@boxpagetwoheader + \advance\@dimentoppagetwo by 4\baselineskip + \advance\@dimentoppagetwo by -\dp\strutbox +}% +% \DEF \@PRINTCLASSPAGE +% The \def prints the classification label at the top and bottom of a page. +% +\def\@printclasspage{% + \ifx\@bodyfonts\@postscript + \ifx\@classlabel\@empty + \else + \@PSclasslabel{(\@classlabel)}{\the\@countclasssepbot }% + {\the\@countclassseptop }% + \fi + \vbox to 0in{}\hss + \else + \vbox to 0in{\hbox to 0pt{\usebox{\@boxclasspage}\hss}\vss}\hss + \fi +}% +% \DEF \@PRINTPAGETWOHEADER +% The \def prints the header on page two and following pages. +% +\def\@printpagetwoheader{% + \vbox to 0in{\hbox to 0pt{\usebox{\@boxpagetwoheader}\hss}\vss}% +}% +% \DEF \@PRINTPAGENUM +% The \def prints the page number on page two and following pages. +% +\def\@printpagenum{% + \vbox to 0pt{\hbox to 0pt{% + \begin{minipage}[b]{\textwidth}% + \normalsize + \rule{0pt}{72pt}\rule{0pt}{-\ht\strutbox}% \rule keeps it in horiz mode + \hfil{- \thepage\ -}\hfil + \end{minipage}% + \hss}\vss}% +}% +% \DEF \@PULLPAGETWOTOHEADER +% This \def pulls the page two header from \leftto and \rightto input. +% The first line of each address in \@toksleftto and \@toksrightto is +% put into \@tokspagetwoheader. A \\ is put into \@tokspagetwoheader +% after each address except for the last one. +% +\def\@pullpagetwotoheader{% + \@pullloop{leftto}% + \ifnum\@countrightto=0\else + \@addtotoks\@tokspagetwoheader\\ + \@pullloop{rightto}% + \fi +}% +\def\@pullloop#1{% + \@tokstemp=\csname @toks#1\endcsname + \@counttemp=\csname @count#1\endcsname + % Pull off \@counttemp first lines from \@tokstemp + \loop + \ifnum\@counttemp>0 % + \@toendtopull\@tokstemp + \@tonewlinepull\@toksbeforeendto + \@tocommapull\@toksbeforenewline + \@addtokstotoks\@tokspagetwoheader\@toksbeforecomma + \ifnum\@counttemp=1\else + \@addtotoks\@tokspagetwoheader\\ + \fi + \@tokstemp=\@toksafterendto + \advance\@counttemp by -1 + \repeat +}% + + +% ************************************************************* +% **** BEGIN AND END LETTER, SHORT OR NORMAL LETTER STYLE. **** +% ************************************************************* + +% \DEF \@BEGINLETTER +% If the short letter style was used, the variables are set for it. +% +\def\@beginletter{% + \@ifundefined{@shortletterstyle}{\par}% + {% Shortletterstyle. + \ifx\@typeface\@tt + \topsep=\baselineskip + \baselineskip=2\baselineskip + \parindent=5\@dimenwdtt + \leftmargini=7\@dimenwdtt + \else\ifx\@typeface\@rm + \advance\baselineskip by \parskip + \parindent=2.5em + \leftmargini=3.5em + \topsep=1.2em + \parsep=.6em + \itemsep=.6em + \fi\fi + \parskip=0pt + \leftmargin=\leftmargini + \par + }% +}% +% \DEF \@CLEARCLOSING +% If there are any unprinted floats, call \clearpage. +% This has the unfortunate effect of putting the closing information +% on a page by itself. +% +\def\@clearclosing{% + \edef\@tempa{\@toplist\@botlist\@deferlist}% + \ifx\@tempa\@empty\else + \@ifundefined{@noclearpage}{\clearpage}{}% + \fi +}% +% \DEF \@ENDLETTER +% If the short letter style is wanted, the variables for it are un-set. +% +\def\@endletter{% + \@ifundefined{@shortletterstyle}{\@dimenhspacesig=0pt}% + {% + \par + \ifnum\thepage>1 % + \@errorshortletter + \fi + \parindent=0em + \baselineskip=\@baselineskipsave + \parskip=\@parskipsave + % In shortletterstyle, put closing 3 spaces to right of center + \@dimenhspacesig=\textwidth + \divide\@dimenhspacesig by \@dimenwdtt + \divide\@dimenhspacesig by 2 + \multiply\@dimenhspacesig by \@dimenwdtt + \advance\@dimenhspacesig by 3\@dimenwdtt + }% +}% + +% *********************** +% **** PRINT OPENING **** +% *********************** + +% \DEF \@PRINTFIRSTPAGEHEADER +% Prints TO: DATE: etc. headers, (but not the info from the colon on). +% +\def\@printfirstpageheader{% + \@outputlastpagetrue + \newpage + \@outputfirstpagetrue + \@outputlastpagefalse + \thispagestyle{firstpage}% + \normalsize + \begin{picture}(0,0)(\@countpictorig,\@countverticalposition)% + \ifx\@headerfonts\@letterpaper + \else + \@printletterpaper + \fi + \@printfirstpagerightheader + \end{picture}% + \@splitto + \@printingtotrue\@printto\@printingtofalse + \@printthruorvia{thru}% + \@printthruorvia{via}% + \@printsalutation + \@printsubject + \@printreference +}% +% \DEF \@PRINTLETTERPAPER +% The preprinted part is printed. +% +\def\@printletterpaper{% +% \put (0,0){\line(1,-2){40}}% debug corner +% \put (0,0){\line(1,-1){40}}% debug corner +% \put (0,0){\line(2,-1){40}}% debug corner + \ifx\@headerfonts\@postscript + \@dimentemp=\@dimenletterpaperhcorr + \@counttemp=\@dimentemp + \divide\@counttemp by 65536 + \@counttemptwo=\@dimenletterpapervcorr + \divide\@counttemptwo by 65536 + \@PSlosalamos{\the\@counttemp }{\the\@counttemptwo }% + \else + \@latwentyeight + \put (\@countleftheader,-77){\@losalamos}% + \fi + \@spectwelve + \put (\@countleftheader,-93){\@lanl}% + \put (\@countleftheader,-\@countbotheader){\@lanm}% + \@bookseven +% But what about @#$% am fonts! +% The Equal Opportunity line should stay with the classification label. + \@counttemptwo=767 +% Note that the Equal Op has been moved by the \@dimenletterpapervcorr +% in the \begin{picture}. + \put (0,-\@counttemptwo){\makebox(0,0)[bl]{\hbox to 8.5in{% + \hfil An Equal Opportunity Employer/Operated + by the University of California\hfil}}}% +% +% Now print the TO, DATE, etc. +% First print the part of the heading that is the same for thru or thruless +% + \@ifundefined{@nocallouts}{% + \@booksix + \put (\@countrightcolon,-68){\makebox(0,0)[br]{DATE:}}% + \put (\@countrightcolon,-80){\makebox(0,0)[br]{IN REPLY REFER TO:}}% + \put (\@countrightcolon,-92){\makebox(0,0)[br]{MAIL STOP:}}% + \put (\@countrightcolon,-\@countbotheader){\makebox(0,0)[br]{TELEPHONE:}}% + }{}% +}% +% \DEF \@PRINTFIRSTPAGERIGHTHEADER +% Print the user input for the right hand side of the first page header. +% This will either be the callouts or the date and reference. +% +\def\@printfirstpagerightheader{% + \normalsize + \@ifundefined{@nocallouts}{% + \put (\@countrightheader,-68){\@date}% + \put (\@countrightheader,-80){\@symbolserialnumber}% + \put (\@countrightheader,-92){\@mailstop}% + \put (\@countrightheader,-\@countbotheader)% + {\parbox[t]{2.5in}{\parskip=\@parskipsave\the\@tokstelephone}}% + }{% + \put (\@countrightheader,-\@countbotheader){\parbox[b]{2.5in}{% + \parskip=\@parskipsave\ignorespaces\@date + \\Ref\@: \ignorespaces\@symbolserialnumber +}}}}% +% \DEF \@SPLITTO +% This macro figures out how to split \@toksto into \@toksleftto and +% \@toksrightto. If \@countto=0, \@toksleftto and \@toksrightto are +% used as is. If 1 <= \@countto <= 2 \@toksto is put into \@toksleftto. +% If \@countto > 2 \@toksto is divided between \@toksleftto and +% \@toksrightto, with the extra address put into \@toksleftto if +% \@countto is an odd number. +% On exit, \@toksto is left empty, and \@countto=0. +% +\def\@splitto{% + \ifnum\@countto=0 % + \else\ifnum\@countto<3 % + \@toksleftto=\@toksto + \@countleftto=\@countto + \@toksrightto={}% + \@countrightto=0 + \else + \@countrightto=\@countto \divide\@countrightto by 2 + \@countleftto=\@countto \advance\@countleftto by -\@countrightto + % Pull off \@countleftto addresses from \@toksto + \@toksleftto={}% + \@counttemp=\@countleftto + \@tokstemp=\@toksto + \loop + \@toendtopull\@tokstemp + \@addtokstotoks\@toksleftto\@toksbeforeendto + \@addtotoks\@toksleftto\@endto + \@tokstemp=\@toksafterendto + \advance\@counttemp by -1 + \ifnum\@counttemp>0 % + \repeat + \@toksrightto=\@tokstemp + \fi\fi + \@toksto={}\@countto=0 +}% +% \DEF \@PRINTTO +\def\@printto{% + \newline + \@dimentemp=\@countbotheader pt + \advance\@dimentemp by \@dimenletterpapervcorr + \advance\@dimentemp by 3\baselineskip + \advance\@dimentemp by -\ht\strutbox + \advance\@dimentemp by \@dimenexpandtopmargin + \vrule height \the\@dimentemp width0pt + % \@everyindenttrue causes the \@item macro to indent every paragraph in + % an \item, including the first paragraph. The indent here will make + % wrap-around addresses indent on subsequent lines. + \@everyindenttrue + \vbox to 0pt{% + \hbox{% + \@dimentemp=\textwidth + \ifnum\@countrightto=0 % + \parbox[t]{\@dimentemp}% + {\parskip=\@parskipsave + \ifnum\@countleftto>0 \@maketocol{leftto}\fi \mbox{}}% + \else + \advance\@dimentemp by -\@dimentocolsep + \divide\@dimentemp by 2 + \parbox[t]{\@dimentemp}% + {\parskip=\@parskipsave + \ifnum\@countleftto>0 \@maketocol{leftto}\fi \mbox{}}% + \hskip\@dimentocolsep + \parbox[t]{\@dimentemp}% + {\parskip=\@parskipsave\@maketocol{rightto}\mbox{}}% + \fi + }% + }% + \@everyindentfalse + \newline + % Make distance to comp close \parskip + \@bodysep + \vspace{-\baselineskip}% + \vspace{-\parskip}% + \vspace{\@bodysep}% + \mbox{}% +}% +% \DEF \@MAKETOCOL +% +% Makes a column of to (addresses). +% It's called with {leftto} or {rightto} +% This is done in the list environment so that long lines will be +% reverse indented (first line sticks out to the left). +% +\def\@maketocol#1{% + \@tokscoltemp=\csname @toks#1\endcsname + \@countcoltemp=\csname @count#1\endcsname + % Save \@countcoltemp to reset on exit from \@maketocol. + \@counttemptwo=\@countcoltemp + \begin{list}{}{\parsep=0pt\itemsep=\parskip\listparindent=-2\@dimenwdtt + \topsep=0pt\leftmargin=-\listparindent}% + % Goes thru longloop once per address. + \longloop + \ifnum\@countcoltemp>0 % + \advance\@countcoltemp by -1 + \@toendtopull\@tokscoltemp + \@tokscoltemp=\@toksafterendto + % Write this address to the .mlb file, to be used later for printing + % mailing labels. + \@writeonelabel{\the\@toksbeforeendto}% + \item + \leavevmode\copy\strutbox + % Goes thru innerloop once per printed line. + \innerloop + \@tonewlinepull\@toksbeforeendto + % Save \@toksafternewline into \@toksaftersave; \the\@toksbeforenewline + % can send execution off to \def\attn and then to \def\@toksinput. + % \@toksinput resets \@toksafternewline. + \@toksaftersave=\@toksafternewline + % Print the next line of the address. + \ignorespaces\the\@toksbeforenewline + \copy\strutbox + \@toksnotequal\@toksaftersave\@toksempty + \if@toksnotequal + \par + \@toksbeforeendto=\@toksaftersave + \innerrepeat + \longrepeat + \end{list}% + \@countcoltemp=\@counttemptwo +}% +% \DEF \LONGLOOP, \LONGINNERLOOP, \INNERITERATE +% +% These defs are used by \@maketocol instead of plain.tex's normal loops. +% \longloop makes it possible to output \par tokens while in the loop. +% \innerloop and \inneriterate are used as inner loops. +% +\long\def\longloop#1\longrepeat{\def\longbody{#1}\longiterate}% +\def\longiterate{\longbody \let\next\longiterate \else\let\next\relax\fi \next}% +\let\longrepeat=\fi% this makes \longloop...\if...\longrepeat skippable +% +\long\def\innerloop#1\innerrepeat{\def\innerbody{#1}\inneriterate}% +\def\inneriterate{\innerbody \let\next\inneriterate + \else\let\next\relax\fi \next}% +\let\innerrepeat=\fi% this makes \innerloop...\if...\innerrepeat skippable +% +% \DEF \@PRINTSALUTATION +% Print the salutation +% +\def\@printsalutation{% + \@ifemptyorundefined{@salutation}{}{% + \par + \@salutation +}}% +% \DEF \@PRINTTHRUORVIA +% Print the THRU or VIA list if \@countthru or \@countvia > 0 +% +\def\@printthruorvia#1{% + \@tokstemp=\csname @toks#1\endcsname + \@counttemp=\csname @count#1\endcsname + \ifnum\@counttemp=0 % + \else + \longloop + \@toendtopull\@tokstemp + \par + \begin{list}{\copy\strutbox \uppercase{#1}:\hfill}{% + \settowidth\labelwidth{\uppercase{#1}: }% + \leftmargin=\labelwidth + \topsep=0pt + \labelsep=0pt}% + \item\the\@toksbeforeendto + \end{list}% + \@toksnotequal\@toksafterendto\@toksempty + \if@toksnotequal + \@tokstemp=\@toksafterendto + \longrepeat + \fi}% +% +% \DEF \@PRINTSUBJECT +% Print the SUBJECT list if \@subject is not empty. +% +\def\@printsubject{% + \par + \ifx\@subject\@empty\else + \begin{list}{\copy\strutbox SUBJECT:\hfill}{% + \settowidth\labelwidth{SUBJECT\@: }% + \leftmargin=\labelwidth + \topsep=0pt + \labelsep=0pt}% + \item\@subject + \end{list}% + \fi +}% +% \DEF \@PRINTREFERENCE +% This prints the reference. +% +\def\@printreference{% + \par + \ifnum\@countreference=0 % + \else + \ifnum\@countreference=1 % + REFERENCE:\relax + \else + REFERENCES:\relax + \fi + \par\vspace{-\baselineskip}% Begin list on same line as REFERENCE: +% +% No number for one item lists +% + \begin{list}{\ifnum\@countreference=1\else\arabic{@countlist}.\fi}{% + \topsep=0pt\itemsep=0pt\parsep=0pt + \ifnum\@countreference=1 % + \settowidth\leftmargin{REFERENCE\@: }% + \else + \settowidth\leftmargin{REFERENCES\@: }% + \fi + \@setnumdefaults\@countreference + }% + \@printnumberedlist{\@toksreference}% + \end{list}% + \fi +}% + +% ************************ +% **** PRINT CLOSING. **** +% ************************ + +% \DEF \@PRINTCOMPCLOSE +% Print complimentary close. +% +\def\@printcompclose{% + \par + % Make distance to comp close \parskip + \@bodysep + \vspace{\@bodysep}% + \@complimentaryclose +}% +% \DEF \@PRINTSIGNATURE +% Leave space for the signature and print the signature line. +% +\def\@printsignature{% + \par + \@ifemptyorundefined{@signature}{}{{% + \samepage + \vspace*{2\baselineskip}% + \@signature +}}}% +% \DEF \@PRINTORIGINATORLINE +% Print the signer, originator, and typist. +% +\def\@printoriginatorline{% + \@ifemptyorundefined{@signature}{\nopagebreak}{}% + \par + \ifx\@signer\@empty + \else + \@signer + \ifx\@originator\@empty + \ifx\@typist\@empty \else :\relax \fi + \else + -\relax + \fi + \fi + \ifx\@originator\@empty + \else + \@originator + \ifx\@typist\@empty \else :\relax \fi + \fi + \ifx\@typist\@empty + \else + \@typist + \fi +}% +% \DEF \@PRINTENCLOSURES +% Now print the enclosures +% +\def\@printenc{% + \@ifundefined{@encas}{}{% + \ifnum\@countenc=0 % + \par Enc.\ a/s% + \else \@erroras\enc\encas{Enc. a/s}% + \fi}% + \ifnum\@countenc=0 % + \else + \par + \@ifundefined{@encpagebreak}{}{\pagebreak}% + \ifnum\@countenc=1 % + Enclosure:\relax + \else + Enc.\relax + \fi + \nopagebreak + \par\vspace{-\baselineskip}% +% +% No number for one item lists +% + \@countletterlist=\@countenc + \begin{list}{\ifnum\@countenc=1\else\arabic{@countlist}.\fi}{% + \ifnum\@countenc=1 % + \settowidth\leftmargin{Enclosure: }% + \else + \settowidth\leftmargin{Enc.\ }% + \fi + \@setnumdefaults\@countenc + \topsep=0pt\itemsep=0pt\parsep=0pt + }% + \@printnumberedlist{\@toksenc}% + \end{list}% + \fi +}% +% \DEF \@PRINTATTACHMENTS +% Now print the attachments +% +\def\@printattachments{% + \@ifundefined{@attachmentas}% + % No \attachmentas + {\@ifundefined{@attachmentsas}{}% + % \@attachmentsas and not \@attachmentas + {\ifnum\@countattachments=0 % + \par Attachments a/s% + \else \@erroras\attachments\attachmentsas{Attachments a/s}\fi}}% + % Yes, \attachmentas + {\@ifundefined{@attachmentsas}% + % \@attachmentas and not \@attachmentsas + {\ifnum\@countattachments=0 % + \par Attachment a/s% + \else\@erroras\attachments\attachmentas{Attachment a/s}\fi}% + % \@attachmentas and \@attachmentsas + {\par Attachments a/s% + \@erroras\attachmentas\attachmentsas{Attachment a/s}}}% + \ifnum\@countattachments=0 % + \else + \par + \@ifundefined{@attachmentspagebreak}{}{\pagebreak}% + \ifnum\@countattachments=1 % + Attachment:\relax + \else + Attachments:\relax + \fi +% +% No number for one item lists +% + \@countletterlist=\@countattachments + \begin{list}{\ifnum\@countattachments=1\else\arabic{@countlist}.\fi}{% + \leftmargin=0pt + \@setnumdefaults\@countattachments + }% + \@printnumberedlist{\@toksattachments}% + \end{list}% + \fi +}% +% \DEF \@PRINTDISTRIBUTION +% Now the distribution list +% +\def\@printdistribution{% + \ifnum\@countdistribution=0 % + \else + \par + \@ifundefined{@distributionpagebreak}{}{\pagebreak}% + {\offinterlineskip Distribution:\copy\strutbox}% + \@countletterlist=\@countdistribution + \begin{list}{}{% + \topsep=0pt\itemsep=0pt\parsep=0pt + \parskip=0pt\labelsep=0pt\labelwidth=0pt\leftmargin=0pt + }% + \item\the\@toksdistribution + \end{list}% + \fi +}% +% \DEF \@PRINTCY +% Print the Cy list if \@countcy > 0 +% +\def\@printcy{% + \ifnum\@countcy=0 % + \else + \pagebreak[0]% + \par + \@ifundefined{@cypagebreak}{}{\pagebreak}% + \begin{list}{Cy:\hfill}{% + \settowidth\labelwidth{Cy: }% + \leftmargin=\labelwidth + \topsep=0pt\itemsep=0pt\parsep=0pt + \labelsep=0pt + }% + \item\the\@tokscy + \end{list}% + \fi +}% + +% ************************************ +% **** NUMBERED LISTS FOR CLOSING **** +% ************************************ + +% \DEF \@SETNUMDEFAULTS +% Set defaults for numbered lists. #1 is the number of +% items in the list. +% +\def\@setnumdefaults#1{% + \ifnum #1=1 % + \labelwidth=0pt% No number for one item list + \labelsep=0pt + \else + \usecounter{@countlist}% + \ifnum #1<10 % + \settowidth\labelwidth{8.}% Between 2 and 9 items. + \else + \settowidth\labelwidth{88.}% 10 or more. + \fi\fi + \addtolength\leftmargin\labelwidth + \addtolength\leftmargin\labelsep + \topsep=0pt\itemsep=0pt\parsep=0pt + \setlength\parskip{0pt}% +}% +% \DEF \@PRINTNUMBEREDLIST +% This prints a numbered list as is used to print reference, +% attachments, and enclosures. +% +\def\@printnumberedlist#1{% + \@toksremaining=#1% + \loop + \@tonewlinepull{\@toksremaining}% + \@toksnotequal\@toksbeforenewline\@toksempty + \if@toksnotequal + \@toksitem=\@toksbeforenewline + \@toksremaining=\@toksafternewline + \ifx #1\@toksreference% Make reference list uppercase + \item\uppercase\expandafter{\the\@toksitem}% + \else + \item\the\@toksitem + \fi + \repeat +}% + +% ***************** +% **** PARSING **** +% ***************** + +% \DEF \@TONEWLINEPULL \DEF \@TONEWLINEPULLSUBONE, etc. +% Put the tokens in #1 before the first \\ into \@toksbeforenewline. +% Put the tokens in #1 after the firrst \\ into \@toksafternewline. +% \@newlinetrue if there was a \\ in the token #1. +% +\def\@tonewlinepull#1{\let\@nlsave=\\\let\\=\relax + \expandafter\@tonewlinepullone\the#1\\\@empty + \if@newline\expandafter\@tonewlinepullthree\the#1\@empty + \else\fi\let\\=\@nlsave}% +\def\@tonewlinepullone#1\\{\@toksbeforenewline={#1}% + \futurelet\next\@tonewlinepulltwo}% +\def\@tonewlinepulltwo#1\@empty{\@toksafternewline={#1}% + \ifx\@empty\next\@newlinefalse + \else\@newlinetrue\fi}% +\def\@tonewlinepullthree#1\\{\@toksbeforenewline={#1}% + \futurelet\next\@tonewlinepullfour}% +\def\@tonewlinepullfour#1\@empty{\@toksafternewline={#1}% + \ifx\@empty\next\@newlinefalse + \else\@newlinetrue\fi}% + +% \DEF \@TOCOMMAPULL \DEF \@TOCOMMAPULLSUB, etc. +% Put the tokens in #1 before the first "," into \@toksbeforecomma. +% \@commatrue if there was a "," in the token #1. +% +\def\@tocommapull#1{\expandafter\@tocommapullone\the#1,\@empty}% +\def\@tocommapullone#1,{\@toksbeforecomma={#1}% + \futurelet\next\@tocommapulltwo}% +\def\@tocommapulltwo#1\@empty{\ifx\@empty\next \@commafalse + \else \@commatrue \fi}% + +% \DEF \@TOENDTOPULL \DEF \@TOENDTOPULLSUBONE, etc. +% Put the tokens in #1 before the first \@endto into \@toksbeforeendto. +% Put the tokens in #1 after the first \@endto into \@toksafterendto. +% We are counting on finding a \@endto in \the#1. +% +\def\@toendtopull#1{\expandafter\@toendtopullone\the#1\@empty}% +\def\@toendtopullone#1\@endto#2\@empty{\@toksbeforeendto={#1}% + \@toksafterendto={#2}}% + +% \DEF \@UNSPACELEFT +% Gets rid of a space at the beginning of a macro definition. +% \def\word{ xx } +% \@unspaceleft\word +% results in \def\word{xx } +% +\def\@unspaceleft#1{% + \def\@macroname{#1}% + \ifx #1\@empty + \else + \ifx #1\@blank + \global\expandafter\def\@macroname{}% + \else + % If #1 is not blank or empty, call \@unspaceleftone + \expandafter\@unspaceleftone#1\relax\relax\@empty + \fi\fi +}% + % The use of #1 as a parameter in @unspaceleftone ignores a leading blank. +\def\@unspaceleftone#1#2\relax{% + \global\expandafter\def\@macroname{#1#2}% + \@unspacelefttwo}% +\def\@unspacelefttwo#1\@empty{}% + +% \DEF \@UPPERUNSPACELEFT +% Gets rid of a space at the beginning of a macro definition and returns +% uppercase. +% \def\word{ xx } +% \@upperunspaceleft\word +% results in \def\word{\uppercase{xx }} +% +\def\@upperunspaceleft#1{% + \def\@macroname{#1}% + \ifx #1\@empty + \else + \ifx #1\@blank + \global\expandafter\def\@macroname{}% + \else + % If #1 is not blank or empty, call \@upperunspaceleftone + \expandafter\@upperunspaceleftone#1\relax\relax\@empty + \fi\fi +}% + % #1 as a parameter in @upperunspaceleftone ignores a leading blank. +\def\@upperunspaceleftone#1#2\relax{% + \global\expandafter\def\@macroname{\uppercase{#1#2}}% + \@unspacelefttwo}% +%\def\@unspacelefttwo#1\@empty{}% + +% \DEF \@UNSPACERIGHT +% Gets rid of a space at the end of a macro definition. +% \def\word{ xx } +% \@unspaceright\word +% results in \def\word{ xx} +% +\def\@unspaceright#1{% + \def\@macroname{#1}% + % Save the original definition of #1. + \edef\@temp{#1}% + % \@unspacerightone will find the first \relax if #1 ends in a blank. + % Otherwise it will find the second \relax and set \next to \@empty. + \expandafter\@unspacerightone#1\relax{} \relax\@empty +}% +\def\@unspacerightone#1 \relax{% + \global\expandafter\edef\@macroname{#1}% + \futurelet\next\@unspacerighttwo}% +\def\@unspacerighttwo#1\@empty{% + \ifx\@empty\next + \global\expandafter\edef\@macroname{\@temp}% + \fi +}% + +% **************************************************************** +% **** UTILITIES FOR MASSAGING TOKEN AND DIMENSION VARIABLES. **** +% **************************************************************** +% \DEF \@ADDTOTOKS +% addtotoks takes the current token variable #1 and appends the +% tokens in #2. #1 must be a token variable defined by \newtoks +% For example, if \toks={abc} +% \@addtotoks{\toks}{DEF\xx} will result in \toks={abcDEF\xx} +% +\def\@addtotoks#1#2{#1=\expandafter{\the#1#2}}% +% +% \DEF \@ADDTOKSTOTOKS +% addtokstotoks takes the current token variable #1 and appends the +% token variable #2 to it, putting the result into token variable #1. +% For example, if \toksone={abc} and \tokstwo={xyz}, +% \@addtokstotoks\toksone\tokstwo will result in \toksone={abcxyz} +\def\@addtokstotoks#1#2{\edef\@deftemp{\the#1\the#2}% + \global#1=\expandafter{\@deftemp}}% +% +% \DEF \@IFEMPTYORUNDEFINED +% Like LaTeX's \@ifundefined, except that #2 will also be +% executed if \#1 is empty or blank. +% +\long\def\@ifemptyorundefined#1#2#3{% + \expandafter\ifx\csname#1\endcsname\relax#2 + \else\expandafter\ifx\csname#1\endcsname\@empty#2 + \else\expandafter\ifx\csname#1\endcsname\@blank#2 + \else#3\fi\fi\fi} +% +% \DEF \@IFNOINFO +% \@ifnoinfo{#1}{\actionone}{\actiontwo} +% performs \actionone if #1 is empty or blank, +% otherwise performs \actiontwo +\def\@ifnoinfo#1#2#3{\def\@deftemp{#1}% + \ifx\@deftemp\@empty#2\else\ifx\@deftemp\@blank#2\else#3\fi\fi} +% +% \DEF \@TOKSNOTEQUAL \DEF \@TOKSEQUAL +% \@toksnotequal compares two token variables and returns \@toksnotequaltrue +% if they are the different. Eg, \toks1={a\b c}\toks2={a\b} +% \@toksnotequal{\toks1}{\toks2} returns \@toksnotequaltrue +% \@toksequal works in a similar manner. +% +\def\@toksnotequal#1#2{\begingroup\edef\one{\the#1}\edef\two{\the#2}% + \ifx\one\two\global\@toksnotequalfalse\else\global\@toksnotequaltrue\fi + \endgroup}% +% \def\@toksequal#1#2{\begingroup\edef\one{\the#1}\edef\two{\the#2}% +% \ifx\one\two\global\@toksequaltrue\else\global\@toksequalfalse\fi\endgroup}% +% +% \DEF \@ADVCOUNTBYDIMEN +% A count variable is advanced by a dimension variable expressed in points. +% For example, if \countx=10 and \dimenx=2pt, then +% \@advcountbydimen\countx\dimenx +% leaves \countx=12 and \dimenx=2pt +% +\def\@advcountbydimen#1#2{\@counttemp=#2% + \divide\@counttemp by 65536 \advance#1by \@counttemp}% +% \divide\@counttemp by 65536 \global\advance#1by \@counttemp}% +% +% \DEF \@GLOBALADVCOUNTBYDIMEN +% A count variable is globally advanced by a dimension variable +% expressed in points. +% +\def\@globaladvcountbydimen#1#2{\@counttemp=#2% + \divide\@counttemp by 65536 \global\advance#1by \@counttemp}% +% +% \DEF \@NOTVOIDTOKS +% \@notvoidtokstrue if there is at least one token in the variable #1. +% +\def\@notvoidtoks#1{\@addtotoks{#1}{\@empty}% + \expandafter\@notvoidtoksone\the#1}% +\def\@notvoidtoksone{\futurelet\next\@notvoidtokstwo}% +\def\@notvoidtokstwo#1\@empty{\ifx\@empty\next \@notvoidtoksfalse + \else \@notvoidtokstrue \fi}% + +% **************** +% **** LABELS **** +% **************** + +% The \makemaillabels declaration causes mailing labels to be made. It must +% go before the \begin{document} command. +% +% Commands for generating the labels are put on the .MLB file, which is +% read in and processed by the \end{document} command. +% +% Much of the following code is taken from Lamport's letter macros. + +% The following default values set things up for producing +% labels in two columns of seven 1-1/2" X 4" labels each, +% suitable for reproducing onto Avery brand number 5362 address +% labels. + +% For 1" labels, use +%\maillabelheight{1in} +%\maillabeltopmargin{.5in} + +% For 1 1/2" labels, use +%\maillabelheight{1.5in} +%\maillabeltopmargin{.25in} + +% For 2" labels,use +%\maillabelheight{2in} +%\maillabeltopmargin{.5in} + +\maillabelheight{} +\maillabeltopmargin{} + +% \DEF \@STARTLABELS +% +% Resets page layout variables for printing labels. +% +\def\@startlabels{% + \baselineskip=0pt + \lineskip=0pt + \pagestyle{empty} + \let\@texttop=\relax + \topmargin=-72pt + \advance\topmargin by\@dimenmaillabeltopmargin + \headsep 0pt + \oddsidemargin -35pt + \evensidemargin -35pt + \textheight 11in + \advance\textheight by-\@dimenmaillabeltopmargin + \@colht\textheight \@colroom\textheight \vsize\textheight + \textwidth 550pt + \columnsep 25pt + \xpt + \raggedbottom + \boxmaxdepth=0pt + \parindent=0pt %% corrected 3/5/86 + \twocolumn\relax + % Write \@countskiplabels blank labels + \loop + \ifnum\@countskiplabels>0 + \@mlabel{}% + \advance\@countskiplabels by -1 + \repeat +} +% \DEF \@MLABEL +% Prints one label. +% +\def\@mlabel#1{% + \setbox0\vbox{\parbox[b]{3.6in}% + {\strut\@printingtotrue\ignorespaces #1}}% + \vbox to \the\@dimenmaillabelheight{\vss \box0 \vss}}% + +% \DEF \@WRITEONELABEL +% +% One label is written to the .MLB file. +% +\def\@writeonelabel#1{% + \if@makemaillabels + \begingroup + \def\protect{\string} + \let\\=\relax + \def\protect##1{\string##1\space} + \immediate\write\@mlbout{\string\@mlabel{#1}}% + \ifnum\@countreturnaddress=0\else + \immediate\write\@mlbout{\string\@mlabel{\the\@toksreturnaddress}}% + \fi + \endgroup + \fi} + +% ************************ +% **** ERROR MESSAGES **** +% ************************ + +\def\@eightspaces{\space\space\space\space\space\space\space\space}% +\def\@errorundeclared#1{\typeout{^^JWarning: you have not called \protect #1 + before calling \protect\opening.^^J}}% +\def\@errorundeclaredcallout#1{\typeout{^^JWarning: you have not specified + the callout \protect #1^^J + \@eightspaces before calling \protect\opening.^^J}}% +\def\@errorundeclaredto{\typeout{^^JWarning: you have not specified + an address + before calling \protect\opening.^^J^^J + \@eightspaces Use \protect\to\space to specify an address, + for example^^J^^J + \@eightspaces \protect\to{Vieno Severi Alanne \protect\\^^J + \@eightspaces 414 Rio Seco \protect\\^^J + \@eightspaces Santa Fe, NM 87501}^^J}}% +\def\@errorshowexample#1#2{\typeout{\@eightspaces\space For example, use^^J^^J + \@eightspaces\protect #1{#2}^^J}}% +\def\@errorundeclaredsalutation{\typeout{^^JWarning: you have not called + \protect\salutation\space before calling \protect\opening.^^J}% + \@errorshowexample{\salutation}{Dear Henry,}}% +\def\@errorundeclaredcompclose{\typeout{^^JWarning: you have not called + \protect\complimentaryclose\space before calling \protect\opening.^^J + \@eightspaces\protect\complimentaryclose{Sincerely Yours,} + will be used by default.^^J}}% +\def\@errorserialnosymbol{\typeout{^^JWarning: you have called + \protect\serialnumber, but you have not called \protect\symbol.^^J}% + \@errorshowexample{\symbol}{C-2}}% +\def\@errortoleftrightto{\typeout{% + ^^JWarning: you have called \protect\leftto\space + and/or \protect\rightto\space as well as \protect\to.^^J + \@eightspaces All addresses called by \protect\to\space will be printed in + the left column.^^J}}% +\def\@erroruseas#1#2{\typeout{^^JWarning: you specified + \protect\use#1asheader,^^J + \@eightspaces yet you have not specified \protect#2.^^J^^J + \@eightspaces The first line of the addressee will be used ^^J + \@eightspaces on headers after page one.^^J}}% +\def\@errorattn{\typeout{^^JWarning: \protect\attn\space must be used only + within the argument of \protect\to, for example,^^J^^J + \@eightspaces \protect\to{Genie Electronics \protect\\ ^^J + \@eightspaces \protect\attn{Mr. Robert Mercer, Sales Manager} \protect\\ ^^J + \@eightspaces P.O. Box 8501 \protect\\ ^^J + \@eightspaces Midwest City, OK 73110}^^J}}% +\def\@errorthruandvia{\typeout{^^JWarning: you have used both + \protect\thru\space and \protect\via\space in this letter.^^J + \@eightspaces Use one or the other, but not both.}}% +\def\@errorclassargument{% + \typeout{^^JFatal error: \protect\classlabel{\@classlabel} + calls for an invalid classification label.^^J}% + \@errorclassmessage}% +\def\@errortwoclasses{% + \typeout{^^JFatal error: you have called \protect\classlabel \space + more than once, or you have^^J + \@eightspaces\space\space\space\space called + \protect\classlabel \space after having called + \protect\begin{document}.^^J^^J + \space You are allowed to declare only one classification label + per letter.^^J + \space You must call \protect\classlabel\space before using + \protect\begin{document}.^^J}% + \@errorclassmessage}% +\def\@errorclassmessage{% + \typeout{% + \space\space To print CONFIDENTIAL on the top and bottom + of your letter,^^J + \space use \protect\classlabel{c}^^J^^J + \space To print SECRET on the top and bottom + of your letter,^^J + \space use \protect\classlabel{s}^^J^^J + \space To print UNCLASSIFIED on the top and bottom + of your letter,^^J + \space use \protect\classlabel{u}^^J^^J + \space If you do not want a classification label on your letter,^^J + \space use \protect\classlabel{}^^J + \space or do not use the \protect\classlabel\space command.^^J^^J + \space Change your file, and rerun LaTeX.^^J}}% +\def\@errorillegaltypeface{% + \typeout{^^JFatal error: \protect\typeface{\@typeface} calls for an invalid + typeface.^^J^^J + \space Use \protect\typeface{tt} or \protect\typeface{rm}^^J^^J + \space Change your file, and rerun LaTeX.^^J}}% +\def\@errorillegalheaderfont{\def\@fontcommand{\protect\headerfonts}% + \def\@fontarg{\@headerfonts}% + \typeout{^^JFatal error: \@fontcommand{\@fontarg} calls for + an invalid font.^^J^^J + \space Use \@fontcommand{lafonts}, \@fontcommand{texfonts},^^J + \space or \@fontcommand{postscript}\space + depending on what fonts^^J \space are available on your machine.^^J^^J + \space Using \@fontcommand{} will give you the default fonts.^^J^^J + \space Use \@fontcommand{letterpaper} if you wish to print your letter^^J + \space on pre-printed letter paper.^^J^^J + \space Change your file, and rerun LaTeX.^^J}}% +\def\@errorillegalbodyfont{\def\@fontcommand{\protect\bodyfonts}% + \def\@fontarg{\@bodyfonts}% + \typeout{^^JFatal error: \@fontcommand{\@fontarg} calls + for an invalid font.^^J^^J + \space Use \@fontcommand{texfonts} or \@fontcommand{postscript}^^J + \space depending on what fonts are available on your machine.^^J^^J + \space Using \@fontcommand{} will give you the default fonts.^^J^^J + \space Change your file, and rerun LaTeX.^^J}}% +\def\@erroramfonts{% + \typeout{^^JWarning: You are using the obsolete Almost Modern (AM) + fonts.^^J^^J + \@eightspaces Only cursory debugging has been attempted using AM fonts.^^J + \@eightspaces The Computer Modern (CM) fonts are fully supported + by laletter.^^J}}% +\def\@erroroldlafonts{% + \typeout{^^JFatal error: Your system is using an obsolete version + of lafonts.^^J^^J + \@eightspaces Get the manual called "TeX Fonts for Los Alamos + Memos and Letters^^J + \@eightspaces Installation Reference," CIC \protect##1128, + from the Computer^^J + \@eightspaces Information Center, 667-6992.^^J}}% +\def\@errorshortletter{% + \typeout{^^JWarning: Use of the \protect\shortletterstyle\space macro + is intended^^J + \@eightspaces for use with letters of ten lines or less.^^J^^J}}% +\def\@erroras#1#2#3{% + \typeout{^^JWarning: You have used both \protect#1\space and + \protect#2.^^J + \@eightspaces Use one or the other but not both.^^J + \@eightspaces "#3" will not be printed on this letter.^^J^^J}}% + +% *********************** +% **** DEATH UTILITY **** +% *********************** + +% \DEF \@TODIEORNOTTODIE +% The \@todieornottodie macro is initialized here. +% If a fatal error occurs, it will be equipped with a suitable +% error message and an \@exit call. \@todieornottodie will then be called +% once the \fi and \endgroups have all been passed. This prevents the +% printing of confusing error messages. +% +\def\@todieornottodie{\relax}% + +% \DEF \@EXIT +% @exit terminates the job prematurely. +\def\@exit{\@fileswfalse\@makemaillabelsfalse\end{document}}% +% \DEF \@EXITFI +% @exitfi finishes an \if and terminates the job prematurely. +\def\@exitfi{\@fileswfalse\@makemaillabelsfalse\fi\end{document}}% + +% *********************************************************************** +% **** ARBORTEXT'S SPECIALBOP (BEGINNING OF PAGE) FOR USE WITH DVIPS **** +% *********************************************************************** + +\def\@specialbopempty{}% +\let\@specialboptext=\@specialbopempty +% +% \DEF \SPECIALBOP +% Stands for \SPECIAL-Beginning-Of-Page, supplied by Arbortext. +% +\def\specialbop#1{% + \xdef\@specialboptext{% + \@specialboptext + \special{#1}% +}}% +\def\@specialbopemit{% (used by the \output routine) + \ifx\@specialboptext\@specialbopempty + \else + \@specialboptext + \global\let\@specialboptext=\@specialbopempty + \fi +}% + +% *************************************************************************** +% **** REDEFINE LATEX.TEX'S \@ITEM FOR NICE PAGEBREAKS IN \CLOSING LISTS **** +% *************************************************************************** + +% \DEF \@ITEM +% +% This is mostly copied from latex.tex. +% The penalties have been altered so that lists in the \closing of +% a letter will not leave clubs and widows. +% The first 3 lines and the last 2 lines are kept on the same page. +% +\def\@item[#1]{% + \if@noparitem \@donoparitem + \else \if@inlabel \indent \par \fi + \ifhmode \unskip\unskip \par \fi + \if@newlist \if@nobreak \@nbitem \else + {% LETTER CHANGES begin here + \if@closing + \@beginparpenalty=10000 + \fi + \addpenalty\@beginparpenalty + }% LETTER CHANGES end here + \addvspace\@topsep \addvspace{-\parskip}\fi + \else + {% LETTER CHANGES begin here + \if@closing + \ifnum\c@@countlist=1 % + \@itempenalty=10000 + \fi + \advance \@countletterlist by -1 + \ifnum\c@@countlist=\@countletterlist + \@itempenalty=10000 + \fi + \fi + \addpenalty\@itempenalty + }% LETTER CHANGES end here + \addvspace\itemsep + \fi + \global\@inlabeltrue + \fi + \everypar{\global\@minipagefalse\global\@newlistfalse + \if@inlabel\global\@inlabelfalse + \if@everyindent\else% LETTER CHANGES + \hskip -\parindent + \fi% LETTER CHANGES + \box\@labels + \penalty\z@ \fi + \everypar{}}\global\@nobreakfalse + \if@noitemarg\@noitemargfalse \if@nmbrlist\refstepcounter{\@listctr}\fi\fi + \setbox\@tempboxa\hbox{\makelabel{#1}}% + \global\setbox\@labels + \hbox{\unhbox\@labels \hskip \itemindent + \hskip -\labelwidth \hskip -\labelsep + \ifdim \wd\@tempboxa >\labelwidth + \box\@tempboxa + \else \hbox to\labelwidth {\makelabel{#1}}\fi + \hskip \labelsep}\ignorespaces +}% + +% ************************************************************************** +% **** REDEFINE LATEX.TEX'S @OUTPUTPAGE TO ALLOW ARBORTEXT'S SPECIALBOP **** +% ************************************************************************** + +% \DEF \@OUTPUTPAGE +% This redefinition of LaTeX's @outputpage is necessary to allow +% \special commands to be executed before anything else on the page. +% For example, the PostScript macros need to be defined before +% any of the page making begins. +% +% These alterations were supplied by ArborText. +% +% Changes were also made to change the values of topskip, headsep, +% and textheight after outputting page 1. +% +\def\@outputpage{\begingroup\catcode`\ =10 +% The following line was added to bring this def up to date with +% latex.tex, <4 Aug 1988> + \let\-\@dischyph \let\'\@acci \let\`\@accii \let\=\@acciii + \if@specialpage + \global\@specialpagefalse\@nameuse{ps@\@specialstyle}\fi + \if@twoside + \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot + \let\@themargin\oddsidemargin + \else \let\@thehead\@evenhead + \let\@thefoot\@evenfoot \let\@themargin\evensidemargin + \fi\fi + \shipout + \vbox{\normalsize \baselineskip\z@ \lineskip\z@ +% The following line was added to bring this def up to date with +% latex.tex, <4 Aug 1988> + \let\par\@@par %% 15 Sep 87 + \@specialbopemit% LETTER CHANGES + \vskip \topmargin \moveright\@themargin + \vbox{\setbox\@tempboxa + \vbox to\headheight{\vfil \hbox to\textwidth{\@thehead}}% + \dp\@tempboxa\z@ + \box\@tempboxa + \vskip \headsep + \box\@outputbox + \baselineskip\footskip + \hbox to\textwidth{\@thefoot}}}\global\@colht\textheight + \endgroup + \if@outputfirstpage% LETTER CHANGES + % Reset \topskip for page two. + % The topskip keeps the baseline of the first line of text in + % the right place. If the top vbox on the page is taller than + % \ht\strutbox, it will go no higher than the top of the strutbox. + % + \global\topskip=\ht\strutbox% LETTER CHANGES + \global\headsep=\@dimentoppagetwo% LETTER CHANGES + \global\advance\headsep by -\topskip% LETTER CHANGES + \global\advance\textheight by -\headsep% LETTER CHANGES + % + \global\@outputfirstpagefalse% LETTER CHANGES + \fi% LETTER CHANGES + \stepcounter{page}% + \if@outputlastpage% LETTER CHANGES + \ifnum\outputpenalty=-\@M + \global\c@page=1 + \global\topskip=\@topskipfirst + \global\headsep=\@headsepfirst + \global\textheight=\@textheightfirst + \fi\fi + \let\firstmark\botmark +}% + +% ********************************************************* +% **** REDEFINE LATEX.TEX'S \DOCUMENT AND \ENDDOCUMENT **** +% ********************************************************* + +% \DEF \DOCUMENT +% +% \document redefined so it writes '\@startlabels' on the +% MLB file if it's making one. The AUX file is also opened. +% +\def\document{\endgroup + \@colht\textheight \@colroom\textheight \vsize\textheight + \columnwidth\textwidth \@clubpenalty\clubpenalty + \if@twocolumn \advance\columnwidth -\columnsep + \divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue + \fi + \hsize\columnwidth \linewidth\hsize + \begingroup\@floatplacement\@dblfloatplacement + \makeatletter\let\@writefile\@gobbletwo + \@input{\jobname.aux}\endgroup + \if@filesw \immediate\openout\@mainaux=\jobname.aux + \immediate\write\@mainaux{\relax}\fi + \if@makemaillabels \immediate\openout\@mainmlb=\jobname.mlb + \immediate\write\@mainmlb{\string\@startlabels}\fi + \def\do##1{\let ##1\@notprerr} + \@preamblecmds + \let\do\noexpand + \@normalsize\everypar{}} +% +% \DEF \ENDDOCUMENT +% +% Redefine \enddocument so it outputs the labels, if necessary. +% +\def\enddocument{% + % Call \@printto if \opening has never been called. + % This can happen if mailing labels only are printed + % with no letter desired. + % Output is put into \@boxtemp and discarded. + \if@neveropened + \@splitto + \setbox\@boxtemp=\hbox{\@printingtotrue\@printto\@printingtofalse}% + \fi + \@checkend{document}\newpage\begingroup + \if@makemaillabels \immediate\closeout\@mainmlb + \makeatletter\input \jobname.mlb\clearpage\fi + \if@filesw \immediate\closeout\@mainaux + \def\global\@namedef##1##2{}\def\newlabel{\@testdef r}% + \def\bibcite{\@testdef b}\@tempswafalse \makeatletter\input \jobname.aux + \if@tempswa \@warning{Label(s) may have changed. Rerun to get + cross-references right}\fi\fi\endgroup\deadcycles\z@\@@end} +% *************************** +% *** END OF LALETTER.DOC *** +% *************************** + +% These are the commands starting with '\' that appear in laletter.sty +% that are not defined in LaTeX or TeX. +% +% \@PSclasslabel +% \@PSlosalamos +% \@addtokstotoks +% \@addtotoks +% \@advcountbydimen +% \@amorcm +% \@attachmentas +% \@attachmentsas +% \@attachmentspagebreak +% \@baselineskipsave +% \@beginletter +% \@blank +% \@bodyfonts +% \@bodysep +% \@bookseven +% \@booksix +% \@boxclasspage +% \@boxpagetwoheader +% \@boxtemp +% \@bullet +% \@checkinput +% \@checkuseasinput +% \@choosebodyfonts +% \@choosefonts +% \@chooseheaderfonts +% \@classfont +% \@classlabel +% \@clearclosing +% \@cmcour +% \@cmcourb +% \@cmcouro +% \@cmhelv +% \@cmhelvb +% \@cmr +% \@cmtimeb +% \@cmtimei +% \@cmtimer +% \@complimentaryclose +% \@confidential +% \@countattachments +% \@countattn +% \@countattnsave +% \@countbotheader +% \@countclasssepbot +% \@countclassseptop +% \@countcoltemp +% \@countcy +% \@countdistribution +% \@countenc +% \@countleftheader +% \@countleftto +% \@countletterlist +% \@countname +% \@countpictorig +% \@countreference +% \@countreturnaddress +% \@countrightcolon +% \@countrightheader +% \@countrightto +% \@countskiplabels +% \@counttelephone +% \@counttemp +% \@counttemptwo +% \@countthru +% \@countto +% \@counttoname +% \@countverticalposition +% \@countvia +% \@cypagebreak +% \@deftemp +% \@dimenexpandside +% \@dimenexpandtopmargin +% \@dimenfirstpageleftheader +% \@dimenhspacesig +% \@dimenletterpaperhcorr +% \@dimenletterpapervcorr +% \@dimenmaillabelheight +% \@dimenmaillabeltopmargin +% \@dimenpagetwoheader +% \@dimenspaceaftercolon +% \@dimentemp +% \@dimentocolsep +% \@dimentoppagetwo +% \@dimenversemargin +% \@dimenwdtt +% \@distributionpagebreak +% \@eightspaces +% \@encas +% \@encpagebreak +% \@endletter +% \@endto +% \@erroramfonts +% \@erroras +% \@errorattn +% \@errorclassargument +% \@errorclassmessage +% \@errorillegalbodyfont +% \@errorillegalheaderfont +% \@errorillegaltypeface +% \@erroroldlafonts +% \@errorserialnosymbol +% \@errorshortletter +% \@errorshowexample +% \@errorthruandvia +% \@errortoleftrightto +% \@errortwoclasses +% \@errorundeclared +% \@errorundeclaredcallout +% \@errorundeclaredcompclose +% \@errorundeclaredsalutation +% \@errorundeclaredto +% \@erroruseas +% \@exit +% \@exitfi +% \@fontarg +% \@fontcommand +% \@getpostscriptnames +% \@globaladvcountbydimen +% \@headerfonts +% \@headsepfirst +% \@ifemptyorundefined +% \@ifnewname +% \@ifnoinfo +% \@initializefontvariables +% \@initializelists +% \@initializeothervariables +% \@initializetypefacedependencies +% \@kern +% \@kernheaderwords +% \@lafonts +% \@lanl +% \@lanm +% \@latwentyeight +% \@lengthdate +% \@lengthlabel +% \@lengthname +% \@lengthrule +% \@letterpaper +% \@lettertwentyeight +% \@losalamos +% \@macroname +% \@mailstop +% \@mainmlb +% \@makePSclassheader +% \@makeclassheader +% \@makepagetwoheader +% \@maketocol +% \@memotwentyeight +% \@mlabel +% \@mlbout +% \@multipleletters +% \@newnamefalse +% \@newnametrue +% \@nlsave +% \@nocallouts +% \@noclearpage +% \@notvoidtoks +% \@notvoidtoksone +% \@notvoidtokstwo +% \@originator +% \@parskipsave +% \@postscript +% \@printattachments +% \@printclasspage +% \@printcompclose +% \@printcy +% \@printdistribution +% \@printenc +% \@printfirstpageheader +% \@printfirstpagerightheader +% \@printletterpaper +% \@printnumberedlist +% \@printoriginatorline +% \@printpagenum +% \@printpagetwoheader +% \@printreference +% \@printsalutation +% \@printsignature +% \@printsubject +% \@printthruorvia +% \@printto +% \@psdefclasslabel +% \@psdeflosalamos +% \@pullloop +% \@pullpagetwotoheader +% \@resettovars +% \@restorevariables +% \@rm +% \@salutation +% \@secret +% \@serialnumber +% \@setnormalsize +% \@setnumdefaults +% \@settrue +% \@shortletterstyle +% \@signature +% \@signer +% \@specialbopemit +% \@specialbopempty +% \@specialboptext +% \@spectwelve +% \@splitto +% \@startlabels +% \@subject +% \@subjectorig +% \@symbol +% \@symbolserialnumber +% \@tenrm +% \@texfonts +% \@textheightfirst +% \@tocommapull +% \@tocommapullone +% \@tocommapulltwo +% \@todieornottodie +% \@toendtopull +% \@toendtopullone +% \@toksafterendto +% \@toksafternewline +% \@toksaftersave +% \@toksattachments +% \@toksattn +% \@toksattnsave +% \@toksbeforecomma +% \@toksbeforeendto +% \@toksbeforenewline +% \@toksblank +% \@tokscoltemp +% \@tokscy +% \@toksdistribution +% \@toksempty +% \@toksenc +% \@toksinput +% \@toksitem +% \@toksleftto +% \@toksname +% \@toksnewline +% \@toksnotequal +% \@tokspagetwoheader +% \@toksreference +% \@toksremaining +% \@toksreturnaddress +% \@toksrightto +% \@tokstelephone +% \@tokstemp +% \@toksthru +% \@toksto +% \@tokstoinput +% \@tokstoname +% \@toksvia +% \@tonewlinepull +% \@tonewlinepullfour +% \@tonewlinepullone +% \@tonewlinepullthree +% \@tonewlinepulltwo +% \@topskipfirst +% \@totoleftto +% \@tt +% \@typeface +% \@typist +% \@unclassified +% \@unspacedclasslabel +% \@unspaceleft +% \@unspaceleftone +% \@unspacelefttwo +% \@unspaceright +% \@unspacerightone +% \@unspacerighttwo +% \@upperunspaceleft +% \@upperunspaceleftone +% \@useasheader +% \@useattn +% \@usesubject +% \@useto +% \@writeonelabel +% \attachmentas +% \attachments +% \attachmentsas +% \attachmentspagebreak +% \attn +% \bodyfonts +% \c@@countlist +% \classlabel +% \closing +% \complimentaryclose +% \cy +% \cypagebreak +% \descriptionmargin +% \distribution +% \distributionpagebreak +% \enc +% \encas +% \encpagebreak +% \expandtopmargin +% \expandwidth +% \headerfonts +% \if@beenhere +% \if@closing +% \if@cmfonts +% \if@comma +% \if@continueloop +% \if@everyindent +% \if@makemaillabels +% \if@neveropened +% \if@newattachments +% \if@newattn +% \if@newcy +% \if@newdistribution +% \if@newenc +% \if@newleftto +% \if@newline +% \if@newreference +% \if@newreturnaddress +% \if@newrightto +% \if@newtelephone +% \if@newtemp +% \if@newthru +% \if@newto +% \if@newvia +% \if@notvoidtoks +% \if@outputfirstpage +% \if@outputlastpage +% \if@printingto +% \if@somethingbefore +% \if@toksnotequal +% \innerbody +% \inneriterate +% \innerloop +% \innerrepeat +% \leftto +% \letterpaperhcorr +% \letterpapervcorr +% \longbody +% \longiterate +% \longloop +% \longrepeat +% \maillabelheight +% \maillabeltopmargin +% \mailstop +% \makemaillabels +% \newblock +% \next +% \nocallouts +% \noclearpage +% \one +% \opening +% \originator +% \ps@firstpage +% \ps@pagetwo +% \reference +% \returnaddress +% \rightto +% \salutation +% \serialnumber +% \shortletterstyle +% \signature +% \signer +% \skiplabels +% \specialbop +% \subject +% \telephone +% \thru +% \two +% \typeface +% \typist +% \use +% \useattnasheader +% \useotherasheader +% \usesubjectasheader +% \usetoasheader +% \via + +% Here is a list of most of the locally defined macros and their line +% numbers in this file. + +% 2666 % \DEF \@ADDTOKSTOTOKS +% 2658 % \DEF \@ADDTOTOKS +% 2703 % \DEF \@ADVCOUNTBYDIMEN +% 1215 % \DEF \@AMORCM figures out whether am or cm fonts have been loaded. +% 1978 % \DEF \@BEGINLETTER +% 1123 % \DEF \@CHECKINPUT +% 1182 % \DEF \@CHECKUSEASINPUT +% 1280 % \DEF \@CHOOSEBODYFONTS +% 1205 % \DEF \@CHOOSEFONTS +% 1244 % \DEF \@CHOOSEHEADERFONTS +% 2002 % \DEF \@CLEARCLOSING +% 2013 % \DEF \@ENDLETTER +% 2955 % \DEF \@EXIT +% 2958 % \DEF \@EXITFI +% 1231 % \DEF \@GETPOSTSCRIPTNAMES +% 2713 % \DEF \@GLOBALADVCOUNTBYDIMEN +% 2674 % \DEF \@IFEMPTYORUNDEFINED +% 2684 % \DEF \@IFNOINFO +% 1352 % \DEF \@INITIALIZEFONTVARIABLES +% 1475 % \DEF \@INITIALIZELISTS +% 1655 % \DEF \@INITIALIZEOTHERVARIABLES +% 1446 % \DEF \@INITIALIZETYPEFACEDEPENDENCIES +% 2989 % \DEF \@ITEM +% 1369 % \DEF \@KERNHEADERWORDS +% 1717 % \DEF \@MAKECLASSHEADER +% 1868 % \DEF \@MAKEPAGETWOHEADER +% 1854 % \DEF \@MAKEPSCLASSHEADER +% 2198 % \DEF \@MAKETOCOL +% 2792 % \DEF \@MLABEL +% 1096 % \DEF \@MULTIPLELETTERS +% 2720 % \DEF \@NOTVOIDTOKS +% 3048 % \DEF \@OUTPUTPAGE +% 2419 % \DEF \@PRINTATTACHMENTS +% 1909 % \DEF \@PRINTCLASSPAGE +% 2338 % \DEF \@PRINTCOMPCLOSE +% 2478 % \DEF \@PRINTCY +% 2460 % \DEF \@PRINTDISTRIBUTION +% 2382 % \DEF \@PRINTENCLOSURES +% 2039 % \DEF \@PRINTFIRSTPAGEHEADER +% 2106 % \DEF \@PRINTFIRSTPAGERIGHTHEADER +% 2064 % \DEF \@PRINTLETTERPAPER +% 2522 % \DEF \@PRINTNUMBEREDLIST +% 2357 % \DEF \@PRINTORIGINATORLINE +% 1930 % \DEF \@PRINTPAGENUM +% 1924 % \DEF \@PRINTPAGETWOHEADER +% 2304 % \DEF \@PRINTREFERENCE +% 2257 % \DEF \@PRINTSALUTATION +% 2347 % \DEF \@PRINTSIGNATURE +% 2289 % \DEF \@PRINTSUBJECT +% 2265 % \DEF \@PRINTTHRUORVIA +% 2158 % \DEF \@PRINTTO +% 1802 % \DEF \@PSDEFCLASSLABEL +% 1757 % \DEF \@PSDEFLOSALAMOS +% 1942 % \DEF \@PULLPAGETWOTOHEADER +% 982 % \DEF \@RESETTOVARS +% 1091 % \DEF \@RESTOREVARIABLES +% 1333 % \DEF \@SETNORMALSIZE +% 2502 % \DEF \@SETNUMDEFAULTS +% 1692 % \DEF \@SETTRUE +% 2123 % \DEF \@SPLITTO +% 2761 % \DEF \@STARTLABELS +% 2566 % \DEF \@TOCOMMAPULL \DEF \@TOCOMMAPULLSUB, etc. +% 2946 % \DEF \@TODIEORNOTTODIE +% 2576 % \DEF \@TOENDTOPULL \DEF \@TOENDTOPULLSUBONE, etc. +% 915 % \DEF \@TOKSINPUT +% 2691 % \DEF \@TOKSNOTEQUAL \DEF \@TOKSEQUAL +% 993 % \DEF \@TOKSTOINPUT +% 2546 % \DEF \@TONEWLINEPULL \DEF \@TONEWLINEPULLSUBONE, etc. +% 1028 % \DEF \@TOTOLEFTTO +% 2585 % \DEF \@UNSPACELEFT +% 2632 % \DEF \@UNSPACERIGHT +% 2608 % \DEF \@UPPERUNSPACELEFT +% 2800 % \DEF \@WRITEONELABEL +% 882 % \DEF \CLASSLABEL +% 1069 % \DEF \CLOSING +% 3115 % \DEF \DOCUMENT +% 3139 % \DEF \ENDDOCUMENT +% 808 % \DEF \HEADERFONTS, \BODYFONTS, \SUBJECT, \SYMBOL, \SERIALNUMBER, +% 2242 % \DEF \LONGLOOP, \LONGINNERLOOP, \INNERITERATE +% 1044 % \DEF \OPENING +% 2969 % \DEF \SPECIALBOP +% 776 % \DEF \TO, \THRU, \CY, \ATTACHMENTS, \REFERENCE, \ENCLOSURES, + +% The following list will give you a view of this file as a whole. +% Included are banners from major sections of code and locally +% defined macros. Line numbers are given on the left. + +% 18 % **** BEGINNING OF ARTICLE.DOC MACROS **** +% 25 % * BIBLIOGRAPHY * +% 59 % * FIGURES AND TABLES * +% 150 % **** LETTER.STY MACROS **** +% 190 % * FONTS * +% 327 % * PAGE LAYOUT * +% 393 % * LETTER COMMANDS * +% 399 % * THE SRI LETTER FORMAT * +% 405 % * THE GENERIC LETTER COMMANDS * +% 411 % * PAGE STYLES * +% 418 % * PARAGRAPHING * +% 453 % * LISTS * +% 461 % * OTHER ENVIRONMENTS * +% 515 % * FOOTNOTES * +% 547 % * MISCELLANEOUS * +% 560 % * INITIALIZATION * +% 581 % **** BEGINNING OF LOCALLY WRITTEN MACROS FOR LANL LETTERS. **** +% 585 % **** DEFINE AND INITIALIZE REGISTERS **** +% 772 % **** USER INPUT **** +% 776 % \DEF \TO, \THRU, \CY, \ATTACHMENTS, \REFERENCE, \ENCLOSURES, +% 808 % \DEF \HEADERFONTS, \BODYFONTS, \SUBJECT, \SYMBOL, \SERIALNUMBER, +% 882 % \DEF \CLASSLABEL +% 915 % \DEF \@TOKSINPUT +% 982 % \DEF \@RESETTOVARS +% 993 % \DEF \@TOKSTOINPUT +% 1028 % \DEF \@TOTOLEFTTO +% 1041 % **** OPENING AND CLOSING **** +% 1044 % \DEF \OPENING +% 1069 % \DEF \CLOSING +% 1091 % \DEF \@RESTOREVARIABLES +% 1096 % \DEF \@MULTIPLELETTERS +% 1120 % **** CHECK USER INPUT **** +% 1123 % \DEF \@CHECKINPUT +% 1182 % \DEF \@CHECKUSEASINPUT +% 1202 % **** CHOOSE FONTS **** +% 1205 % \DEF \@CHOOSEFONTS +% 1215 % \DEF \@AMORCM figures out whether am or cm fonts have been loaded. +% 1231 % \DEF \@GETPOSTSCRIPTNAMES +% 1244 % \DEF \@CHOOSEHEADERFONTS +% 1280 % \DEF \@CHOOSEBODYFONTS +% 1333 % \DEF \@SETNORMALSIZE +% 1349 % **** INITIALIZE FONT AND TYPEFACE DEPENDENT VARIABLES **** +% 1352 % \DEF \@INITIALIZEFONTVARIABLES +% 1369 % \DEF \@KERNHEADERWORDS +% 1446 % \DEF \@INITIALIZETYPEFACEDEPENDENCIES +% 1475 % \DEF \@INITIALIZELISTS +% 1489 % * LISTS * +% 1536 % See comments for *** LISTS *** above under \ifx\@typeface\@tt +% 1655 % \DEF \@INITIALIZEOTHERVARIABLES +% 1692 % \DEF \@SETTRUE +% 1714 % **** CLASSIFICATION AND PAGE TWO HEADERS **** +% 1717 % \DEF \@MAKECLASSHEADER +% 1757 % \DEF \@PSDEFLOSALAMOS +% 1802 % \DEF \@PSDEFCLASSLABEL +% 1854 % \DEF \@MAKEPSCLASSHEADER +% 1868 % \DEF \@MAKEPAGETWOHEADER +% 1909 % \DEF \@PRINTCLASSPAGE +% 1924 % \DEF \@PRINTPAGETWOHEADER +% 1930 % \DEF \@PRINTPAGENUM +% 1942 % \DEF \@PULLPAGETWOTOHEADER +% 1975 % **** BEGIN AND END LETTER, SHORT OR NORMAL LETTER STYLE. **** +% 1978 % \DEF \@BEGINLETTER +% 2002 % \DEF \@CLEARCLOSING +% 2013 % \DEF \@ENDLETTER +% 2036 % **** PRINT OPENING **** +% 2039 % \DEF \@PRINTFIRSTPAGEHEADER +% 2064 % \DEF \@PRINTLETTERPAPER +% 2106 % \DEF \@PRINTFIRSTPAGERIGHTHEADER +% 2123 % \DEF \@SPLITTO +% 2158 % \DEF \@PRINTTO +% 2198 % \DEF \@MAKETOCOL +% 2242 % \DEF \LONGLOOP, \LONGINNERLOOP, \INNERITERATE +% 2257 % \DEF \@PRINTSALUTATION +% 2265 % \DEF \@PRINTTHRUORVIA +% 2289 % \DEF \@PRINTSUBJECT +% 2304 % \DEF \@PRINTREFERENCE +% 2335 % **** PRINT CLOSING. **** +% 2338 % \DEF \@PRINTCOMPCLOSE +% 2347 % \DEF \@PRINTSIGNATURE +% 2357 % \DEF \@PRINTORIGINATORLINE +% 2382 % \DEF \@PRINTENCLOSURES +% 2419 % \DEF \@PRINTATTACHMENTS +% 2460 % \DEF \@PRINTDISTRIBUTION +% 2478 % \DEF \@PRINTCY +% 2499 % **** NUMBERED LISTS FOR CLOSING **** +% 2502 % \DEF \@SETNUMDEFAULTS +% 2522 % \DEF \@PRINTNUMBEREDLIST +% 2543 % **** PARSING **** +% 2546 % \DEF \@TONEWLINEPULL \DEF \@TONEWLINEPULLSUBONE, etc. +% 2566 % \DEF \@TOCOMMAPULL \DEF \@TOCOMMAPULLSUB, etc. +% 2576 % \DEF \@TOENDTOPULL \DEF \@TOENDTOPULLSUBONE, etc. +% 2585 % \DEF \@UNSPACELEFT +% 2608 % \DEF \@UPPERUNSPACELEFT +% 2632 % \DEF \@UNSPACERIGHT +% 2656 % **** UTILITIES FOR MASSAGING TOKEN AND DIMENSION VARIABLES. **** +% 2658 % \DEF \@ADDTOTOKS +% 2666 % \DEF \@ADDTOKSTOTOKS +% 2674 % \DEF \@IFEMPTYORUNDEFINED +% 2684 % \DEF \@IFNOINFO +% 2691 % \DEF \@TOKSNOTEQUAL \DEF \@TOKSEQUAL +% 2703 % \DEF \@ADVCOUNTBYDIMEN +% 2713 % \DEF \@GLOBALADVCOUNTBYDIMEN +% 2720 % \DEF \@NOTVOIDTOKS +% 2730 % **** LABELS **** +% 2761 % \DEF \@STARTLABELS +% 2792 % \DEF \@MLABEL +% 2800 % \DEF \@WRITEONELABEL +% 2818 % **** ERROR MESSAGES **** +% 2943 % **** DEATH UTILITY **** +% 2946 % \DEF \@TODIEORNOTTODIE +% 2955 % \DEF \@EXIT +% 2958 % \DEF \@EXITFI +% 2963 % **** ARBORTEXT'S SPECIALBOP (BEGINNING OF PAGE) FOR USE WITH DVIPS *** +% 2969 % \DEF \SPECIALBOP +% 2986 % **** REDEFINE LATEX.TEX'S \@ITEM FOR NICE PAGEBREAKS IN \CLOSING LISTS +% 2989 % \DEF \@ITEM +% 3045 % **** REDEFINE LATEX.TEX'S @OUTPUTPAGE TO ALLOW ARBORTEXT'S SPECIALBOP +% 3048 % \DEF \@OUTPUTPAGE +% 3112 % **** REDEFINE LATEX.TEX'S \DOCUMENT AND \ENDDOCUMENT **** +% 3115 % \DEF \DOCUMENT +% 3139 % \DEF \ENDDOCUMENT +% 3161 % *** END OF LALETTER.DOC *** diff --git a/macros/latex209/contrib/laletter/laletter.ref b/macros/latex209/contrib/laletter/laletter.ref new file mode 100644 index 0000000000..16bc27cea9 --- /dev/null +++ b/macros/latex209/contrib/laletter/laletter.ref @@ -0,0 +1,4810 @@ + + + + + + + + + | + | Computing and Communications Division + CIC#1505 | + October 1989 | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | LaTeX Letter Reference + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | --------------------------------------------- + | NOTICE TO USERS OF ONLINE DOCUMENTATION: + | + | This document may not include some tables, + | graphics, and other features that you will + | find in the printed version. To order the + | hardcopy, contact the CIC at (505) 667-6992. + | --------------------------------------------- + | + | + Los Alamos | Los Alamos National Laboratory + | Los Alamos, New Mexico 87545 + | + + + + + + + + + + + + + + Who to Contact - ii - October 1989 + + + + WHO TO CONTACT + ______________________________________________________________________ + + ================================================================= + CONTACT PHONE FTS + ----------------------------------------------------------------- + CONSULTING + ICN Consulting Office (C-10)............(505)667-5745 843-5745 + Closed from 1 p.m. to 2 p.m. MT on Mondays + electronic mail address: consult@lanl.gov + CCF Dispatcher/CFS/PAGES (C-1)..........(505)667-4584 843-4584 + + COMMUNICATIONS PROBLEMS + ICN Communications Problems.............(505)667-7423 843-7423 + (C-4 Trouble Desk) + + EDUCATION and DOCUMENTATION + Computing Information Center - CIC .....(505)667-6992 843-6992 + (C-2 publication distribution) + electronic mail address: cic@lanl.gov + + STATUS MESSAGES + CCF Status Recording....................(505)667-5588 843-5588 + FOCUS - Machine Status..................(505)667-2852 843-2852 + + SECURITY + Computer and Information Security.......(505)665-1805 855-1805 + (OS-4 passwords and blacklisting) + ================================================================= + Revision History + + Written by Marilyn Foster with technical input from Steve Sydoriak, + Computer Documentation Group (C-2). + + Originally published October 1989 + + + + + + + + + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - iii - Contents + + + + CONTENTS + ______________________________________________________________________ + + + 1. INTRODUCTION ................................................ 1 + 2. PREREQUISITES FOR USING LATEX LETTER COMMANDS ............... 3 + 2.1. What You Need Before You Can Use the Letter Commands + ...................................................... 3 + 2.2. Additional Information ............................... 3 + 2.3. LaTeX Video Courses .................................. 4 + 3. GETTING STARTED ............................................. 5 + 4. PREPARING THE PREAMBLE SECTION .............................. 6 + 4.1. Defaults ............................................. 6 + 4.2. Document Style ....................................... 7 + 4.3. Letterhead Labels .................................... 8 + 4.3.1. Nocallouts ........................................ 8 + 4.3.2. Date .............................................. 9 + 4.3.3. In Reply Refer To ................................. 9 + 4.3.4. Mail Stop ......................................... 10 + 4.3.5. Telephone Number .................................. 10 + 4.4. Address .............................................. 11 + 4.5. Attention Line ....................................... 12 + 4.6. Thru or Via .......................................... 13 + 4.7. Salutation ........................................... 14 + 4.8. Subject Line ......................................... 14 + 4.9. Reference Line ....................................... 15 + 4.10. Continuation Pages .................................. 15 + 4.11. Complimentary Close ................................. 17 + 4.12. Signature ........................................... 17 + 4.13. Initial Line-Signer, Originator, and Typist ......... 18 + 4.14. Enclosures .......................................... 18 + 4.15. Attachments ......................................... 19 + 4.16. Copy or Distribution List ........................... 20 + 5. PREPARING THE DOCUMENT SECTION .............................. 22 + 6. PRINTING YOUR LETTER ........................................ 23 + 7. CUSTOMIZING YOUR LETTER ..................................... 25 + 7.1. Header Style ......................................... 25 + 7.2. Body Style ........................................... 26 + 7.2.1. Type Style ........................................ 26 + 7.2.2. Fonts ............................................. 27 + 7.2.3. Margin Space ...................................... 27 + 7.3. Classification Labels ................................ 28 + 7.4. Page Breaks .......................................... 29 + 7.4.1. General Page Breaks ............................... 29 + 7.4.2. Page Break Before a List .......................... 29 + 7.5. Short Letters ........................................ 30 + 7.6. Preprinted Stationery ................................ 30 + 7.7. Multiple Letters to a Mailing List ................... 32 + 7.8. Mailing Labels ....................................... 32 + 7.8.1. Return Address Labels ............................. 33 + 7.8.2. Label Size ........................................ 33 + 7.8.3. Skipping Labels ................................... 34 + + + LaTeX Letter Reference + + + + + + + Contents - iv - October 1989 + + + + 7.8.4. The .MLB File ..................................... 34 + 7.9. Floats in LaTeX Letters .............................. 34 + APPENDIX A. SUMMARY OF LATEX LETTER COMMANDS ................... 36 + APPENDIX B. SYNTAX RULES AND DOCUMENTATION CONVENTIONS ......... 40 + B.1. Syntax Rules ......................................... 40 + B.2. Documentation Conventions ............................ 40 + APPENDIX C. EXAMPLE LETTERS .................................... 41 + Example 1. Typical Letter ................................. 42 + Example 2. Short Letter Style ............................. 43 + Example 3. Letter on Preprinted Stationery ................ 44 + Example 4. Letter with Multiple Addressees ................ 45 + Example 5. Multiple Letters with Mailing Labels ........... 46 + APPENDIX D. INSTALLING THE LATEX LETTER STYLE FILE ............. 49 + D.1. On the IBM PC ........................................ 50 + D.2. On the Sun Workstation ............................... 51 + D.3. On the Apollo Workstation ............................ 51 + D.4. On VAX/VMS ........................................... 51 + D.5. On VAX/UNIX .......................................... 52 + APPENDIX E. WARNING AND ERROR MESSAGES ......................... 53 + E.1. Warning Messages ..................................... 53 + E.1.1. Leaving Out Information ........................... 53 + E.1.2. Letter Too Long for \shortletterstyle ............. 55 + E.1.3. Using the Almost Modern (AM) Fonts ................ 55 + E.1.4. Contradictory Information ......................... 55 + E.1.5. Using \attn Outside of \to ........................ 56 + E.2. Fatal Errors ......................................... 56 + E.2.1. Invalid Classification Label ...................... 56 + E.2.2. Duplicating \classlabel Commands .................. 57 + E.2.3. Specifying an Invalid Typeface .................... 57 + E.2.4. Specifying an Invalid Font for Letter Body ........ 57 + E.2.5. Specifying an Invalid Font for Letter Header ...... 58 + E.2.6. Using an Obsolete Version of Lafonts .............. 58 + APPENDIX F. GLOSSARY OF TERMS AND ACRONYMS ..................... 59 + READER COMMENTS FORM ............................................ 63 + DOCUMENTATION REQUEST FORM ...................................... 65 + INDEX ........................................................... 68 + + + + + + + + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 1 - Introduction + + + + 1. INTRODUCTION + ______________________________________________________________________ + + LaTeX Letter Reference explains how to use LaTeX letter commands to + produce letters that conform to the Los Alamos National Laboratory + standards for correspondence. LaTeX is a macro package that + supplements the TeX document preparation system to streamline the + production of many types of documents. The LaTeX commands are put + into a LaTeX input file and are executed when you run the file through + LaTeX. + + Although it is not necessary to read each section in order, the later + sections assume that you have read this introduction and, if you are + not familiar with the local documentation, Appendix B. + + This document is divided into the following sections: + + o Section 1: Introduction. This section is a road map of the + document. + + o Section 2: Prerequisites for Using LaTeX Letter Commands. This + section tells on what systems you can use the letter commands and + lists what you need on your system so you can implement the + commands. It also gives you sources for more information about + LaTeX. + + o Section 3: Getting Started. This section shows the general + format for a LaTeX letter file and explains the major parts of + the file. + + o Section 4: Preparing the Preamble Section. This section explains + commands that you will need in the preamble part of the LaTeX + letter file where the opening and closing of the letter is + defined. This section only covers the basic letter commands + needed for a typical letter. See Section 7 for information about + changing fonts and commands that give special instructions. + + o Section 5: Preparing the Document Section. This section + describes the part of the LaTeX letter file containing the body + of the document. + + o Section 6: Printing Your Letter. This section explains how to + print a letter. The instructions in this chapter are very + general and are the same as the instructions for printing any + LaTeX file. + + + + + + + + + + LaTeX Letter Reference + + + + + + + Introduction - 2 - October 1989 + + + + o Section 7: Customizing Your Letter. This section gives details + about the special letter commands that can be put into the + preamble section of your file to control the fonts for the + letterhead, the fonts and typeface for the body of a letter, + pagebreaks, classification labeling, formatting for short + letters, producing letters for a mailing list, and printing + mailing labels. + + o Appendix A: Summarizing the LaTeX Letter Commands. This appendix + is a summary table for the letter commands. It gives a brief + description of each command and a list of options and defaults + where applicable. + + o Appendix B: Syntax Rules and Documentation Standards. This + appendix explains the rules governing the LaTeX letter commands + and the various standards used in locally produced documentation. + + o Appendix C: Example Letters. This appendix gives examples of + letter files and their resulting letters. + + o Appendix D: Installing the LaTeX Style File. This appendix + explains how to install the letter style file on your system. + + o Appendix E: Warning and Error Messages. This appendix contains a + listing of all the error messages that are possible when using + the letter commands. + + o Appendix F: Glossary of Terms and Acronyms. Terms and acronyms + not commonly defined elsewhere, or whose meaning are specific to + the Los Alamos environment, are defined in this appendix. + + + Several forms follow the last appendix. If you have any comments + about or suggestions for this document, please return them on the + Reader Comments Form. If you would like to order documentation + referred to in this document, complete and return the Documentation + Request Form to the Computing Information Center (CIC). + + + + + + + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 3 - Prerequisites + + + + 2. PREREQUISITES FOR USING LATEX LETTER COMMANDS + ______________________________________________________________________ + + This section lists the systems on which you can use LaTeX letter + commands, the features you must have on your system, and sources for + general information about LaTeX. + + + 2.1. What You Need Before You Can Use the Letter Commands + + You can use the LaTeX letter commands when working in the following + environments: + + o UNIX distributed processors + + o Sun and Apollo workstations + + o IBM PCs + + o VAX/VMS distributed processors + + + With each of these environments, you need the following: + + o TeX and LaTeX installed + + o The LaTeX letter style file installed + + o Access to a printer that has the necessary software to print TeX + output + + + + _____________________________________________________ + + See Appendix D for information about installing + the letter style file. + _____________________________________________________ + + + + + + 2.2. Additional Information + + This document assumes that you know how to use LaTeX. If you are not + already familiar with LaTeX, you can refer to the following + publications: + + o An Introduction to LaTeX, by Michael Urban. An introductory + document that will help you start working with LaTeX quickly. + + + + LaTeX Letter Reference + + + + + + + Prerequisites - 4 - October 1989 + + + + o LaTeX: A Document Preparation System, by Leslie Lamport. A + complete reference manual written by the designer of LaTeX. + + For information about using LaTeX at the Los Alamos National + Laboratory, see the following documents: + + o Local Guide to LaTeX on VAX/UNIX at the Los Alamos National + Laboratory. This document describes how to use LaTeX on the + VAX/VMS CCVAX distributed processor. + + o Local Guide to LaTeX on VAX/VMS at the Los Alamos National + Laboratory. This document tells you how to use LaTeX on the + VAX/Ultrix distributed processor Beta and on the VAX/UNIX + distributed processor Alpha. + + o LaTeX Memo Reference. This document explains how to use LaTeX to + produce memos that conform to the Los Alamos National Laboratory + standards. + + You can order these publications from the Computing Information Center + (CIC) by filling out the Documentation Request Form in the back of + this document. Please note, there is no charge for local + documentation, but you will be charged for the general LaTeX + publications. + + If you would like more information about the Laboratory's letter + standards, see the Office Procedures Manual, OPM-1-2 for unclassified + letters and OPM-2-4 and OPM-2-11 for classified letters. To order a + copy of the Office Procedures Manual, call the IS-11 Distribution + Center at (505) 667-3872. Most group offices have one of these + manuals available for reference. + + + + + 2.3. LaTeX Video Courses + + The Computing Learning Center (CLC) offers a two-hour introductory + video course entitled "Introduction to LaTeX" presented by Cris + Barnes, CTR-5 and a one-hour video course Preparing Laboratory Memos + with LaTeX presented by Margot Casey, C-2. These courses are + available for viewing in the CLC, or you may check out the 1/2-inch + VHS tapes for viewing at home. The courses are also broadcast on + LABNET. + + + + + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 5 - Getting Started + + + + 3. GETTING STARTED + ______________________________________________________________________ + + To prepare a letter with LaTeX, you first create a file with a ".tex" + extension at the end of its name (e.g., test.tex). This file is + called your LaTeX letter file. LaTeX commands are case sensitive and + should be entered in upper- or lowercase characters as shown in this + document or other documentation. Note that each command begins with a + backslash (\). + + Each LaTeX letter file has two sections: the preamble section and the + document section. The preamble section contains the commands that set + up the information for the opening and closing of the letter and + describe the style of the letter. It starts with a \documentstyle + command and ends with a \begin{document} command. The document + section contains the text of the letter. It starts with a + \begin{document} command and ends with an \end{document} command. + + The general format of the preamble section of a LaTeX letter file is + + \documentstyle{laletter} + + Letter commands, such as + \to + \salutation + \complimentaryclose + . + . + . + + The general format of the document section of a LaTeX letter file is + + \begin{document} + \opening + + Body of letter + + \closing + \end{document} + + + The spacing and indentation of the commands, as shown in the above + format, make the file easier to read; the outcome of the file is not + affected. The details of the commands for the preamble section are + found in Section 4, and the details for the document section are found + in Section 5. + + + + + + + + + LaTeX Letter Reference + + + + + + + Preparing the Preamble Section - 6 - October 1989 + + + + 4. PREPARING THE PREAMBLE SECTION + ______________________________________________________________________ + + The preamble section of your LaTeX letter file contains the commands + that set the opening and closing of the letter. The preamble is + described in two sections: this section and Section 7. This section + describes the letter commands that determine the opening and closing + of a typical letter. Section 7 describes the letter commands that you + can use to customize your letter. + + You can print a letter using only the preamble commands covered in + this chapter. Notice, however, that if you use only the preamble + commands listed in this section, your letter will be printed with a + nonstandard Los Alamos logo. See Section 7 for directions for + printing a letter with the standard outline type of logo. + + The \documentstyle command is the only command required in the + preamble section and must be the first line in your LaTeX letter file. + The other commands can be arranged in any order within the preamble + section. LaTeX will print them in the proper place in the letter. + + + 4.1. Defaults + + Default values are the values that LaTeX puts in when you leave a + command out of the file. With the default values, one of the + following will happen: + + o The label in the header will be left blank. This happens with the + commands that have labels printed with the letterhead - \symbol, + \mailstop, and \telephone commands. + + o Default information will be printed. This information is + described with the appropriate commands. + + o Nothing will be printed. This happens with the commands that + have no preprinted labels on the stationery; for example, if you + leave out the enclosure command (\enc), LaTeX will not print an + enclosure list or the label "Enc." + + o A font or register is set to the default value. + + You may also receive a warning message if the omitted command is + needed to conform to Laboratory correspondence standards. + + + + + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 7 - Preparing the Preamble Section + + + + _____________________________________________________ + + The backslashes (\) and the braces ({ }) in the + following commands are a part of these commands + and must be included with the command. They do + not denote optional parameters. + _____________________________________________________ + + + + Commands that print specific information in your letter are listed in + this section. Essential LaTeX commands are listed where they must be + inserted into the preamble section. The general commands are listed + in the order in which the Office Procedures Manual describes them. + + + 4.2. Document Style + + \documentstyle{laletter} + + This command tells LaTeX that your document is a letter. It must be + the first line in your file because LaTeX sets up margins and other + values based on the style you specify inside the braces (in this case, + a Los Alamos letter style). + + This command also sets the point size for the body of your letter. + LaTeX uses a point size of 10, 11, or 12, with a point size of 10 as + the default for all LaTeX documents. The \documentstyle command, as + it is shown above, gives your letter a point size of 10, which is + small and may be difficult to read. See Example 3 in Appendix C for + an example of text with a point size of 10. You can increase the + point size by putting an [11pt] or [12pt] option (including the square + brackets[]) before the {laletter} parameter. The following example + shows the command that gives a point size of 12 for the body of your + letter. (This document is printed with a point size of 12.) + + + ============================================================== + + \documentstyle[12pt]{laletter} + + ============================================================== + + + The \documentstyle command is a LaTeX command, and it follows the + syntax rules for standard LaTeX commands. See one of the LaTeX + reference books listed in Section 2 for these syntax rules. + + + + + + + + LaTeX Letter Reference + + + + + + + Preparing the Preamble Section - 8 - October 1989 + + + + _____________________________________________________ + + Warning: You can not use + \documentstyle[10pt]{laletter} to specify a + point size of 10. You must leave out the point + size if you want the default point size of 10. + _____________________________________________________ + + + + + + 4.3. Letterhead Labels + + The Laboratory has two standard styles of letterheads: one with + callout labels printed in the upper right corner and the other with no + printed callout labels. To supply information for the printed callout + labels, use the \date, \symbol, \serialnumber, \mailstop, and + \telephone commands, which are individually described in this section. + + + + 4.3.1. Nocallouts + + \nocallouts + + If you do not want callout labels printed, you can use the command + \nocallouts and then use the \date, \symbol, or \serialnumber commands + to specify what information you want in the upper right corner. The + following example shows that the date will be printed without a label, + and the symbol and serial number will be combined on the line labeled + Ref: and printed beneath the date. + + + ============================================================== + + \nocallouts + \date { } + \symbol {DD} + \serialnumber {89-098} + + prints + + January 25, 1989 + Ref: DD-89-98 + + ============================================================== + + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 9 - Preparing the Preamble Section + + + + 4.3.2. Date + + \date{text} + + This command inserts the date into your letter. The {text} is the + date you want to appear on your letter. If you omit the text within + the braces or omit the entire command, the default will give you the + date at the time you run LaTeX. This default date will appear in the + following form: January 25, 1989. You should include the text with + the \date command only if you have a specific date that you want to + appear on your letter. The following example shows how to have a + specific date printed on a letter. + + + ============================================================== + + \date{January 25, 1989} + + prints + + DATE: January 25, 1989 + + ============================================================== + + + + + 4.3.3. In Reply Refer To + + \symbol{group} + \serialnumber{id} + + These commands fill in the portion of the letterhead marked "IN REPLY + REFER TO:". The {group} is usually your group name. The + \serialnumber command is needed only if your office uses a serial + number to identify and record its correspondence. When used, the {id} + should be the serial number that identifies the letter. It will be + appended to the symbol with a hyphen (-), as the following example + shows. If you leave out the \serialnumber command, the serial number + will not be appended, and the group name will be the only information + on the In Reply... line. + + + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + Preparing the Preamble Section - 10 - October 1989 + + + + + ============================================================== + + \symbol{C-2} + \serialnumber{89-025} + + prints + + IN REPLY REFER TO: C-2-89-025 + + ============================================================== + + + + + 4.3.4. Mail Stop + + \mailstop{text} + + This command will produce the MAIL STOP line. The {text} should be + your mail stop. + + + ============================================================== + + \mailstop{M995} + + prints + + MAIL STOP: M995 + + ============================================================== + + + + + 4.3.5. Telephone Number + + \telephone{number} + + This command will produce the TELEPHONE line. The number should be + your complete telephone number including the area code. The example + shows how to place an FTS number on a line below your regular number. + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 11 - Preparing the Preamble Section + + + + + ============================================================== + + \telephone{(505) 667-5993\\(FTS) 843-4355} + + prints + + TELEPHONE: (505) 667-5993 + (FTS) 843-4355 + + ============================================================== + + + + + 4.4. Address + + \to{addressee} + + This command gives the name and address of the person to whom you are + sending the letter. The double backslash (\\) in {addressee} + separates the information and starts a new line for each part of the + address. When you have more than one addressee, use a \to command for + each addressee as the following example shows. If you do not use a + \to command, you will get a warning message when you run the file + through LaTeX. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + Preparing the Preamble Section - 12 - October 1989 + + + + + ============================================================== + + \to{John Binnington, Manager\\Technical Information Division\\ + Brookhaven National Laboratory\\Associated Universities, Inc.\\ + Upton, Long Island, NY 11973} + + \to{R. R. Dickison, Manager\\Library Systems\\Oak Ridge National + Laboratory\\Oak Ridge, TN 37830} + + prints + + John Binnington, Manager + Technical Information Division + Brookhaven National Laboratory + Associated Universities, Inc. + Upton, Long Island, NY 11973 + + R. R. Dickison, Manager + Library Systems + Oak Ridge National Laboratory + Oak Ridge, TN 37830 + + ============================================================== + + + When you have more than two addressees, the list will be divided into + two columns. If you want to specify in which column an address is + printed, you can use the command \leftto{addressee} or + \rightto{addressee}. + + + 4.5. Attention Line + + \attn{name} + + You can add an attention line within the address by using the \attn + command on any line above the street or box number. The following + example shows how the \attn command is inserted within the \to + command. + + + + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 13 - Preparing the Preamble Section + + + + + ============================================================== + + \to {Genie Electronics\\ + \attn{Mr. Robert Mercer, Sales Manager}\\ + P.O. Box 8501\\ + Midwest City, OK 73110} + + prints + + Genie Electronics + Attn: Mr. Robert Mercer, Sales Manager + P.O. Box 8501 + Midwest City, OK 73110 + + ============================================================== + + + + + 4.6. Thru or Via + + \thru{namelist} + \via{namelist} + + Either of these commands supplies a name or list of names of the + people to whom your letter will be routed before it is sent to the + addressee. The \via command prints VIA:, and the \thru command prints + THRU:. The following example shows the \thru command. + + + ============================================================== + + \thru{L. S. Steele, X-5, MS B567} + + prints + + THRU: L. S. Steele, X-5, MS B567 + + ============================================================== + + + + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + Preparing the Preamble Section - 14 - October 1989 + + + + + 4.7. Salutation + + \salutation{text} + + To have a salutation in your letter, you must use the \salutation + command and specify the text you want. In the following example, + notice that you must include the appropriate punctuation within the + {text}. + + + ============================================================== + + \salutation{Dear Dr. Jones:} + + prints + + Dear Dr. Jones: + + ============================================================== + + + + + 4.8. Subject Line + + \subject{text} + + This command gives you a subject line. The {text} should be the + subject of your letter. As the example shows, the subject line will + be printed in uppercase regardless of how you type it inside the + braces. + + + ============================================================== + + \subject{Interruption of Building Schedule} + + prints + + SUBJECT: INTERRUPTION OF BUILDING SCHEDULE + + ============================================================== + + + Note that you can use LaTeX commands such as \bf (for boldface) inside + the braces { }. + + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 15 - Preparing the Preamble Section + + + + + 4.9. Reference Line + + \reference{text} + + This command prints a reference line for your letter. The {text} + should be your reference; it will be printed in uppercase in the + opening of the letter, directly below the subject line. If you + include more than one reference, the references will automatically be + numbered. + + Notice in the example that when you have several references, you can + separate them with double backslashes (\\) inside the braces, or you + can place each reference on a separate command line. + + + ============================================================== + + \reference{Office Procedures Manual \\ LaTeX Letter Reference} + + or + + \reference{Office Procedures Manual} + \reference{LaTeX Letter Reference} + + prints + + REFERENCES: 1. OFFICE PROCEDURES MANUAL + 2. LATEX LETTER REFERENCE + + ============================================================== + + + + + 4.10. Continuation Pages + + \usetoasheader + + The heading on each page after the first page usually contains the + name of the addressee, the page number, the date, and the group serial + number. This information will appear on the continuation pages by + default, or it will be supplied by the \usetoasheader command. + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + Preparing the Preamble Section - 16 - October 1989 + + + + You may use the following commands to specify information for the + heading on the continuation pages. + + + Command Results + + _______________________ ___________________________________________ + + \usetoasheader The default. The header includes the name + of the addressee, the page number, the + date, and the group serial number. + + \useattnasheader The name from the Attn: line is used in + place of the addressee's name. + + \usesubjectasheader The subject line is printed in upper- and + lowercase letters instead of the + addressee's name. You may want to use this + header if there are many addressees. + + \useotherasheader{text} The {text}, such as Distribution, is used + as the header instead of the addressee's + name. + + + The following example shows a standard second page heading using the + \usetoasheader command. + + + ============================================================== + + \usetoasheader + + prints + + Genie Electronics -2- March 13, 1989 + C-2-89-025 + + ============================================================== + + + + + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 17 - Preparing the Preamble Section + + + + + 4.11. Complimentary Close + + \complimentaryclose{text} + + This command prints the text that you specify for the complimentary + close after the body of the letter. You must include the proper + punctuation within the brackets. If you do not include the + \complimentaryclose command in the preamble section, the default + close, Sincerely yours, will be printed on the letter. + + + ============================================================== + + \complimentaryclose{Cordially,} + + prints + + Cordially, + + ============================================================== + + + + + 4.12. Signature + + \signature{name} + + The \signature command leaves room for a signature (four blank lines) + and prints the signer's name under this area flush with the left + margin. The printed name may be followed with a title on the next + line. In the \signature command, the title is separated from the name + with a double backslash (\\), as shown in the following example. + + + ============================================================== + + \signature{T. F. Wise \\ Special Projects Group Leader} + + prints + + T. F. Wise + Special Projects Group Leader + + ============================================================== + + + + + + + + + LaTeX Letter Reference + + + + + + + Preparing the Preamble Section - 18 - October 1989 + + + + + 4.13. Initial Line-Signer, Originator, and Typist + + \signer{initials} + \originator{initials} + \typist{initials} + + These commands produce the identification initials, but you may omit + the initials that do not apply to your situation. The \signer command + is for the initials of the signer, the \originator command is used if + a person other than the signer drafted the letter, and the \typist + command is for the typist of the letter. If you leave out the \signer + command, you will get a warning message, but this does not affect the + printing of your letter. The letter will print without the signer's + initials. + If you include all three sets of initials, they will be arranged on + the initial line as the following example shows. + + + ============================================================== + + \signer{jm} + \originator{bf} + \typist{ar} + + prints + + JM-BF:ar + + ============================================================== + + + + + 4.14. Enclosures + + \enc{list} + \encas + + You can use either the \enc or the \encas command to print the + enclosure line. The \enc{list} command is used when you have several + enclosures with your letter that have not been specifically referred + to in the body of the letter. The {list} is the list of your + enclosures with a double backslash (\\) separating the items. The + enclosure list is automatically numbered as shown in the following + example + + + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 19 - Preparing the Preamble Section + + + + + ============================================================== + + \enc{Photograph, Neg. No. 72-4304 \\ + Slide and Vu-graph Nos. 8755 and 3908 \\ + Drawing No. 3988-R} + + prints + + Enc. 1. Photograph, Neg. No. 72-4304 + 2. Slide and Vu-graph Nos. 8755 and 3908 + 3. Drawing No. 3988-R + + ============================================================== + + + The \encas (enclosed as stated) command is used only if each + individual enclosure is completely identified within the body of the + letter. The following example shows the \encas command and the + enclosure line as it will appear on your letter. + + + ============================================================== + + \encas + + prints + + Enc. a/s + + ============================================================== + + + + + 4.15. Attachments + + \attachments{list} + + This command prints a numbered list of attachments for your letter. + The {list} is the list of attachments, and, as the example shows, the + items should be separated with a double backslash (\\) inside the + braces. + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + Preparing the Preamble Section - 20 - October 1989 + + + + + ============================================================== + + \attachments{Memo, Gredin to Platz, March 12, 1982 \\ + Memo, Rivera to Tines, January 14, 1983} + + prints + + Attachments: + 1. Memo, Gredin to Platz, March 12, 1982 + 2. Memo, Rivera to Tines, January 14, 1983 + + ============================================================== + + + \attachmentas + \attachmentsas + + Use the command \attachmentas to specify the singular attachment as + stated for an item completely identified in the text of the letter. + The command \attachmentsas is used for a number of specified + attachments. The following example shows the singular \attachmentas + command. + + + ============================================================== + + \attachmentas + + prints + + Attachment a/s + + ============================================================== + + + + + 4.16. Copy or Distribution List + + \cy{list} + \distribution{list} + + Either of these commands gives a list of the people to whom + informational copies of your letter will be sent. The \cy{list} + command prints the list with the first line beside a Cy:, and the + \distribution{list} command prints the list beneath a Distribution: + line. The {list} is the list of people to whom copies should be sent. + The names are separated with a double backslash (\\), as shown in the + following example. + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 21 - Preparing the Preamble Section + + + + + ============================================================== + + \cy{R. T. Smith, C-2, MS B263 \\ M. K. Terry, C-10, MS B296 \\ File} + + prints + + Cy: R. T. Smith, C-2, MS B263 + M. K. Terry, C-10, MS B296 + File + + + \distribution{T. S. Solomon, TP-1, MS B233 \\ + A. J. Gomez, TP-2, MS B234} + + prints + + Distribution: + T. S. Solomon, TP-1, MS B233 + A. J. Gomez, TP-2, MS B234 + + ============================================================== + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + Preparing the Document Section - 22 - October 1989 + + + + 5. PREPARING THE DOCUMENT SECTION + ______________________________________________________________________ + + This chapter describes the commands that go into the document section + of your letter. The document section is the second main section in + your LaTeX letter file and follows immediately after the preamble + section. It starts with a \begin{document} command, ends with an + \end{document} command, and contains the commands and text that + produce the body of the letter. + + + _____________________________________________________ + + The following letter commands must be in every + letter file in the order in which they are + presented. + _____________________________________________________ + + + + \begin{document} + + This command signals the beginning of your document. All of the + preamble commands should be placed before this command in your file. + + \opening + + This command uses the information from the preamble commands to print + the opening of your letter. All of the preamble commands that supply + information for the opening of your letter must appear before this + command. LaTeX will ignore or give an error message for any opening + preamble commands that are encountered after the \opening command. + + Body of Letter + + The body of your letter comes after the \opening command. You can use + any of the standard LaTeX commands inside the body to control the + appearance of the text. + + \closing + + The \closing command comes after the body of your letter and tells + LaTeX to print out the closing information for your letter. It uses + commands and information entered in the preamble section of your file. + All preamble commands must be placed before the \begin{document} + command. + + \end{document} + + The last line of your file must be the \end{document} command. This + line tells LaTeX that you are finished with your document, and LaTeX + will ignore anything after this command. + + + LaTeX Letter Reference + + + + + + + October 1989 - 23 - Printing Your Letter + + + + 6. PRINTING YOUR LETTER + ______________________________________________________________________ + + Once you have finished creating your letter file with the letter + commands in it, follow these steps to print your letter. + + + _____________________________________________________ + + These steps are the same steps you use to print + any LaTeX file. + _____________________________________________________ + + + + + (1) Run your file through LaTeX by typing + + latex filename.tex + + where filename.tex is the name of your letter file. + + If you have any error messages, they will appear on the screen + during execution. These error messages are interactive and will + wait for you to respond to the + ? (question mark) prompt. You can type another question mark (?) + at the prompt to display a list of your options at that point. + You will also get a file called filename.log that contains the + error messages that were produced. See + Appendix E for more information about error messages. + + When LaTeX ends execution successfully, you will receive a + message that the filename.dvi file is created, and you can + proceed to the next step in printing your letter. (Occasionally, + however, you may receive a message that a .dvi file has been + created when only a partial file has been created. If this + happens, you probably have an error at the point where the + partial .dvi file ends.) When an error occurs, you must correct + your error and run your file through LaTeX again before you can + print the letter. + + If you have trouble running LaTeX, call the Consulting Office or + see one of the LaTeX publications mentioned in Additional + Information in Section 2. + + + (2) If your computer has a program that will allow you to preview + .dvi files, you should preview your filename.dvi file now and + make any necessary corrections. If your computer cannot preview + .dvi files, go on to the next step. + + + + + LaTeX Letter Reference + + + + + + + Printing Your Letter - 24 - October 1989 + + + + (3) Print out your filename.dvi file by using the correct procedures + for your computer. If you need help with the printing, you + should contact your local system manager if you are using a + workstation or distributed processor, or you can call the + Consulting Office if you are using a C-Division computer. + + If you want to send your output to one of the PAGES raster + printer-plotter devices, you can use a utility called DVIPAGES. + This utility can be used for unclassified output from the UNIX + distributed processors Alpha and Beta or from the VAX/VMS + distributed processors. For more information about this utility, + see DVIPAGES: TEX DVI to PAGES Quick Steps. You can order this + document from the CIC by using the Documentation Request Form in + the back of this document. + + + _____________________________________________________ + + At the present time, DVIPAGES cannot handle + secret or confidential letters. + _____________________________________________________ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 25 - Customizing Your Letter + + + + 7. CUSTOMIZING YOUR LETTER + ______________________________________________________________________ + + This chapter describes special letter commands that you can put into + the preamble section of your file to customize your letter. These + commands must be placed before the \begin{document} command in your + file. + + + 7.1. Header Style + + The header for a letter includes the Los Alamos logo and address, plus + the optional callout labels. You can choose from four header styles. + Three of these header styles use fonts that print a header on plain + paper, and the other header style allows you to use the preprinted + stationery provided by the Laboratory. The following table lists the + commands for the different header styles. + + + Command Results + + _________________________ __________________________________________ + + \headerfonts{texfonts} This is the default header style because + these fonts (Computer Modern) are + available on all computers with LaTeX and + TeX. It gives a header similar to the + standard letterhead but with a solid Los + Alamos logo. + + \headerfonts{lafonts} This command gives the Laboratory's + standard letterhead with an outline style + logo, but these fonts are not installed on + all computers. + + \headerfonts{postscript} This command gives a header similar to the + standard letterhead with an outline style + logo. These fonts can be used with + PostScript printers only. + + \headerfonts{letterpaper} This command allows you to use preprinted + stationery. It suppresses the printing of + the header. (See Section 7.6 for more + information.) + + + + + + + + + + + LaTeX Letter Reference + + + + + + + Customizing Your Letter - 26 - October 1989 + + + + _____________________________________________________ + + The examples in Appendix C show what each of + these header styles produces. + _____________________________________________________ + + + + To use the lafonts for letters, you need four special fonts named + book6, book7, la28, and spec12. These fonts are part of the PCTeX + distribution for IBM PCs. For the VMS and UNIX systems, you can get + the fonts from the following files on the Common File System (CFS): + + o /TEX/FONTS/MEMO_LETTER.BCK for VMS systems + + o /TEX/FONTS/MEMO_LETTER.TAR for UNIX systems + + For more information, see TeX Fonts for Los Alamos Memos and Letters + Installation Reference, which can be ordered from the CIC by using the + Documentation Request Form in the back of this document. If you have + questions about the lafonts, call the Consulting Office. + + The PostScript fonts are available for PostScript printers in a + program called DVIPS. DVIPS is available on the distributed + processors Alpha and Beta. The VAX/VMS version is available on CFS as + /TEX/DEVICE_DRIVERS/DVIPS8901.BCK. For Sun and Apollo workstations, + you can purchase the DVIPS program from the CIC. DVIPS for an IBM PC + can be purchased from MEC-9. + + + 7.2. Body Style + + This section describes the commands that affect the body of your + letter. + + + 7.2.1. Type Style + + The body of your letter can be printed in typewriter type or + proportionally spaced Roman type. You can specify the type style by + putting one of the following commands in your preamble section: + + + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 27 - Customizing Your Letter + + + + Command Results + + _______________ _____________________________________________ + + \typeface{tt} Gives typewriter type. (This is the + default.) + + \typeface{rm} Gives proportionally spaced Roman type. + + + The typeface default is typewriter type because letters are + traditionally typed with typewriters. See Appendix C for examples of + the typewriter and Roman typefaces. + + + 7.2.2. Fonts + + You can also pick different fonts for the body of your letter. The + following table lists your choices for the body fonts. + + + Command Results + ______________________ ________________________________________ + + \bodyfonts{texfonts} This is the default body font because + these fonts are available on all + computers with LaTeX and TeX. + + \bodyfonts{postscript} These fonts can be used only with + PostScript printers. + + + The Computer Modern fonts come with TeX and are on all systems that + have TeX and LaTeX installed. The PostScript fonts, for use with a + PostScript printer, require the DVIPS program mentioned in Section + 7.1. See Appendix C for examples of these body fonts. + + + 7.2.3. Margin Space + + You can adjust both the top and side margins of your letter. The + default side margin of a letter is defined by the edges of the + letterhead. The top margin space (the space between the letterhead + and the address) is usually four vertical spaces. The {amount} for + the margin space commands can be expressed in inches (in), centimeters + (cm), points (pt), picas (pc), or millimeters (mm). A positive value + increases the {amount}, and a negative value decreases it. You can + change the top and side margins of your letter with the following + commands where {amount} is the total change: + + + + + + LaTeX Letter Reference + + + + + + + Customizing Your Letter - 28 - October 1989 + + + + Command Results + ________________________ _____________________________________ + + \expandwidth{amount} Increases or decreases the width of + the text to change the side margin. + The {amount} is split between the + left and right sides. + + \expandtopmargin{amount} Increases or decreases the distance + between the letterhead and the + address. + + + + 7.3. Classification Labels + + The following commands can be used to print a secret, confidential, or + unclassified label on your letter. + + + Command Results + _______________ _____________________________________________ + + \classlabel{ } The default. It does not print a label on + the letter. + + \classlabel{u} Prints a label that says UNCLASSIFIED. + + \classlabel{c} Prints a label that says CONFIDENTIAL. + + \classlabel{s} Prints the SECRET label. + + + These commands print the appropriate label at the top and bottom of + the letter in heavy black print. You can use them for labeling a + classified letter, but we suggest that you use the more visible red- + stamped classification labeling on the front and back of the paper + instead of using these commands. + + + _____________________________________________________ + + The LaTeX letter commands will not print a red + label and will not print any label on the back + of the paper. + _____________________________________________________ + + + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 29 - Customizing Your Letter + + + + + 7.4. Page Breaks + + This section describes the commands that you can use to control the + page breaks in your letter. + + + 7.4.1. General Page Breaks + + \newpage + + The LaTeX command \newpage breaks for a new page at the place where + you use this command. You can put the command anywhere in the body of + your letter or inside the brackets of a letter command. + + The following example shows the \newpage command within the brackets + of another command. It divides the list between the second and third + name, with the first two names appearing on the current page of the + letter and the third name appearing on the next page. + + + ============================================================== + + \cy{A. B. Cog \\ C. D. Man + \newpage \\ E. F. Barr} + + prints on separate pages + + A. B. Cog E. F. Barr + C. D. Man + + ============================================================== + + + + + 7.4.2. Page Break Before a List + + If, after printing your letter, you find that some of the lists in the + closing section are broken between pages, you can use the following + commands to start the list at the top of the next page. You can put + these commands anywhere in the preamble section of your file. + + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + Customizing Your Letter - 30 - October 1989 + + + + Command Results + ______________________ __________________________________________ + + \cypagebreak Starts the copy list at the top of the + next page. + \attachmentspagebreak Starts the list of attachments at the top + of the next page. + \distributionpagebreak Starts the distribution list at the top of + the next page. + \encpagebreak Starts the list of enclosures at the top + of the next page. + + + + 7.5. Short Letters + + \shortletterstyle + + For short letters of ten or fewer lines, the Office Procedures Manual + recommends a modified block style. The short letter style has double + spaced lines and indented paragraphs. + + To produce this type of letter, add the \shortletterstyle command to + the preamble section of your file. If you use this short letter style + and the body of your letter is over one page long, you will get a + warning message when you run LaTeX. See Appendix C for an example of + a short letter style. + + + 7.6. Preprinted Stationery + + You can use Laboratory stationery with the preprinted header on it by + including the following command in the preamble section of your file: + + \headerfonts{letterpaper} + + This command prints your header information next to the preprinted + labels. However, the information may not line up correctly with the + labels on the stationery because of the different types of printers. + If your printer is not lining up the information correctly, put the + following commands in the preamble section of your file to shift the + printed information and correct the problem. + + \letterpaperhcorr{distance} + \letterpapervcorr{distance} + + The \letterpaperhcorr command corrects the horizontal positioning, and + the \letterpapervcorr command corrects the vertical positioning. The + {distance} parameter is the amount the text must be moved and can be + an integer or decimal number. The {distance} can be expressed in + inches (in), centimeters (cm), points (pt), picas (pc), or millimeters + (mm), and it can be a positive or negative value. + + + LaTeX Letter Reference + + + + + + + October 1989 - 31 - Customizing Your Letter + + + + When you want to adjust the printing horizontally (using + \letterpaperhcorr), a positive distance moves the printed material to + the right, and a negative distance moves the print to the left. When + you want to adjust the printing vertically (using \letterpapervcorr), + a positive distance moves the printed material down on the page, and a + negative distance moves the print up on the page. + + The following table shows the effect of each command in adjusting the + printing. The n's indicate a number, and the u's indicate the + abbreviation for the unit of measure (e.g., in for inches). + + + Command Results + ______________________ ________________________________________ + + \letterpaperhcorr{+nu} Moves text to the right + \letterpaperhcorr{- Moves text to the left + nu} + \letterpapervcorr{+nu} Moves text down on the paper + \letterpapervcorr{- Moves text up on the paper + nu} + + + The following example will move the printed material of the letter to + the right 1 inch and up 2 inches. + + + ============================================================== + + \letterpaperhcorr{1in} + \letterpapervcorr{-2in} + + ============================================================== + + + + + _____________________________________________________ + + If you routinely use the same printer to print + letters on preprinted stationery, you can figure + out what distances line up the text properly for + your printer and use those distances for each + letter. You must include these commands in each + letter file. + _____________________________________________________ + + + + + + + + + LaTeX Letter Reference + + + + + + + Customizing Your Letter - 32 - October 1989 + + + + 7.7. Multiple Letters to a Mailing List + + With LaTeX letter commands, you can send a personalized letter to each + person on a mailing list. The file for multiple letters is set up + differently from the file for single letters. The \to command is + placed in the document section of the letter rather than in the + preamble section. The body of the letter is put into a file by itself + and called by the letter file for each individual address. Following + is a general format for a multiple-letter file, in which BODYFILE.TEX + is the name of the file that contains the body of the letter. + \documentstyle{laletter} + + Letter commands, such as + \mailstop + \complimentaryclose + . + . + + \begin{document} + + \to{Address for first letter} + \opening + \input{bodyfile.tex} + \closing + + \to{Address for second letter} + \opening + \input{bodyfile.tex} + \closing + + \end{document} + + It is also possible to change the salutation for each letter by + putting a \salutation command after each \to command. + + + 7.8. Mailing Labels + + You can print mailing labels with the LaTeX letter commands by putting + the following command into the preamble section. + + \makemaillabels + + When you use this command, sheets of mailing labels will be printed + after the letters have been printed. The default will produce labels + in two columns, each with seven + 1 1/2- by 4-inch labels, suitable for reproducing onto Avery brand + number 5362 address labels. + + An easy way to print mailing labels is to print them onto ordinary + paper and use a copy machine to transfer the addresses onto the sheets + of mailing labels. If you are running mailing-label paper through a + + + LaTeX Letter Reference + + + + + + + October 1989 - 33 - Customizing Your Letter + + + + laser printer or a copy machine, be sure to use paper suitable for a + laser printer. + + + 7.8.1. Return Address Labels + + You can have labels printed with a return address by putting the + following line into the preamble section. + + \returnaddress{text} + + Your address is the {text} for the \returnaddress command. The format + for the {text} is the same as used for the \to command. + + + 7.8.2. Label Size + + You can print labels on different sizes of mailing labels, as long as + they are arranged in two columns on an 8 1/2- by 11-inch piece of + paper. To indicate a specific size of mailing label, use these + commands: + + \maillabelheight{amount} + \maillabeltopmargin{amount} + + The {amount} for \maillabelheight indicates the height of each mailing + label. The default is 1.5 inches. + + At the top of a sheet of mailing labels, you will usually find a + narrow strip of paper that is not used for printing. The {amount} for + \maillabeltopmargin indicates the distance from the top of the sheet + of labels down to the top of the first label. The default is 0.25 + inch. + + The following example shows you how to print 1-inch labels that begin + 1/2 inch down from the top of the sheet. + + + ============================================================== + + \maillabelheight{1in} + \maillabeltopmargin{.5in} + + ============================================================== + + + You may find that some printers do not accurately measure an inch. If + the printing is not centered properly, try adjusting the values of + \maillabelheight and \maillabeltopmargin. A very small adjustment + will often fix the problem. + + + + + LaTeX Letter Reference + + + + + + + Customizing Your Letter - 34 - October 1989 + + + + + 7.8.3. Skipping Labels + + When you have a sheet of mailing labels with some labels peeled off, + you can use the command \skiplabels{number} in the preamble section to + specify the number of missing labels and start the printing at the + correct spot. In the following example, four labels will be skipped + in column one, and the printing will start on the fifth label in that + column. + + + ============================================================== + + \skiplabels{4} + + ============================================================== + + + + + 7.8.4. The .MLB File + + As part of the process of printing mailing labels, a temporary file + with the suffix .mlb is created. You can remove filename.mlb after + LaTeX has finished running. + + + 7.9. Floats in LaTeX Letters + + The LaTeX figure and table environments can be used in LaTeX letters. + (See LaTeX: a Document Preparation System, by Leslie Lamport, for more + information about the special environments.) To avoid splitting a + table or figure, LaTeX floats these environments to a convenient place + in the document. + + In the figure and table environments, optional placement arguments can + be included within square brackets. The arguments place the + environment at a specified place on the page, if possible. + + + Argument Results + + __________ __________________________________________________ + [h] Places the environment at the current line (here). + + [b] Places the environment at the bottom of the page. + + [t] Places the environment at the top of the page. + + [p] Places the environment on a separate page. + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 35 - Customizing Your Letter + + + + Some of the placement options can cause problems, so you should be + aware of how they can interact with the opening and the closing of the + letter. The [t] option places the float at the top of a page, so if + it is used on page one, the float will be placed above the letterhead. + If no square brackets ([ ]) are used, the placement default is [tbp] + and can place the environment above the letterhead if it is used on + the first page. + + Figure and table environments on the last page of text can also lead + to undesirable results. The last figure or table can end up on a + separate page followed by the closing and signature on an additional + page. Be sure to use the [h] option for any floating environments on + the last page and check that none of the tables and figures printed on + the last page have floated in from a previous page. The use of the + [h] will usually make it possible for the end of the letter body and + the closing to be printed on the same page. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + Summary of Commands - 36 - October 1989 + + + + APPENDIX A. SUMMARY OF LATEX LETTER COMMANDS + ______________________________________________________________________ + + + + Command Description + ______________________________ ________________________________________ + ______________________________ ________________________________________ + + Described in Preparing the Preamble section + + \documentstyle{laletter} sets up letter style for 10 point + + \documentstyle[11pt]{laletter} sets up letter style for 11 point + + \documentstyle[12pt]{laletter} sets up letter style for 12 point + + \date{text} date on letter (default is the date you + run LaTeX) + + \symbol{group} group identification + + \serialnumber{id} correspondence identification number + + \mailstop{text} Laboratory mail stop + + \telephone{text} complete telephone number + + \to{name} letter recipient + + \attn{name} attention line + + \thru{namelist} person(s) to send letter through + + \via{namelist} person(s) to send letter via + + \salutation{name} salutation line + + \subject{text} subject line + + \reference{text} supplies a reference line under the + subject line + + \usetoasheader uses name of addressee as header on + continuation pages + + \useattnasheader uses attention line as header on + continuation pages + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 37 - Summary of Commands + + + + \usesubjectasheader uses subject as header on continuation + pages + + \useotherasheader{text} uses {text} as header on continuation + pages + + \complimentaryclose{text} complimentary close line (default is + Sincerely yours,) + + \signature{name} leaves room for signature and prints + signer's name and title + + \signer{initials} initials of signer for initial line + + \originator{initials} initials of originator (if different + from signer) for initial line + + \typist{initials} initials of typist for initial line + + \enc{list} list of enclosures + + \encas gives the line: Enc. a/s (enclosure as + stated) + + \attachments{list} list of attachments + + \attachmentas gives the line: Attachment a/s (as + stated) + + \attachmentsas gives the line: Attachments a/s (as + stated) + + \cy{list} copy list + + \distribution{list} distribution list + + Described in Preparing the Document section + + \begin{document} begins letter + + \opening prints opening of letter + + \closing prints closing of letter + + \end{document} ends letter + + + + + + + + + + LaTeX Letter Reference + + + + + + + Summary of Commands - 38 - October 1989 + + + + Described in Customizing Your Letter section + + \headerfonts{font_type} determines font for header of letter + texfonts (default) + lafonts + postscript + letterpaper + + \bodyfonts{font_type} determines font for body of letter + texfonts (default) + postscript + + \typeface{type} sets typeface for body of letter + tt (default) + rm + + \expandwidth{amount} increases or decreases side margins + + \expandtopmargin{amount} increases or decreases space between the + letterhead and address + + \classlabel{label} prints classification labels (No label + is the default.) + u unclassified + c confidential + s secret + + \cypagebreak breaks page before copy list + + \attachmentspagebreak breaks page before list of attachments + + \distributionpagebreak breaks page before distribution list + + \encpagebreak breaks page before list of enclosures + + \shortletterstyle format for short letters (double-spacing + and indented paragraphs) + + \letterpaperhcorr{distance} corrects horizontal alignment of letter + paper + + \letterpapervcorr{distance} corrects vertical alignment of letter + paper + + \makemaillabels prints mailing labels for letters + + \returnaddress{text} prints return address for labels + + \maillabelheight{amount} specifies height of mailing label + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 39 - Summary of Commands + + + + \maillabeltopmargin{amount} specifies distance from the top of a + sheet of labels to top of first label + + \skiplabels{number} starts printing at first usable label + after number of labels + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + Syntax and Conventions - 40 - October 1989 + + + + APPENDIX B. SYNTAX RULES AND DOCUMENTATION CONVENTIONS + ______________________________________________________________________ + + + B.1. Syntax Rules + + The following syntax rules apply to the LaTeX letter commands: + + o Commands in the preamble section are not order dependent. That + is, you can specify them in any order. + + o Spaces before and after braces ({ }) are ignored. + + o You can continue a command over multiple lines. However, you + should split the line at a space. + + o You can specify only one preamble command per line. + + o You can separate fields inside the braces ({ }) by a double + backslash (\\), or you can repeat the command with new + information inside the braces. + + + Note that these rules do not apply to the standard LaTeX commands (for + example, \documentstyle, \begin{document}, and \end{document}). + + + B.2. Documentation Conventions + + The following standards and conventions are used in C-Division + publications. + + o The italicized characters are symbolic names that you must + replace with a name or value. + + o Filenames are written in uppercase characters. + + o Square brackets ([]) denote optional input. + + o To enter a command at a terminal, you must end the line with a + return (or end-of-line keystroke) to send the command to the + computer. In most cases, the return is not shown in the command + line or example; in others it is shown as <RETURN>, which + indicates pressing the key marked return or its equivalent. + + o Examples show exactly what you type and are always shown enclosed + with double lines. + + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 41 - Example Letters + + + + APPENDIX C. EXAMPLE LETTERS + ______________________________________________________________________ + + This appendix contains examples of letters that have been created with + the LaTeX letter commands. The examples show the four types of + headers that are available for letters, as well as some of the various + combinations of body fonts and typefaces. The body of each letter + explains what features to notice about that particular letter. In + each example, you will see the LaTeX source file that produced the + letter, followed by the resulting letter. + + The size of the actual example letters is reduced for display + purposes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + Example Letters - 42 - October 1989 + + + + + Example 1. Typical Letter + + \documentstyle[12pt]{laletter} + \nocallouts + \symbol{ST-5} + \serialnumber{89-213} + \to{Genie Electronics\\ + \attn{Mr.\ Robert Mercer, Sales Manager}\\ + P.O. Box 8501\\ + Midwest City, OK 73110} + \salutation {Dear Mr.\ Mercer:} + \subject{typical letter} + \complimentaryclose {Sincerely yours,} + \signature {Gregory L. Stevenson\\ + Engineering and Development Group Leader} + \signer {GLS} + \typist {sd} + \cy {CRMO (2), MS A150\\ + File} + \headerfonts{lafonts} + \bodyfonts{texfonts} + \typeface{tt} + + \begin{document} + \opening + This example shows what a typical letter might look like. It uses + the lafonts option for the header and the texfonts option for the + body of the letter. The body has the typewriter typeface with a + point size of 12. This letter has no printed callout labels in the + upper right corner. + + Remember that LaTeX interprets a blank line as the start of a new + paragraph, and that any of the special characters \#,\$,\%, + \&, \{, and \} must be preceded by a backslash. To produce double + quotes in typewriter typeface, use the " key on your keyboard. + + The spacing and indentation of the preamble commands make the + file easier to read; the outcome of your file is not affected. + The preamble section begins with the $\backslash$documentstyle + command and continues to the $\backslash$begin\{document\} + command where the document section starts. + + I hope this sample letter will help you produce letters with LaTeX. + \closing + \end{document} + + + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 43 - Example Letters + + + + ______________________________________________________________________ + + The hardcopy version of this document contains a figure in this space. + ______________________________________________________________________ + + + Example 2. Short Letter Style + + \documentstyle{laletter} + \date{January 25, 1989} + \symbol{C-12} + \serialnumber{89-567} + \mailstop{B296} + \telephone{(505) 667-7877} + \subject{PostScript Printing of Letters} + \to{S. D. Thompson\\Department of Business Practice\\ + ABC Business College\\4501 Sycamore Street\\Oakmont, OK} + \salutation{Dear Professor Thompson:} + \complimentaryclose{Sincerely yours,} + \signer{mbt} + \typist{tyj} + \signature{Michael B. Tole\\Computer User Services} + \cy{CRMO (2), MS A150\\C-10 File} + \shortletterstyle + \headerfonts{postscript} + \bodyfonts{postscript} + \classlabel{u} + + \begin{document} + \opening + + This letter is in the short-letter format. It was printed with a + PostScript printer using PostScript fonts for both the header and + the body. The print defaulted to a point size of 10. The + classification label is printed in black on only the front of the page. + + Notice how to input a sentence that ends in an uppercase letter, such + as a sentence about CFS\@. This TeX procedure gives the correct + space when a period follows an uppercase letter. Also notice the + $\backslash$date command is included so that the date will appear + as January 25, 1989, even though that date is not the date at the time + of printing. + + \closing + \end{document} + + + + + + + + + + LaTeX Letter Reference + + + + + + + Example Letters - 44 - October 1989 + + + + ______________________________________________________________________ + + The hardcopy version of this document contains a figure in this space. + ______________________________________________________________________ + + + Example 3. Letter on Preprinted Stationery + + \documentstyle{laletter} + \symbol{A-DO} + \serialnumber{89-14} + \mailstop{J356} + \telephone{(505) 665-9321} + \to{R. K. Thome\\L. L. Smith and Company\\P. O. Box 421\\ + Cleveland, Ohio 45690} + \salutation{Dear Ms.\ Thome:} + \subject{Letter Printed on Preprinted Stationery} + \complimentaryclose{Very truly yours,} + \signature{L. G. Gordon, Section Leader\\ + Analysis and Assessment Division} + \signer{lgg} + \typist{ker} + \headerfonts{letterpaper} + \letterpaperhcorr{+.05in} + \letterpapervcorr{+.05in} + \bodyfonts{postscript} + \typeface{rm} + \attachmentas + \begin{document} + \opening + + This letter was printed on preprinted stationery. Notice that the + $\backslash$letterpaperhcorr and $\backslash$letterpapervcorr commands + are used to line up the information with the labels. The body font + is the PostScript font, and the typeface is in Roman type. + Emphasized text (like {\em this}) is printed in italics. + + Notice that you can use the equation formatting that TeX and LaTeX + are known for. This feature is useful if your letters contain + equations like \[ x = \frac{-b \pm \sqrt{b^{2}-4ac} } {2a} \] + + You can also use tables like the following: + + \begin{tabular} {c c c c c} + \sl Year & \sl Simple Interest & \sl Annual Comp. & + \sl Daily Comp. & \sl Continuous\\ + 0 & 5000.00 & 5000.00 & 5000.00 & 5000.00\\ + 1 & 5400.00 & 5400.00 & 5416.37 & 5416.44\\ + 2 & 5800.00 & 5832.00 & 5867.42 & 5867.55 + \end{tabular} + \closing + \end{document} + + + LaTeX Letter Reference + + + + + + + October 1989 - 45 - Example Letters + + + + ______________________________________________________________________ + + The hardcopy version of this document contains a figure in this space. + ______________________________________________________________________ + + + Example 4. Letter with Multiple Addressees + + \documentstyle[12pt]{laletter} + \typeface{rm} + \date { } + \symbol {IS-DO} + \serialnumber {89-144} + \mailstop {P360} + \telephone {(505) 667-4355\\(FTS) 843-4355} + \to{John Binnington, Manager\\Technical Information Division\\ + Brookhaven National Laboratory\\Upton, Long Island, NY 11973} + \to{R. R. Dickison, Manager\\Library System\\ + Oak Ridge National Laboratory\\ Oak Ridge, TN 37830} + \to{Juanita L. Garcia\\Library Science Specialist\\ + Sandia National Laboratories\\Albuquerque, NM 87115} + \to{Robert Lormand\\Solar Energy Research Institute\\ + 1536 Cole Boulevard\\ Golden, CO 80401} + \salutation {Ladies and Gentlemen:} + \subject {Letter with Multiple Addressees} + \reference{Your letter of January 8, 1989} + \complimentaryclose{Sincerely yours,} + \signature{Agnes J. Luise, Librarian\\Information Services Division} + \signer{ajl} + \originator {rsg} + \typist{gh} + \enc{Letter, Smith to Jones, June 25, 1986\\ + Letter, Landau to Gresham, March 1, 1987} + \cy {CRMO (2), w/enc., MS A150\\File, w/enc.} + + \begin {document} + \opening + + This letter has a header that was created by the default texfonts + and a body using texfonts with Roman typeface. The list of addresses + is printed in two columns. When there is an uneven number in the + list, the left column will contain the extra address. + + Notice that both the subject line and the reference line are printed + in uppercase characters. The enclosure list is automatically + numbered. + + These commands can help you prepare your next LaTeX letter. + \closing + \end {document} + + + + + LaTeX Letter Reference + + + + + + + Example Letters - 46 - October 1989 + + + + ______________________________________________________________________ + + The hardcopy version of this document contains a figure in this space. + ______________________________________________________________________ + + + Example 5. Multiple Letters with Mailing Labels + + \documentstyle[11pt]{laletter} + \date{August 1, 1989} + \symbol{A-DO} + \serialnumber{89-14} + \mailstop{J356} + \telephone{(505) 665-9321} + \subject{Multiple Letters to a Mailing List} + \usesubjectasheader + \complimentaryclose{Very truly yours,} + \signature{L. G. Gordon, Section Leader\\ + Analysis and Assessment Division} + \signer{lgg} + \typist{ker} + \headerfonts{postscript} + \bodyfonts{texfonts} + \typeface{rm} + \enc{Letter, Smith to Jones, June 25, 1986\\ + Letter, Landau to Gresham, March 1, 1987\\ + Letter Egon to Poulan, August 13, 1988\\ + Memo, Martinite to Distribution, September 30, 1988} + \cy{CRMO (2), MS A150\\C-12 File} + \makemaillabels + \returnaddress{L. G. Gordon, MS J356\\ + Analysis and Assessment Division\\ + Los Alamos National Laboratory\\Los Alamos, NM 87545} + + \begin{document} + \to{John Binnington, Manager\\L. L. Smith and Company\\ + P. O. Box 9871\\ Cleveland, Ohio 45690} + \salutation{Dear Mr.\ Binnington:} + \opening + \input{bodyfile.tex} + \closing + + \to{Roy Nielson\\Lawrence Berkeley Laboratory\\ + University of California\\Berkeley, CA 94720} + \salutation{Dear Dr.\ Nielson:} + \opening + \input{bodyfile.tex} + \closing + + \to{Ramon J. Martinez\\Technical Library\\ + Sandia National Laboratories\\ Albuquerque, NM 87115} + \salutation{Dear Mr.\ Martinez:} + + + LaTeX Letter Reference + + + + + + + October 1989 - 47 - Example Letters + + + + \opening + \input{bodyfile.tex} + \closing + + \to{James R. Jones\\Brown and Co.\\3685 North 13th St.\\ + Chicago, IL 67834} + \salutation{Dear Mr.\ Brown:} + \opening + \input{bodyfile.tex} + \closing + + \end{document} + + + + Input Text File (BODYFILE.TEX) + + This is an example of a letter that can be sent to individuals on a + mailing list. Each letter has a unique address and greeting, but the + text is identical for all the letters. + The individual addresses are entered in your LaTeX letter file, and + the body of the letter is placed in a separate file that is called for + each letter by the $\backslash$input command. A mailing label and a + return address label are printed for each letter. + + Other features in this letter are + \begin{itemize} + \item The date is specified so all letters will have the same date + no matter when they are run through LaTeX. + \item The header is done with PostScript fonts, and the body is + done with the Computer Modern fonts in a point size of 11. + \item The enclosures appear in a numbered list. + \end{itemize} + + + + + + + + + + + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + Example Letters - 48 - October 1989 + + + + ______________________________________________________________________ + + The hardcopy version of this document contains a figure in this space. + ______________________________________________________________________ + + ______________________________________________________________________ + + The hardcopy version of this document contains a figure in this space. + ______________________________________________________________________ + + Mailing Labels and Return Address Labels + ______________________________________________________________________ + + The hardcopy version of this document contains a figure in this space. + ______________________________________________________________________ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 49 - Installing the Style File + + + + APPENDIX D. INSTALLING THE LATEX LETTER STYLE FILE + ______________________________________________________________________ + + The LaTeX letter style file must be installed on your computer before + you can use the LaTeX letter commands. If you are not sure if the + style file has been installed, check with your system manager. If you + are responsible for installing the style file, this appendix gives you + the information you need. + + + _____________________________________________________ + + This appendix assumes you already have TeX and + LaTeX running on your system. + _____________________________________________________ + + + + This appendix describes the procedures for finding the instructions + for installing the LaTeX letter style file on these computers: + + o IBM PC + + o Sun workstation + + o Apollo workstation + + o VAX/VMS + + o VAX/UNIX + + To install the letter style file on all of the above systems except + the IBM PC, you need to be a validated user of the Los Alamos + Integrated Computing Network (ICN). You must also be familiar with + the GET command of the CFS utility and with the NTEXT utility. + + + _____________________________________________________ + + For more information about the CFS utility, see + the Common File System CFS Interface Reference + manual. For more information about the STEXT + and NTEXT utilities, see the STEXT and NTEXT + Reference. You can order these documents with + the Documentation Request Form in the back of + this document. + _____________________________________________________ + + + + You will be using the following files in the installation procedures; + they are stored on CFS and are in standard text format. + + + LaTeX Letter Reference + + + + + + + Installing the Style File - 50 - October 1989 + + + + o README.STD-tells you where to find the letter style file and + includes installation instructions. For VMS, this file is named + LATEXLETTER.STD. + + o LALETTER.STY-the style file that is used when you run LaTeX on + your letter input file. + + o LETTEST.TEX-a test letter that you can use to see if you have + installed the letter style file correctly. + + A commented version of the LALETTER.STY file, LALETTER.DOC, is + available on CFS. If you want to make your own changes to the + LALETTER.STY file, you will find this commented version useful. Check + the README.STD file for the CFS pathname for LALETTER.DOC. + + D.1. On the IBM PC + + You can purchase a diskette from MEC-9 that has the LANL letter style + file on it. The diskette is called TeX Files for LANL. It contains + the LaTeX memo and letter style files, as well as LANL's memo and + letter fonts. The file LALETTER.DOC is not included on the MEC-9 + diskette, but it can be found on CFS. The file named README.LA will + show you how to use the installation script that is also on the + diskette. + + If you prefer to get the letter style file from CFS, you can find out + about the installation procedure for your IBM PC with the following + steps: + + 1. >From your PC, sign on to the ICN computer of your choice by + using VTERM or some other communications software. + + 2. While on the ICN computer, + + Use the CFS utility GET command to retrieve the following + file from CFS: + + /tex/macros/c-2/latexletter/ibmpc/readme.std + + Use the NTEXT utility to convert README.STD to native text + format. + + Look in the NTEXTed README.STD file to find the complete + installation instructions. + + + + + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 51 - Installing the Style File + + + + D.2. On the Sun Workstation + + The following steps tell you how to get information about installing + the LaTeX letter style file on the Sun workstation: + + 1. Use the CFS utility GET command to retrieve the following file + from CFS: + + /tex/macros/c-2/latexletter/sununix/readme.std + + 2. Use the NTEXT utility to convert the file from standard text + format to native text format. + + 3. Look in the NTEXTed README.STD for the complete installation + instructions. + + + D.3. On the Apollo Workstation + + The following steps tell you how to get information about installing + the LaTeX letter style file on the Apollo workstation: + + 1. Use the CFS utility GET command to retrieve the following file + from CFS: + + /tex/macros/c-2/latexletter/apollo/readme.std + + 2. Use the NTEXT utility to convert the file from standard text + format to native text format. + + 3. Look in the NTEXTed README.STD file for the complete + installation instructions. + + + + D.4. On VAX/VMS + + The following steps tell you how to get information about installing + the LaTeX letter style file on VAX/VMS: + + 1. Use the CFS utility GET command to retrieve the following file + from CFS: + + /tex/macros/c-2/latexletter/vaxvms/readme.std + + + 2. Use the NTEXT utility to convert the file from standard text + format to native text format. + + 3. Look in the NTEXTed README.STD for the complete installation + instructions. + + + + LaTeX Letter Reference + + + + + + + Installing the Style File - 52 - October 1989 + + + + + + D.5. On VAX/UNIX + + The following steps tell you how to get information about installing + the LaTeX letter style file on VAX/UNIX: + + 1. Use the CFS utility GET command to retrieve the following file + from CFS: + + /tex/macros/c-2/latexletter/vaxunix/readme.std + + 2. Use the NTEXT utility to convert the file from standard text + format to native text format. + + 3. Look in the NTEXTed README.STD file for the complete + installation instructions. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 53 - Warning and Error Messages + + + + APPENDIX E. WARNING AND ERROR MESSAGES + ______________________________________________________________________ + + You can receive two types of error messages when running your letter + file through LaTeX-error messages from doing something wrong with the + letter commands and error messages from doing something wrong with the + standard LaTeX commands. The error messages that come from standard + LaTeX commands are interactive and are explained in the chapter titled + "LaTeX Errors" in An Introduction to LaTeX by Michael Urban. The + error messages that come from the letter commands are not interactive, + and the fatal error messages will cause LaTeX to abort. The letter- + command error messages are listed below. + + E.1. Warning Messages + + The following are warning messages that you might receive when using + the LaTeX letter commands. These messages remind you that you might + be leaving something important out of your letter; they do not affect + the printing of your letter. + + + E.1.1. Leaving Out Information + + These warning messages occur if you leave out one of the letter + commands. Omitting the \signer command leaves the signer's initials + out of the initial line. When the \complimentaryclose command is not + used, the default \complimentaryclose{Sincerely yours,} will be used. + Leaving out the other commands mentioned in these warning messages + causes one of the letterhead labels at the top of the letter to be + left blank. + + + Warning: you have not called \salutation before calling \opening. + + For example, use + + \salutation{Dear Henry,} + + Warning: you have not called \complimentaryclose before calling + \opening. \complimentaryclose{Sincerely Yours,} will be used + by default. + + + Warning: you have not called \signature before calling \opening. + + For example, use + + \signature{Betty J. Donaldson} + + + + + + + LaTeX Letter Reference + + + + + + + Warning and Error Messages - 54 - October 1989 + + + + Warning: you have not called \signer before calling \opening. + + For example, use + + \signer{BJD} + + + Warning: you have not specified an address before calling \opening. + + Use \to to specify an address, for example + + \to{Vieno Severi Alanne \\ + 414 Rio Seco \\ + Santa Fe, NM 87501} + + Warning: you have not specified the callout \symbol + before calling \opening. + + For example, use + + \symbol{C-2} + + + Warning: you have not specified the callout \mailstop + before calling \opening. + + For example, use + + \mailstop{B253} + + Warning: you have not specified the callout \telephone + before calling \opening. + + For example, use + + \telephone{(505) 665-0859} + + + Warning: you have called \serialnumber, but you have not called + \symbol. + + For example, use + + \symbol{C-2} + + + + + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 55 - Warning and Error Messages + + + + + + E.1.2. Letter Too Long for \shortletterstyle + + Warning: Use of the \shortletterstyle macro is intended + for use with letters of ten lines or less. + + + E.1.3. Using the Almost Modern (AM) Fonts + + Warning: You are using the obsolete Almost Modern (AM) fonts. + + Only cursory debugging has been attempted using AM fonts. + The Computer Modern (CM) fonts are fully supported by + laletter. + + + E.1.4. Contradictory Information + + There are pairs of commands that cannot both be specified within the + same letter. + + Warning: You have used both \enc and \encas. + Use one or the other but not both. + "Enc. a/s" will not be printed on this letter. + + Warning: You have used both \attachments and \attachmentas. + Use one or the other but not both. + "Attachment a/s" will not be printed on this letter. + + Warning: You have used both \attachments and \attachmentsas. + Use one or the other but not both. + "Attachments a/s" will not be printed on this letter. + + Warning: You have used both \attachmentas and \attachmentsas. + Use one or the other but not both. + "Attachment a/s" will not be printed on this letter. + + Warning: you have used both \thru: and \via: in this letter. + Use one or the other, but not both. + + Warning: you have called \leftto and/or \rightto as well as \to. + All addresses called by \to will be printed in the left + column. + + + Some commands can only be used if another command is also being used. + + + + + + + + LaTeX Letter Reference + + + + + + + Warning and Error Messages - 56 - October 1989 + + + + Warning: you specified \useattnasheader, + yet you have not called \attn. + + The first line of the addressee will be used + on headers after page one. + + + Warning: you specified \usesubjectasheader, + yet you have not called \subject. + + The first line of the addressee will be used + on headers after page one. + + + E.1.5. Using \attn Outside of \to + + Warning: \attn must be used only within the argument of \to, + for example, + + \to{Genie Electronics \\ + \attn{Mr. Robert Mercer, Sales Manager} \\ + P.O. Box 8501 \\ + Midwest City, OK 73110} + + + E.2. Fatal Errors + + The following errors will cause your letter to not be printed. If you + receive one of these error messages, you must go back to your + filename.tex file to correct the error and then rerun the file through + LaTeX. + + + E.2.1. Invalid Classification Label + + Note that x in the following error message is replaced with the actual + invalid classification label you specified in your letter file. + + Fatal error: \classlabel{x} calls for an invalid classification label. + + To print CONFIDENTIAL on the top and bottom of your letter, + use \classlabel{c} + + To print SECRET on the top and bottom of your letter, + use \classlabel{s} + + To print UNCLASSIFIED on the top and bottom of your letter, + use \classlabel{u} + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 57 - Warning and Error Messages + + + + If you do not want a classification label on your letter, + use \classlabel{} + or do not use the \classlabel command. + + Change your file, and rerun LaTeX. + + + E.2.2. Duplicating \classlabel Commands + + Fatal error: you have called \classlabel more than once, or you have + called \classlabel after having called \begin{document}. + + You are allowed to declare only one classification label per letter. + You must call \classlabel before using \begin{document}. + + To print CONFIDENTIAL on the top and bottom of your letter, + use \classlabel{c} + + To print SECRET on the top and bottom of your letter, + use \classlabel{s} + + To print UNCLASSIFIED on the top and bottom of your letter, + use \classlabel{u} + + If you do not want a classification label on your letter, + use \classlabel{} + or do not use the \classlabel command. + + Change your file, and rerun LaTeX. + + + E.2.3. Specifying an Invalid Typeface + + Note that typename in the following error message is replaced with the + actual invalid typeface you specified in your letter file. + + + Fatal error: \typeface{typename} calls for an invalid typeface. + + Use \typeface{tt} or \typeface{rm} + + Change your file, and rerun LaTeX. + + + E.2.4. Specifying an Invalid Font for Letter Body + + Note that fontname in the following error message is replaced with the + actual invalid font you specified in your letter file. + + + + + + + LaTeX Letter Reference + + + + + + + Warning and Error Messages - 58 - October 1989 + + + + Fatal error: \bodyfonts{fontname} calls for an invalid font. + + Use \bodyfonts{texfonts} or \bodyfonts{postscript} + depending on what fonts are available on your machine. + + Using \bodyfonts{} will give you the default fonts. + + Change your file, and rerun LaTeX. + + + E.2.5. Specifying an Invalid Font for Letter Header + + Note that fontname in the following error message is replaced with the + actual invalid font you specified in your letter file. + + + Fatal error: \headerfonts{fontname} calls for an invalid font. + + Use \headerfonts{lafonts}, \headerfonts{texfonts}, + or \headerfonts{postscript} depending on what fonts + are available on your machine. + + Using \headerfonts{} will give you the default fonts. + + Use \headerfonts{letterpaper} if you wish to print your letter + on pre-printed letter paper. + + Change your file, and rerun LaTeX. + + + + E.2.6. Using an Obsolete Version of Lafonts + + Fatal error: Your system is using an obsolete version of lafonts. + + See the manual TeX Fonts for Los Alamos Memos and Letters + Installation Reference. To order, use the Documentation Request + Form at the back of this document. + + + + + + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 59 - Glossary + + + + APPENDIX F. GLOSSARY OF TERMS AND ACRONYMS + ______________________________________________________________________ + + + AM (Almost Modern) fonts + The fonts that were originally used with TeX. LaTeX letter does + not support these fonts. + + callout labels + Preprinted labels that identify information printed in the letter + head. Labeled information includes the date and the originating + group's name, correspondence identification number, mailstop, and + telephone number. + + CFS (Common File System) + The Los Alamos centralized filing system that has virtually + unlimited storage space. + + CIC (Computing Information Center) + The CIC is the distribution center for software and for + documentation describing the computers, operating systems, and + software available at Los Alamos. + + CM (Computer Modern) fonts + The fonts that are included with the current version of TeX. + These fonts have replaced the Almost Modern (AM) fonts. + + default + The value or option that is used when no value or option is + explicitly given. + + document section + The second section of a LaTeX letter file. It contains the + commands and text the produce the body of the letter. + + distributed processor (DP) + A minicomputer owned by a user organization and connected to the + ICN through the XNET gateway. The distributed processor supports + interactive terminal access to the ICN. + + DVI file + The device-independent output file that TeX produces. This file + cannot be printed directly on any printer but must be converted + into a format that your printer can understand. A device driver + that is compatible with your printer performs this conversion. + + font + A collection of characters of a given size and appearance. + + + + + + + LaTeX Letter Reference + + + + + + + Glossary - 60 - October 1989 + + + + header + The printed letterhead on stationery. It features the Los Alamos + logo and may or may not have printed callout labels. + + macro package + A group of macro definitions (defined TeX commands) that are + usually in one file and that define an integrated series of + commands. + + PAGES (Print and Graphics Express Station) + The ICN node that is used to produce both print output and + graphics output. You can pick up your output by the CCF + Dispatchers Desk at TA-3; the output is sorted by the last two + digits of your Z-number. + + parameter + A quantity that may be given different values. + + preamble section + The first section of a LaTeX letter file. It contains the + commands that define the opening and closing of a letter. + + special environments + A type of LaTeX construction for producing a display such as an + equation, table, or figure. + + style file + A file that tells LaTeX how to format a document that uses this + style file. There are four style files that come with LaTeX + (BOOK.STY, REPORT.STY, ARTICLE.STY, and LETTER.STY). Style files + have a .STY extension after the filename and are accessed by the + \documentstyle command in LaTeX. + + syntax rules + The rules that govern the structure of program commands. + + TeX + A document formatting language that is used to prepare high- + quality technical manuscripts. It is particularly suitable for + mathematical and tabular work. + + typeface + A style of character with given dimensions and line thickness. + + utility + A system program that exists as a public file on a system and can + be accessed directly with an execute line. + + + + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 61 - Glossary + + + + workstation + Usually a desktop computer containing its own operating system and + computing resources, possibly sharing resources with other + workstations in a local area network (LAN). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + October 1989 - 63 - Reader Comments Form + + + + READER COMMENTS FORM + ______________________________________________________________________ + + + Date_______________ Name________________________________________ + + Group_________________ Mail Stop____________ Phone_______________ + + Organization* _______________________________________________________ + + Street* _____________________________________________________________ + + City/State/Zip* ____________________________________________________ + *PLEASE COMPLETE IF YOU ARE NOT AT LOS ALAMOS. + + PLEASE ANSWER THE FOLLOWING QUESTIONS. Your comments help us improve + the quality and usefulness of this documentation. + + Are you an experienced computer user? yes _____ no _____ + + Is the information in this document easy to find? yes _____ no _____ + + Are the purpose and function of each chapter clear? yes _____ no _____ + + Does this document provide correct information? yes _____ no _____ + + Does this document fully explain the subject? yes _____ no _____ + + Are there enough examples in this document? yes _____ no _____ + + Did this document meet your expectations? yes _____ no _____ + + Do you think you will use this document again + when your needs change? yes _____ no _____ + + Please use the space below (and additional pages if needed) for + questions not addressed above or for expansion of responses. In + particular, please explain responses marked "no." When possible, + please give specific page references. + ______________________________________________________________________ + + ______________________________________________________________________ + + ______________________________________________________________________ + + Thank you for your help. + + + + + + + + + LaTeX Letter Reference + + + + + + + + + + + + + + + + + + + + + + + fold + + ______________________________________________________________________ + + + + + + + + + LOS ALAMOS NATIONAL LABORATORY + COMPUTER DOCUMENTATION + MAIL STOP B253 + LOS ALAMOS, NEW MEXICO 87545 + + + + + + + + ______________________________________________________________________ + + fold and staple + + + + + + + + + + + + + + + + + + + + + + + + + October 1989 - 65 - Documentation Request Form + + + + DOCUMENTATION REQUEST FORM + ______________________________________________________________________ + + + Z-Number__________ Name_______________________ Date_____________ + + Group_________________ Mail Stop____________ Phone_____________ + + Cost Code__________________________ Program Code____________________ + + Organization* ________________________________________________________ + + Street* ______________________________________________________________ + + City/State/Zip* ______________________________________________________ + *PLEASE COMPLETE IF YOU ARE NOT AT LOS ALAMOS. + + DOCUMENT ORDER** + + Send me the following documents: + + [ ] An Introduction to LaTeX, by Michael Urban (Charge) (CIC#913) + + [ ] LaTeX: A Document Preparation System, by Leslie Lamport (Charge) + (CIC#560) + + [ ] Common File System CFS Interface Reference (CIC#895) + + [ ] DVIPAGES: TEX DVI to PAGES Quick Steps (CIC#939) + + [ ] LaTeX Memo Reference (CIC#1025) + + [ ] STEXT and NTEXT Reference (CIC#1002) + + [ ] TeX Fonts for Los Alamos Memos and Letters Installation Reference + (CIC#1128) + + [ ] _________________________________________________________________ + **Documents can also be ordered by using ECCOS, the Electronic Card + Catalog and Ordering System. Access ECCOS by following these + directions. + - Choose CCVAX from the port selector menu or from the menu + on Machine G. + - When CCVAX prompts for Username, type CICUSR. + - At the prompts, type your Z-number and ICN password. + - Wait for the menu to appear on the screen and follow its + directions. + + Monthly Computing Publications Subcription Requests + + o Computing and Communications Division News [] Start [] Cancel + + + + LaTeX Letter Reference + + + + + + + Documentation Request Form - 66 - October 1989 + + + + o ICN Change Bulletin [] Start [] Cancel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LaTeX Letter Reference + + + + + + + + + + + + + + + + + + + + + + + fold + + ______________________________________________________________________ + + + + + + + + + LOS ALAMOS NATIONAL LABORATORY + COMPUTING INFORMATION CENTER + MAIL STOP M996 + LOS ALAMOS, NEW MEXICO 87545 + + + + + + + + ______________________________________________________________________ + + fold and staple + + + + + + + + + + + + + + + + + + + + + + + + + Index - 68 - October 1989 + + + + INDEX + ______________________________________________________________________ + + Address, 11 \originator, 17-18 + Attachments, 19 \reference, 15 + Attention line, 13 \returnaddress, 33 + \rightto, 11 + Backslash (), 6 \salutation, 14 + Body of letter, 22, 26 \serialnumber, 9-10 + Braces ({ }), 6 \shortletterstyle, 30 + \signature, 17 + Callout labels, 8 \signer, 17-18 + Classification labeling, 28 \skiplabels, 34 + Commands \subject, 13-14 + \attachments, 19-20 \symbol, 9-10 + \attachmentsas, 20 \telephone, 11 + \attachmentspagebreak, 29-30 \thru, 12-13 + \attn, 12 \to, 8, 11-12 + \begin{document}, 22 \typeface, 26-27 + \bodyfonts, 27 \typist, 17-18 + \classlabel, 28 \useattnasheader, 15 + \closing, 22 \useotherasheader, 16 + \complimentaryclose, 17 \usesubjectasheader, 15 + \cy, 20-21 \usetoasheader, 15 + \cypagebreak, 29-30 \via, 13 + \date, 9 \}attachmentas, 20 + \distribution, 20-21 Complimentary close, 17 + \distributionpagebreak, 29-30 Continuation pages, 15 + \documentstyle Copy list, 20 + explanation of, 7-8 Customizing a letter, 25 + point sizes, selecting, 7-8 + \enc, 18-19 Date, 9 + \encas, 18-19 Defaults, 6 + \enclosurespagebreak, 29-30 Distribution list, 20 + \encpagebreak, 30 Document section, 5, 22 + \end{document}, 22 Documentation conventions, 40 + \expandtopmargin, 28 Double backslash, 11 + \expandwidth, 28 + \headerfonts, 25-26, 30 Enclosures, 18 + \input, 46 Error messages, 58 + \leftto, 11-12 fatal errors, 58 + \letterpaperhcorr, 30-31 duplicating classification, 57 + \letterpapervcorr, 30-31 invalid classification, 56-57 + \maillabelheight, 33 invalid font, 57-58 + \maillabeltopmargin, 33 invalid typeface, 57 + \mailstop, 10 obsolete lafonts, 58 + \makemaillabels, 32 warnings, 53 + \newpage, 29-30 Almost Modern fonts, 55 + \nocallouts, 8 attn error, 56 + \opening, 22 contradictory information, 55 + + + + + LaTeX Letter Reference + + + + + + + October 1989 - 69 - Index + + + + leaving out information, 53-54 LaTeX video course, 4 + letter too long, 55 LaTeX video courses, 4 + using letters too big, 55 Letter paper + Error Messages, 52 lining up, 30 + Example + \date command, 43 Mail stop, 10 + classification, 43 Mailing labels, 33 + PostScript fonts, 43 Mailing Labels, 32 + short letter style, 43 Mailing list, 32 + Example letters, 41 Multiple letters, 32 + Examples + equations, 44 No callouts, 8 + lafonts, 42, 45 + mailing labels, 46 Office Procedures Manual, 4 + multiple addresses, 45 + no printed callouts, 42 Page breaks, controlling, 29 + PostScript fonts, 46 PAGES, 24 + preprinted stationery, 44 Point sizes, changing, 7-8 + return address labels, 46 Preamble, 5, 7-8, 10-15, 17-18, + Roman typeface, 44, 46 20-21 + tables, 44 Preamble section, 5 + TeXfonts, 42, 45 Preprinted stationery, 30 + to a mailing list, 46 Prerequisites, 3 + Typewriter typeface, 42 Printing a letter, 22-24 + + Figures, 34 Reference line, 15 + Floats, 34 Return address labels, 33 + Fonts + body of letter, 27 Salutation, 14 + header of letter, 25-26 Short letter form, 30 + lafonts, 25-26 Signature, 17 + postscript fonts, 25-27 Skipping labels, 34 + texfonts, 25-27 Subject line, 14 + Summary of commands, 36-38 + General format of a letter, 5 Syntax rules, 40 + Systems that can use letter + Header style, 25 commands, 3 + + In Reply Refer To, 9 Tables, 34 + Initial line, 18 Telephone number, 10 + Installing the letter style file, Thru, 13 + 49-52 Typefaces + Apollo workstation, 51 Roman, 26-27 + IBM PC, 50 typewriter, 26-27 + Sun workstation, 51 + VAX/UNIX, 52 Via, 13 + VAX/VMS, 51-52 + Warning Messages, 52 + LaTeX letter file, 5 + + + + + + LaTeX Letter Reference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ______________________________________________________________________ + + Copyright, 1990, The Regents of the University of California. This + document was produced under a U.S. Government contract (W-7405-ENG-36) + by the Los Alamos National Laboratory, which is operated by the + University of California for the U.S. Department of Energy. The U.S. + Government is licensed to use, reproduce, and distribute this + document. Permission is granted to the public to copy and use this + document without charge, provided that this notice and any statement + of authorship are reproduced on all copies. Neither the Government + nor the University makes any warranty, express or implied, or assumes + any liability or responsibility for the use of this document. + + All Los Alamos computers, computing systems, and their associated + communications systems are to be used only for official business. The + Computing and Communications Division and the Operational + Security/Safeguards Division have the responsibility and the authority + to periodically audit users' files. + + + + + + + + + diff --git a/macros/latex209/contrib/laletter/laletter.sty b/macros/latex209/contrib/laletter/laletter.sty new file mode 100644 index 0000000000..432962600c --- /dev/null +++ b/macros/latex209/contrib/laletter/laletter.sty @@ -0,0 +1,2003 @@ +\typeout{Document Style laletter. September 18, 1989} +% +% Steve Sydoriak wrote this software. +% +% Copyright, 1990, The Regents of the University of California. +% This software was produced under a U.S. Government contract +% (W-7405-ENG-36) by the Los Alamos National Laboratory, which is +% operated by the University of California for the U.S. Department +% of Energy. The U.S. Government is licensed to use, reproduce, +% and distribute this software. Permission is granted to the public +% to copy and use this software without charge, provided that this +% notice and any statement of authorship are reproduced on all +% copies. Neither the Government nor the University makes any +% warranty, express or implied, or assumes any liability or +% responsibility for the use of this software. +% +\def\thebibliography#1{% +\par% +\vspace{\baselineskip}% +REFERENCES% +\list% +{[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth +\advance\leftmargin\labelsep +\usecounter{enumi}}% +\def\newblock{\hskip .11em plus .33em minus .07em}% +\sloppy\clubpenalty4000\widowpenalty4000 +\sfcode`\.=1000\relax}% +\let\endthebibliography=\endlist +\setcounter{topnumber}{2} +\def\topfraction{.7} +\setcounter{bottomnumber}{1} +\def\bottomfraction{.3} +\setcounter{totalnumber}{3} +\def\textfraction{.2} +\def\floatpagefraction{.5} +\setcounter{dbltopnumber}{2} +\def\dbltopfraction{.7} +\def\dblfloatpagefraction{.5} +\long\def\@makecaption#1#2{% +\vskip 10pt +\setbox\@tempboxa\hbox{#1: #2}% +\ifdim \wd\@tempboxa >\hsize % +#1: #2\par % +\else % +\hbox to\hsize{\hfil\box\@tempboxa\hfil}% +\fi +}% +\newcounter{figure} +\def\thefigure{\@arabic\c@figure} +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{Figure \thefigure} +\def\figure{\@float{figure}} +\let\endfigure\end@float +\@namedef{figure*}{\@dblfloat{figure}} +\@namedef{endfigure*}{\end@dblfloat} +\newcounter{table} +\def\thetable{\@arabic\c@table} +\def\fps@table{tbp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{Table \thetable} +\def\table{\@float{table}} +\let\endtable\end@float +\@namedef{table*}{\@dblfloat{table}} +\@namedef{endtable*}{\end@dblfloat} +\def\@ptsize{0} % +\@namedef{ds@11pt}{\def\@ptsize{1}} % +\@namedef{ds@12pt}{\def\@ptsize{2}} % +\@twosidefalse +\def\ds@draft{\overfullrule 5pt} % +\@options +\lineskip 1pt % +\normallineskip 1pt +\def\baselinestretch{1} +\ifcase \@ptsize\relax % +\def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt +\abovedisplayskip 10pt plus2pt minus5pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt% +\belowdisplayshortskip 6pt plus3pt minus3pt% +\let\@listi\@listI} % +\def\small{\@setsize\small{11pt}\ixpt\@ixpt +\abovedisplayskip 8.5pt plus 3pt minus 4pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus2pt% +\belowdisplayshortskip 4pt plus2pt minus 2pt% +\def\@listi{\leftmargin\leftmargini % +\topsep 4pt plus 2pt minus 2pt\parsep 2pt plus 1pt minus 1pt +\itemsep \parsep}} +\def\footnotesize{\@setsize\footnotesize{9.5pt}\viiipt\@viiipt +\abovedisplayskip 6pt plus 2pt minus 4pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus 1pt% +\belowdisplayshortskip 3pt plus 1pt minus 2pt% +\def\@listi{\leftmargin\leftmargini % +\topsep 3pt plus 1pt minus 1pt\parsep 2pt plus 1pt minus 1pt +\itemsep \parsep}} +\def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt} +\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} +\def\large{\@setsize\large{14pt}\xiipt\@xiipt} +\def\Large{\@setsize\Large{18pt}\xivpt\@xivpt} +\def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt} +\def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} +\def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} +\or % +\def\@normalsize{\@setsize\normalsize{13.6pt}\xipt\@xipt +\abovedisplayskip 11pt plus3pt minus6pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt% +\belowdisplayshortskip 6.5pt plus3.5pt minus3pt% +\let\@listi\@listI} % +\def\small{\@setsize\small{12pt}\xpt\@xpt +\abovedisplayskip 10pt plus2pt minus5pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt% +\belowdisplayshortskip 6pt plus3pt minus3pt% +\def\@listi{\leftmargin\leftmargini % +\topsep 6pt plus 2pt minus 2pt\parsep 3pt plus 2pt minus 1pt +\itemsep \parsep}} +\def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt +\abovedisplayskip 8pt plus 2pt minus 4pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus 1pt% +\belowdisplayshortskip 4pt plus 2pt minus 2pt% +\def\@listi{\leftmargin\leftmargini % +\topsep 4pt plus 2pt minus 2pt\parsep 2pt plus 1pt minus 1pt +\itemsep \parsep}} +\def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt} +\def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} +\def\large{\@setsize\large{14pt}\xiipt\@xiipt} +\def\Large{\@setsize\Large{18pt}\xivpt\@xivpt} +\def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt} +\def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} +\def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} +\or % +\def\@normalsize{\@setsize\normalsize{15pt}\xiipt\@xiipt +\abovedisplayskip 12pt plus3pt minus7pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt% +\belowdisplayshortskip 6.5pt plus3.5pt minus3pt% +\let\@listi\@listI} % +\def\small{\@setsize\small{13.6pt}\xipt\@xipt +\abovedisplayskip 11pt plus3pt minus6pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt% +\belowdisplayshortskip 6.5pt plus3.5pt minus3pt% +\def\@listi{\leftmargin\leftmargini % +\parsep 4.5pt plus 2pt minus 1pt +\itemsep \parsep +\topsep 9pt plus 3pt minus 5pt}} +\def\footnotesize{\@setsize\footnotesize{12pt}\xpt\@xpt +\abovedisplayskip 10pt plus2pt minus5pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt% +\belowdisplayshortskip 6pt plus3pt minus3pt% +\def\@listi{\leftmargin\leftmargini % +\topsep 6pt plus 2pt minus 2pt\parsep 3pt plus 2pt minus 1pt +\itemsep \parsep}} +\def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt} +\def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} +\def\large{\@setsize\large{18pt}\xivpt\@xivpt} +\def\Large{\@setsize\Large{22pt}\xviipt\@xviipt} +\def\LARGE{\@setsize\LARGE{25pt}\xxpt\@xxpt} +\def\huge{\@setsize\huge{30pt}\xxvpt\@xxvpt} +\let\Huge=\huge +\fi +\normalsize % +\marginparwidth 90pt % +\marginparsep 11pt % +\marginparpush 5pt % +\footheight 12pt % +\footskip 25pt % +\footnotesep 12pt % +\skip\footins 10pt plus 2pt minus 4pt % +\floatsep 12pt plus 2pt minus 2pt +\textfloatsep 20pt plus 2pt minus 4pt +\intextsep 12pt plus 2pt minus 2pt +\@maxsep 20pt +\@fptop 0pt plus 1fil +\@fpsep 8pt plus 2fil +\@fpbot 0pt plus 1fil +\parindent 0pt % +\partopsep 0pt % +\@lowpenalty 51 % +\@medpenalty 151 % +\@highpenalty 301 % +\@beginparpenalty -\@lowpenalty % +\@endparpenalty -\@lowpenalty % +\@itempenalty -\@lowpenalty % +\def\theequation{\arabic{equation}} +\arraycolsep 5pt % +\arrayrulewidth .4pt % +\doublerulesep 2pt % +\skip\@mpfootins = \skip\footins +\fboxsep = 3pt % +\fboxrule = .4pt % +\def\footnoterule{\kern-1\p@ +\hrule width .4\columnwidth +\kern .6\p@} % +\long\def\@makefntext#1{\noindent % +\hangindent 5pt\hbox +to 5pt{\hss $^{\@thefnmark}$}#1} +\def\today{\ifcase\month\or +January\or February\or March\or April\or May\or June\or +July\or August\or September\or October\or November\or December\fi +\space\number\day, \number\year} +\pagenumbering{arabic} % +\onecolumn % +\newwrite\@mainmlb +\newlength{\@lengthlabel} +\newlength{\@lengthrule} +\newlength{\@lengthdate} +\newlength{\@lengthname} +\newcounter{@countlist} +\newcount\@countverticalposition +\newcount\@countbotheader +\newcount\@countclassseptop +\newcount\@countclasssepbot +\newcount\@counttemp +\newcount\@countto +\newcount\@countattn +\newcount\@countattnsave +\newcount\@countthru +\newcount\@counttelephone +\newcount\@countcy +\newcount\@countvia +\newcount\@countattachments +\newcount\@countreference +\newcount\@countenc +\newcount\@countdistribution +\newcount\@countrightcolon +\newcount\@countleftheader +\newcount\@countrightheader +\newcount\@countpictorig +\newcount\@countletterlist +\newcount\@countleftto +\newcount\@countrightto +\newcount\@counttemptwo +\newcount\@countcoltemp +\newcount\@countreturnaddress +\newcount\@countskiplabels +\newtoks\@toksto +\newtoks\@toksattn +\newtoks\@toksattnsave +\newtoks\@toksthru +\newtoks\@tokscy +\newtoks\@tokstelephone +\newtoks\@toksvia +\newtoks\@toksattachments +\newtoks\@toksenc +\newtoks\@toksreference +\newtoks\@toksdistribution +\newtoks\@tokspagetwoheader +\newtoks\@toksbeforenewline +\newtoks\@toksafternewline +\newtoks\@toksaftersave +\newtoks\@toksempty +\newtoks\@toksblank +\newtoks\@toksnewline +\newtoks\@toksremaining +\newtoks\@toksitem +\newtoks\@toksbeforeendto +\newtoks\@toksafterendto +\newtoks\@toksbeforecomma +\newtoks\@toksleftto +\newtoks\@toksrightto +\newtoks\@tokstemp +\newtoks\@tokscoltemp +\newtoks\@toksreturnaddress +\newsavebox{\@boxtemp} +\newsavebox{\@boxclasspage} +\newsavebox{\@boxpagetwoheader} +\newdimen\@dimentoppagetwo +\newdimen\@dimenpagetwoheader +\newdimen\@dimenfirstpageleftheader +\newdimen\@dimenwdtt +\newdimen\@dimenletterpaperhcorr +\newdimen\@dimenletterpapervcorr +\newdimen\@dimenspaceaftercolon +\newdimen\descriptionmargin +\newdimen\@dimenversemargin +\newdimen\@dimentocolsep +\newdimen\@dimenhspacesig +\newdimen\@dimenexpandside +\newdimen\@dimenexpandtopmargin +\newdimen\@dimentemp +\newdimen\@headsepfirst +\newdimen\@textheightfirst +\newdimen\@dimenmaillabelheight +\newdimen\@dimenmaillabeltopmargin +\newdimen\@bodysep +\newskip\@baselineskipsave +\newskip\@parskipsave +\newskip\@topskipfirst +\newif\if@newline +\newif\if@comma +\newif\if@notvoidtoks +\newif\if@toksnotequal +\newif\if@beenhere +\newif\if@somethingbefore +\newif\if@continueloop +\newif\if@cmfonts +\newif\if@closing +\newif\if@everyindent +\newif\if@printingto +\newif\if@neveropened +\newif\if@newtemp +\newif\if@newattn +\newif\if@newtelephone +\newif\if@newcy +\newif\if@newattachments +\newif\if@newreference +\newif\if@newdistribution +\newif\if@newenc +\newif\if@newthru +\newif\if@newvia +\newif\if@newrightto +\newif\if@newleftto +\newif\if@newto +\newif\if@makemaillabels +\newif\if@outputfirstpage% +\newif\if@outputlastpage% +\newif\if@newreturnaddress +\let\@mlbout=\@mainmlb +\clubpenalty=10000 +\widowpenalty=10000 +\topmargin -72pt% +\textheight=724pt +\@textheightfirst=\textheight +\topskip=0pt +\@topskipfirst=\topskip +\headsep=0pt +\@headsepfirst=\headsep +\headheight 0pt +\footskip 43pt +\textwidth 438pt +\@countverticalposition 0 +\@toksempty={} +\@toksblank={ } +\@toksnewline={\\} +\@dimenpagetwoheader 180pt +\@dimenfirstpageleftheader 220pt +\@dimenexpandside=0pt +\@dimenexpandtopmargin=0pt +\@countleftheader=87 +\@countrightcolon=404 +\@countbotheader 104 +\@dimenletterpaperhcorr 0pt +\@dimenletterpapervcorr 0pt +\@dimenspaceaftercolon 12pt +\@everyindentfalse +\@printingtofalse +\@neveropenedtrue +\@newtemptrue +\@newattntrue +\@newtelephonetrue +\@newcytrue +\@newattachmentstrue +\@newreferencetrue +\@newdistributiontrue +\@newenctrue +\@newthrutrue +\@newviatrue +\@newrighttotrue +\@newlefttotrue +\@newtotrue +\@newreturnaddresstrue +\@makemaillabelsfalse +\@dimentocolsep=24pt +\def\@blank{ }% +\def\@tt{tt}\def\@rm{rm}% +\def\@texfonts{texfonts}% +\def\@lafonts{lafonts}\def\@postscript{postscript}% +\def\@letterpaper{letterpaper}% +\def\@useto{to}\def\@usesubject{subject}\def\@useattn{attn}% +\def\to#1{% +\if@newto\@resettovars\fi +\ifnum\@countleftto>0 \@errortoleftrightto\@tokstoinput{leftto}{#1}% +\else\ifnum\@countrightto>0 \@errortoleftrightto\@tokstoinput{leftto}{#1}% +\else \@tokstoinput{to}{#1}% +\fi\fi}% +\def\leftto#1{% +\if@newleftto\@resettovars\fi +\ifnum\@countto>0 \@totoleftto\fi \@tokstoinput{leftto}{#1}}% +\def\rightto#1{% +\if@newrightto\@resettovars\fi +\ifnum\@countto>0 \@totoleftto\fi \@tokstoinput{rightto}{#1}}% +\def\attn#1{\if@printingto Attn: #1\@toksinput{attn}{#1}\else\@errorattn\fi +\global\@countattn=\@countattn}% +\def\telephone#1{\@toksinput{telephone}{#1}}% +\def\cy#1{\@toksinput{cy}{#1}}% +\def\via#1{\@tokstoinput{via}{#1}}% +\def\thru#1{\@tokstoinput{thru}{#1}}% +\def\attachments#1{\@toksinput{attachments}{#1}}% +\def\reference#1{\@toksinput{reference}{#1}}% +\def\distribution#1{\@toksinput{distribution}{#1}}% +\def\enc#1{\@toksinput{enc}{#1}}% +\def\returnaddress#1{\@toksreturnaddress={}\@countreturnaddress=0 +\@toksinput{returnaddress}{#1}}% +\def\typeface#1{\def\@typeface{#1}% +\@unspaceleft\@typeface \@unspaceright\@typeface}% +\def\headerfonts#1{\def\@headerfonts{#1}% +\@unspaceleft\@headerfonts \@unspaceright\@headerfonts}% +\def\bodyfonts#1{\def\@bodyfonts{#1}% +\@unspaceleft\@bodyfonts \@unspaceright\@bodyfonts +\ifx\@bodyfonts\@postscript \@psdefclasslabel\fi}% +\def\nocallouts{\def\@nocallouts{}}% +\def\usetoasheader{\def\@useasheader{to}}% +\def\useattnasheader{\def\@useasheader{attn}}% +\def\usesubjectasheader{\def\@useasheader{subject}}% +\def\useotherasheader#1{\def\@useasheader{#1}}% +\def\subject#1{% +\def\@subjectorig{#1}% +\def\@subject{\uppercase{#1}}% +\ifx\@subjectorig\@blank\def\@subject{}\fi +\ifx\@subjectorig\@empty\def\@subject{}\fi}% +\def\salutation#1{\def\@salutation{#1}}% +\def\symbol#1{\def\@symbol{#1}\@unspaceright\@symbol +\@unspaceleft\@symbol}% +\def\serialnumber#1{\def\@serialnumber{#1}\@unspaceleft\@serialnumber +\@unspaceright\@serialnumber}% +\def\mailstop#1{\def\@mailstop{#1}\@unspaceright\@mailstop +\@unspaceleft\@mailstop}% +\def\date#1{\def\@date{#1}\@unspaceleft\@date}% +\def\expandwidth#1{\@ifnoinfo{#1}{\@dimenexpandside=0pt}{% +\@dimenexpandside=#1 \divide\@dimenexpandside by 2 +\advance \textwidth by #1}}% +\def\expandtopmargin#1{% +\@ifnoinfo{#1}{\@dimenexpandtopmargin=0pt}{\@dimenexpandtopmargin=#1}}% +\def\shortletterstyle{\def\@shortletterstyle{}}% +\def\noclearpage{\def\@noclearpage{}}% +\def\signer#1{\def\@signer{#1}% +\@unspaceright\@signer\@upperunspaceleft\@signer}% +\def\originator#1{% +\def\@originator{#1}% +\@unspaceright\@originator +\@upperunspaceleft\@originator}% +\def\typist#1{% +\def\@typist{#1}% +\ifx\@typist\@empty +\else +\ifx\@typist\@blank +\def\@typist{}% +\else +\def\@typist{\lowercase{\ignorespaces#1}}% +\fi\fi}% +\def\letterpaperhcorr#1{\@ifnoinfo{#1}% +{\@dimenletterpaperhcorr=0pt}{\@dimenletterpaperhcorr=#1}}% +\def\letterpapervcorr#1{\@ifnoinfo{#1}% +{\@dimenletterpapervcorr=0pt}{\@dimenletterpapervcorr=#1}}% +\def\complimentaryclose#1{\def\@complimentaryclose{#1}}% +\def\signature#1{\def\@signature{#1}}% +\def\cypagebreak{\def\@cypagebreak{}}% +\def\attachmentspagebreak{\def\@attachmentspagebreak{}}% +\def\encpagebreak{\def\@encpagebreak{}}% +\def\distributionpagebreak{\def\@distributionpagebreak{}}% +\def\encas{\def\@encas{}}% +\def\attachmentas{\def\@attachmentas{}}% +\def\attachmentsas{\def\@attachmentsas{}}% +\def\encpagebreak{\def\@encpagebreak{}}% +\def\makemaillabels{\@makemaillabelstrue} +\def\maillabelheight#1{\@ifnoinfo{#1}% +{\maillabelheight{1.5in}}{\@dimenmaillabelheight=#1}}% +\def\maillabeltopmargin#1{\@ifnoinfo{#1}% +{\maillabeltopmargin{.25in}}{\@dimenmaillabeltopmargin=#1}}% +\def\skiplabels#1{\@ifnoinfo{#1}% +{\@countskiplabels=0}{\@countskiplabels=#1}}% +\def\classlabel#1{% +\def\@unspacedclasslabel{#1}% +\@unspaceleft{\@unspacedclasslabel}% +\@unspaceright{\@unspacedclasslabel}% +\@ifundefined{@classlabel}% +{}{\def\@todieornottodie{\@errortwoclasses\@exit}}% +\def\@secret{s}\def\@confidential{c}\def\@unclassified{u}% +\ifx\@unspacedclasslabel\@secret% +\def\@classlabel{SECRET}% +\typeout{^^JThis letter will be marked SECRET.^^J}% +\else\ifx\@unspacedclasslabel\@confidential% +\def\@classlabel{CONFIDENTIAL}% +\typeout{^^JThis letter will be marked CONFIDENTIAL.^^J}% +\else\ifx\@unspacedclasslabel\@unclassified% +\def\@classlabel{UNCLASSIFIED}% +\typeout{^^JThis letter will be marked UNCLASSIFIED.^^J}% +\else\ifx\@unspacedclasslabel\@empty% +\def\@classlabel{}% +\else +\def\@todieornottodie{% +\def\@classlabel{#1}% +\@errorclassargument +\@exit}% +\fi\fi\fi\fi +\@todieornottodie +}% +\def\@toksinput#1#2{% +\def\@toksname{\csname @toks#1\endcsname}% +\def\@countname{\csname @count#1\endcsname}% +\def\@ifnewname{\csname if@new#1\endcsname}% +\def\@newnamefalse{\csname @new#1false\endcsname}% +\def\@newnametrue{\csname @new#1true\endcsname}% +\@ifnewname +\@newnamefalse +\@countname=0 +\@toksname={}% +\else +\@addtotoks\@toksname\\ +\fi +\@beenherefalse +\@toksremaining={#2}% +\loop +\@tonewlinepull\@toksremaining +\@somethingbeforefalse +\@toksnotequal\@toksbeforenewline\@toksempty +\if@toksnotequal +\@toksnotequal\@toksbeforenewline\@toksblank +\if@toksnotequal +\@somethingbeforetrue +\fi\fi +\if@somethingbefore +\if@beenhere +\@addtotoks\@toksname\\ +\else +\@beenheretrue +\fi +\@addtokstotoks\@toksname\@toksbeforenewline +\@continuelooptrue +\advance\@countname by 1 +\else +\@toksnotequal\@toksafternewline\@toksempty% +\if@toksnotequal +\@toksnotequal\@toksafternewline\@toksnewline% +\if@toksnotequal +\@continuelooptrue% +\else +\@continueloopfalse% +\fi +\else +\@continueloopfalse% +\fi\fi +\if@continueloop +\@toksremaining=\@toksafternewline +\repeat +}% +\def\@resettovars{% +\@newtofalse\@countto=0\@toksto={}% +\@newlefttofalse\@countleftto=0\@toksleftto={}% +\@newrighttofalse\@countrightto=0\@toksrightto={}% +} +\def\@tokstoinput#1#2{% +\edef\@tokstoname{\csname @toks#1\endcsname}% +\edef\@counttoname{\csname @count#1\endcsname}% +\@newtemptrue +\@toksinput{temp}{#2}% +\@toksnotequal\@tokstemp\@toksempty +\if@toksnotequal +\@addtokstotoks\@tokstoname\@tokstemp +\@addtotoks\@tokstoname\@endto +\advance\@counttoname by 1 +\fi +}% +\def\@totoleftto{% +\@errortoleftrightto +\@toksleftto=\@toksto +\@toksto={}% +\@countleftto=\@countto +\@countto=0}% +\def\opening{% +\@checkinput +\if@neveropened +\@neveropenedfalse +\@choosefonts +\fi +\@initializefontvariables +\@initializeothervariables +\@baselineskipsave=\baselineskip +\@parskipsave=\parskip +\@closingfalse +\lineskip=0pt +\@printfirstpageheader +\@checkuseasinput +\@makepagetwoheader +\@beginletter +\lineskip=\normallineskip +}% +\def\closing{% +\normalsize +\@closingtrue +\@endletter +\@clearclosing +\leftskip=\@dimenhspacesig +\@printcompclose +\@printsignature +\par +\leftskip=0pt +\@printoriginatorline +\@printenc +\@printattachments +\@printdistribution +\@printcy +\@settrue +\@restorevariables +\@multipleletters +}% +\def\@restorevariables{% +\@countattn=0 +\@toksattn={}% +}% +\def\@multipleletters{% +\def\@citex[##1]##2{% +\def\@citea{}\@cite{\@for\@citeb:=##2\do +{\@citea\def\@citea{,\penalty\@m\ }\@ifundefined +{b@\@citeb}{{\bf ?}\@warning +{Citation `\@citeb' on page \thepage \space undefined}}% +\hbox{\csname b@\@citeb\endcsname}}}{##1}}% +\def\addcontentsline##1##2##3{}% +\def\label##1{\@bsphack\@esphack}% +\def\@lbibitem[##1]##2{\item[\@biblabel{##1}]\ignorespaces}% +\def\@bibitem##1{\item\ignorespaces}% +\setcounter{figure}{0}% +\setcounter{table}{0}% +\setcounter{footnote}{0}% +\setcounter{equation}{0}% +}% +\def\@checkinput{% +\ifnum\@countvia>0 % +\ifnum\@countthru>0 % +\@errorthruandvia +\fi\fi +\@ifemptyorundefined{@salutation}% +{\@errorundeclaredsalutation}{}% +\@ifemptyorundefined{@complimentaryclose}% +{\def\@complimentaryclose{Sincerely yours,}\@errorundeclaredcompclose}{}% +\@ifemptyorundefined{@signature}{\@errorundeclared{\signature}% +\@errorshowexample{\signature}{Betty J. Donaldson}}{}% +\@ifemptyorundefined{@signer}{\@errorundeclared{\signer}% +\@errorshowexample{\signer}{BJD}}{}% +\ifnum\@countto=0\ifnum\@countleftto=0\ifnum\@countrightto=0 % +\@errorundeclaredto\fi\fi\fi +\@ifundefined{@symbol}{\def\@symbol{}}{}% +\@ifundefined{@nocallouts}{% +\ifx\@symbol\@empty +\@errorundeclaredcallout{\symbol}\@errorshowexample{\symbol}{C-2}% +\fi +\@ifemptyorundefined{@mailstop}% +{\def\@mailstop{}\@errorundeclaredcallout{\mailstop}% +\@errorshowexample{\mailstop}{B253}}{}% +\ifnum\@counttelephone=0 % +\@tokstelephone={}% +\@errorundeclaredcallout{\telephone}% +\@errorshowexample{\telephone}{(505) 665-0859}% +\fi +}{}% +\@ifundefined{@subject}{\def\@subject{}}{}% +\@ifundefined{@originator}% +{\def\@originator{}}{}% +\@ifemptyorundefined{@signer}% +{\def\@signer{}}{}% +\@ifundefined{@typist}% +{\def\@typist{}}{}% +\@ifemptyorundefined{@date}{\def\@date{\today}}% +{\ifx\@date\@empty\def\@date{\today}\fi}% +\@ifemptyorundefined{@serialnumber}% +{\def\@serialnumber{}}{\ifx\@symbol\@empty \@errorserialnosymbol\fi}% +\def\@symbolserialnumber{% +\@symbol +\ifx\@symbol\@empty +\else +\ifx\@serialnumber\@empty +\else +-\relax +\fi\fi +\@serialnumber\ }% +\@ifundefined{@typeface}{\def\@typeface{tt}}{}% +\ifx\@typeface\@empty\def\@typeface{tt}\fi% +\@ifundefined{@headerfonts}{\def\@headerfonts{texfonts}}{}% +\ifx\@headerfonts\@empty\def\@headerfonts{texfonts}\fi% +\@ifundefined{@bodyfonts}{\def\@bodyfonts{texfonts}}{}% +\ifx\@bodyfonts\@empty\def\@bodyfonts{texfonts}\fi +}% +\def\@checkuseasinput{% +\@ifundefined{@useasheader}{\def\@useasheader{to}}{% +\ifx\@useasheader\@useattn +\ifnum\@countattn=0 % +\@erroruseas{attn}{\attn}\def\@useasheader{to}% +\fi +\else\ifx\@useasheader\@usesubject +\ifx\@subject\@empty +\@erroruseas{subject}{\subject}\def\@useasheader{to}% +\fi +\fi\fi +}}% +\def\@choosefonts{% +\@amorcm +\@getpostscriptnames +\@chooseheaderfonts +\@choosebodyfonts +\@setnormalsize +}% +\def\@amorcm{% +\edef\@cmr{\csname cmr10\endcsname}% +\edef\@tenrm{\csname\fontname\tenrm\endcsname}% +\ifx\@cmr\@tenrm \@cmfontstrue\else\@cmfontsfalse\fi +\if@cmfonts +\else\ifx\@bodyfonts\@texfonts +\@erroramfonts +\else\ifx\@headerfonts\@texfonts +\@erroramfonts +\fi\fi\fi +}% +\def\@getpostscriptnames{% +\def\@cmhelv{psmhlv }% +\def\@cmhelvb{psmhlvb }% +\def\@cmtimer{psmtimr }% +\def\@cmtimei{psmtimi }% +\def\@cmtimeb{psmtimb }% +\def\@cmcour{psmcou }% +\def\@cmcouro{psmcouo }% +\def\@cmcourb{psmcoub }% +}% +\def\@chooseheaderfonts{% +\ifx\@headerfonts\@letterpaper +\else\ifx\@headerfonts\@lafonts +\font\@booksix=book6% +\font\@bookseven=book7% +\font\@lettertwentyeight=memo28% +\font\@latwentyeight=la28% +\font\@spectwelve=spec12% +\else\ifx\@headerfonts\@texfonts +\if@cmfonts +\font\@booksix=cmr6% +\font\@bookseven=cmr7% +\font\@latwentyeight=cmbx10 scaled\magstep5% +\font\@memotwentyeight=cmbx10 scaled\magstep5% +\font\@spectwelve=cmss10 scaled\magstep1% +\else +\font\@booksix=amr6% +\font\@bookseven=amr7% +\font\@latwentyeight=ambx10 scaled\magstep5% +\font\@memotwentyeight=ambx10 scaled \magstep5% +\font\@spectwelve=amss10 scaled\magstep1% +\fi +\else\ifx\@headerfonts\@postscript +\font\@booksix=\@cmhelv at 6pt% +\font\@bookseven=\@cmhelv at 7pt% +\font\@lettertwentyeight=\@cmhelvb at 28pt% +\font\@spectwelve=\@cmhelv at 10.5pt% +\else% +\def\@todieornottodie{\@errorillegalheaderfont\@exitfi}% +\fi\fi\fi\fi +\@todieornottodie +}% +\def\@choosebodyfonts{% +\ifx\@typeface\@tt +\else\ifx\@typeface\@rm +\else +\def\@todieornottodie{\@errorillegaltypeface\@exitfi}% +\fi\fi +\@todieornottodie +\ifx\@bodyfonts\@texfonts +\if@cmfonts +\font\@classfont=cmss10 scaled \magstep5% +\else +\font\@classfont=amssmc40 +\fi +\else\ifx\@bodyfonts\@postscript +\ifcase\@ptsize\relax % +\font\tenrm = \@cmtimer at 10pt % +\font\tentt = \@cmcour at 10pt % +\ifx\@typeface\@tt +\font\tenit = \@cmcouro at 10pt % +\font\tenbf = \@cmcourb at 10pt % +\else\ifx\@typeface\@rm +\font\tenit = \@cmtimei at 10pt % +\font\tenbf = \@cmtimeb at 10pt % +\fi\fi +\or % +\font\elvrm = \@cmtimer at 11pt % +\font\elvtt = \@cmcour at 11pt % +\ifx\@typeface\@tt +\font\elvit = \@cmcouro at 11pt % +\font\elvbf = \@cmcourb at 11pt % +\else\ifx\@typeface\@rm +\font\elvit = \@cmtimei at 11pt % +\font\elvbf = \@cmtimeb at 11pt % +\fi\fi +\or % +\font\twlrm = \@cmtimer at 12pt % +\font\twltt = \@cmcour at 12pt % +\ifx\@typeface\@tt +\font\twlit = \@cmcouro at 12pt % +\font\twlbf = \@cmcourb at 12pt % +\else\ifx\@typeface\@rm +\font\twlit = \@cmtimei at 12pt % +\font\twlbf = \@cmtimeb at 12pt % +\fi\fi +\fi +\else +\def\@todieornottodie{\@errorillegalbodyfont\@exitfi}% +\fi\fi +\@todieornottodie +}% +\def\@setnormalsize{% +\edef\normalsize{% +\ifx\@currsize\normalsize +\ifx\@typeface\@tt +\tt +\else\ifx\@typeface\@rm +\rm +\fi\fi +\else +\@normalsize +\fi}}% +\def\@initializefontvariables{% +\raggedbottom +\@kernheaderwords +\@initializetypefacedependencies +\def\pem{% +\ifdim\fontdimen\@ne\font>\z@ +\csname\@typeface\endcsname +\else\it +\fi +}}% +\def\@kernheaderwords{% +\ifx\@headerfonts\@texfonts +\def\@lanl{% +\raise 1pt\hbox{% +\def\@kern{\kern -.5pt}% +L\@kern o\@kern s\ \kern -2.5pt A\@kern l\@kern a\@kern m\@kern +o\@kern s\ \kern -2pt N\@kern a\@kern t\@kern i\@kern o\@kern +n\@kern a\@kern l\ \kern -3pt L\@kern a\@kern b\@kern o\@kern +r\@kern a\@kern t\@kern o\@kern r\@kern y}}% +\def\@lanm{% +\def\@kern{\kern -.5pt}% +L\@kern o\@kern s\kern -2.5pt\ A\@kern l\@kern a\@kern m\@kern +o\@kern s\kern -1pt ,\kern -4.5pt\ New\kern -3pt\ Mexico\kern -3pt +\ 87545}% +\def\@losalamos{Los Alamos}% +\else\ifx\@headerfonts\@lafonts +\@spectwelve\setbox\@boxtemp=\hbox{L}\@dimentemp=\wd\@boxtemp +\advance\@dimentemp by -5.3368pt +\ifdim\@dimentemp<0pt \@dimentemp=-\@dimentemp\fi +\ifdim\@dimentemp<.001pt +\def\@lanl{% +L\kern -.4pt o\kern .35pt s\ \kern -.8pt +A\kern .6pt l\kern .1pt a\kern .6pt m\kern .1pt o\kern .35pt s% +\def\@kern{\kern .22pt}% +\ N\@kern a\@kern t\@kern i\@kern o\@kern n\@kern a\kern .47pt +l\ \kern -.2pt +\def\@kern{\kern .03pt}% +L\@kern a\kern .43pt b\@kern o\@kern r\@kern a\@kern +t\kern -.22pt o\@kern r\@kern y}% +\def\@lanm{% +L\kern -.4pt o\kern .35pt s\ \kern -.8pt +\def\@kern{\kern .35pt}% +A\kern .6pt l\kern .1pt a\kern .6pt m\kern .1pt o\kern .35pt s,% +\ \kern -1.5pt +N\kern -.2pt ew\ \kern -.1pt +\def\@kern{\kern .15pt}% +M\kern -.05pt e\@kern x\@kern i\@kern c\@kern o\ \kern -.1pt +8\kern -.65pt 7\kern -.9pt 54\kern -.7pt 5}% +\def\@losalamos{% +\kern -1.2pt L\kern 0pt o\kern -.75pt s\ \kern -6.7pt +A\kern .25pt l\kern 1.25pt a\kern -.85pt m\kern -.65pt +o\kern -.75pt s}% +\else +\def\@todieornottodie{\@erroroldlafonts\@exit}% +\fi +\else\ifx\@headerfonts\@postscript +\def\@lanl{% +\raise .5pt\hbox{% +Los\kern -2pt\ Alamos\kern -1.5pt\ National\kern -2pt +\ Laboratory}}% +\def\@lanm{% +\def\@kern{\kern .57pt}% +Los\kern -2pt\ Alamos\kern -1pt,\kern -3.5pt\ N\@kern e\@kern +w\kern -2pt\ M\@kern e\@kern x\@kern i\@kern c\@kern +o\kern -2pt\ 87545}% +\def\@PSlosalamos##1##2{% +\@psdeflosalamos +\special{ps:: ##1 ##2 @LOSALAMOS1 @LOSALAMOS2 @LOSALAMOS3}}% +\fi\fi\fi +\@todieornottodie +}% +\def\@initializetypefacedependencies{% +\ifx\@typeface\@tt +\rightskip=0pt plus 3.6em% +\@rightskip=\rightskip +\hyphenchar\nintt=\defaulthyphenchar +\hyphenchar\tentt=\defaulthyphenchar +\hyphenchar\elvtt=\defaulthyphenchar +\hyphenchar\twltt=\defaulthyphenchar +\ifx\@bodyfonts\@texfonts +\def\@bullet{\leavevmode\raise-.22ex\hbox to 0pt{+\hss}o}% +\else\ifx\@bodyfonts\@postscript +\def\@bullet{\leavevmode\raise-.19ex\hbox to 0pt{+\hss}o}% +\fi\fi +\fi +\@initializelists +}% +\def\@initializelists{% +\setbox\@boxtemp=\hbox{\tt n}\@dimenwdtt=\wd\@boxtemp +\ifx\@typeface\@tt +\parskip=\baselineskip +\leftmargini 4\@dimenwdtt +\leftmarginii 4\@dimenwdtt +\leftmarginiii 4\@dimenwdtt +\leftmarginiv 4\@dimenwdtt +\leftmarginv 4\@dimenwdtt +\leftmarginvi 4\@dimenwdtt +\leftmargin\leftmargini +\labelwidth\leftmargini\advance\labelwidth-\labelsep +\labelsep=\@dimenwdtt +\parsep=\baselineskip +\topsep 0pt +\itemsep 0pt +\@bodysep 0pt +\descriptionmargin=5\@dimenwdtt +\@dimentemp=\@dimenwdtt +\else\ifx\@typeface\@rm +\parskip=.7em +\@parskipsave=\parskip +\def\@bullet{$\bullet$}% +\leftmargini 2.5em +\leftmarginii 2.2em % +\leftmarginiii 1.87em % +\leftmarginiv 1.7em % +\leftmarginv 1em +\leftmarginvi 1em +\leftmargin\leftmargini +\labelwidth\leftmargini\advance\labelwidth-\labelsep +\labelsep 5pt +\topsep .4em +\@bodysep .8em +\parsep .4em +\itemsep .2em +\descriptionmargin=3em +\@dimentemp=5pt +\fi\fi +\listparindent=0pt +\let\@listi\relax +\def\@listii{\leftmargin\leftmarginii +\labelwidth\leftmarginii\advance\labelwidth-\labelsep}% +\def\@listiii{\leftmargin\leftmarginiii +\labelwidth\leftmarginiii\advance\labelwidth-\labelsep +\ifx\@typeface\@rm +\topsep .2em +\itemsep \topsep +\fi}% +\def\@listiv{\leftmargin\leftmarginiv +\labelwidth\leftmarginiv\advance\labelwidth-\labelsep}% +\def\@listv{\leftmargin\leftmarginv +\labelwidth\leftmarginv\advance\labelwidth-\labelsep}% +\def\@listvi{\leftmargin\leftmarginvi +\labelwidth\leftmarginvi\advance\labelwidth-\labelsep}% +\@dimenversemargin=3\@dimentemp +\def\verse{\let\\=\@centercr +\list{}{\itemsep\z@ \itemindent -\@dimenversemargin \listparindent \itemindent +\rightmargin\leftmargin\advance\leftmargin \@dimenversemargin}\item[]}% +\let\endverse\endlist +\def\quotation{\list{}{% +\rightmargin\leftmargin}\item[]}% +\let\endquotation=\endlist +\tabcolsep \@dimentemp % +\tabbingsep \labelsep % +\def\labelenumi{\arabic{enumi}.}% +\def\theenumi{\arabic{enumi}}% +\def\labelenumii{\alph{enumii}.}% +\def\theenumii{\alph{enumii}}% +\def\p@enumii{\theenumi}% +\def\labelenumiii{(\arabic{enumiii})}% +\def\theenumiii{\roman{enumiii}}% +\def\p@enumiii{\theenumi(\theenumii)}% +\def\labelenumiv{(\alph{enumiv})}% +\def\theenumiv{\Alph{enumiv}}% +\def\p@enumiv{\p@enumiii\theenumiii}% +\def\labelitemi{\@bullet}% +\def\labelitemii{-}% +\def\labelitemiii{*}% +\def\labelitemiv{+}% +\def\quote{\list{}{\rightmargin\leftmargin}\item[]}% +\let\endquote=\endlist +\def\descriptionlabel##1{\hspace\labelsep \it ##1}% +\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin +\let\makelabel\descriptionlabel}}% +\let\enddescription\endlist +}% +\def\@initializeothervariables{% +\let\@texttop=\relax +\@ifundefined{@classlabel}{\def\@classlabel{}}{}% +\def\ps@firstpage{\let\@mkboth\@gobbletwo +\def\@oddhead{\@makeclassheader\@printclasspage}% +\def\@oddfoot{}}% +\def\ps@pagetwo{\let\@mkboth\@gobbletwo +\def\@oddhead{% +\@printpagetwoheader\@printpagenum\@printclasspage}% +\def\@oddfoot{}}% +\pagestyle{pagetwo}% +\@advcountbydimen\@countverticalposition\@dimenletterpapervcorr +\@advcountbydimen\@countleftheader\@dimenletterpaperhcorr +\@advcountbydimen\@countrightcolon\@dimenletterpaperhcorr +\@countrightheader=\@countrightcolon +\@advcountbydimen\@countrightheader\@dimenspaceaftercolon +\@countpictorig=\@countleftheader +\@advcountbydimen\@countpictorig{-\@dimenexpandside}% +\oddsidemargin=\@countleftheader pt +\advance \oddsidemargin by -1in +\advance \oddsidemargin by -\@dimenexpandside +\evensidemargin=\oddsidemargin +}% +\def\@settrue{% +\@newtemptrue +\@newattntrue +\@newtelephonetrue +\@newtelephonetrue +\@newcytrue +\@newattachmentstrue +\@newreferencetrue +\@newdistributiontrue +\@newenctrue +\@newthrutrue +\@newviatrue +\@newrighttotrue +\@newlefttotrue +\@newtotrue +} +\def\@makeclassheader{% +\@countclassseptop 24 % +\@countclasssepbot 40 % +\@globaladvcountbydimen\@countclasssepbot{-\@dimenletterpapervcorr}% +\@globaladvcountbydimen\@countclassseptop\@dimenletterpapervcorr +\ifx\@bodyfonts\@postscript +\@makePSclassheader +\else +\ifx\@classlabel\@empty +\global\setbox\@boxclasspage=\hbox{\hbox to 0pt{\hss\hss}}% +\else +\global\setbox\@boxclasspage=\hbox{\hbox to 0pt{\hss +\begin{picture}(0,0)(\@countpictorig,0)% +{% +\@classfont +\put (0,-\@countclassseptop)% +{\makebox(0,0)[tl]{\hbox to 8.5in{\hfil\@classlabel\hfil}}}% +\@counttemp=-\@countclasssepbot +\advance\@counttemp by 795 % +\put (0,-\@counttemp)% +{\makebox(0,0)[bl]{\hbox to 8.5in{\hfil\@classlabel\hfil}}}% +}% +\end{picture}% +\hss}}% +\fi\fi +}% +\gdef\@psdeflosalamos{% +\special{ps::[local]% +/@LOSALAMOS1 { +/VirginState save def +/Helvetica-Bold findfont [ 27.7 0 0 29 0 0 ] makefont setfont +/YC exch neg def % +/XC exch def % +} def +}% +\special{ps::[local]% +/@LOSALAMOS2 { +/MV {moveto} def +/SO {false charpath stroke} def +.5 setlinewidth +XC 87 add YC 716 add translate +} def +}% +\special{ps::[local]% +/@LOSALAMOS3 { +0 0 MV (L) SO +15.9 0 MV (o) SO +31.8 0 MV (s) SO +51.3 0 MV (A) SO +70.2 0 MV (l) SO +77 0 MV (a) SO +91.4 0 MV (m) SO +115 0 MV (o) SO +130.9 0 MV (s) SO +VirginState restore +} def +}% +}% +\def\@psdefclasslabel{% +\specialbop{ps::[global]% +/@CLASSOVERLAY1 { +/VirginState save def +/Topdist exch def +/Botdist exch def +dup (SECRET) eq +{/Space 3.5 def /X 272 def } % +{/Space 3 def /X 244 def } % +ifelse +/Label exch def +} def +}% +\specialbop{ps::[global]% +/@CLASSOVERLAY2 { +/Print { gsave Space 0 Label ashow grestore } def +/DoubPrint { Print StrikeWidth 0 rmoveto Print } def +/Scale .415888 def % +/StrikeWidth 1.4 def % +} def +}% +\specialbop{ps::[global]% +/@CLASSOVERLAY3 { +/Helvetica-Bold findfont [29 Scale mul 0 0 29 0 0] makefont setfont +X 770 Topdist sub moveto +DoubPrint +X Botdist moveto +DoubPrint +VirginState restore +} def +}% +}% +\def\@makePSclassheader{% +\gdef\@PSclasslabel##1##2##3{% +\special{ps:: ##1 ##2 ##3 @CLASSOVERLAY1 @CLASSOVERLAY2 @CLASSOVERLAY3}}% +}% +\def\@makepagetwoheader{% +\@tokspagetwoheader={}% +\ifx\@useasheader\@useto +\@pullpagetwotoheader +\else\ifx\@useasheader\@useattn +\@tokspagetwoheader=\@toksattn +\else\ifx\@useasheader\@usesubject +\ifx\@subject\@empty\else\@tokspagetwoheader=\expandafter{\@subjectorig}\fi +\else +\@tokspagetwoheader=\expandafter{\@useasheader}% +\fi\fi\fi +\savebox{\@boxpagetwoheader}{% +\begin{minipage}[b]{\textwidth}% +\normalsize +\rule{0pt}{72pt}\rule{0pt}{-\ht\strutbox}% +\parbox[t]{\@dimenpagetwoheader}{% +\parskip=\@parskipsave +\the\@tokspagetwoheader\copy\strutbox +\ifx\@serialnumber\@empty +\else +\ifhmode\newline\fi \@symbolserialnumber\copy\strutbox +\fi +}% +\copy\strutbox\hfill +\makebox[\@dimenpagetwoheader][r]{\hfil\@date}% +\end{minipage}% +}% +\@dimentoppagetwo=\ht\@boxpagetwoheader +\advance\@dimentoppagetwo by 4\baselineskip +\advance\@dimentoppagetwo by -\dp\strutbox +}% +\def\@printclasspage{% +\ifx\@bodyfonts\@postscript +\ifx\@classlabel\@empty +\else +\@PSclasslabel{(\@classlabel)}{\the\@countclasssepbot }% +{\the\@countclassseptop }% +\fi +\vbox to 0in{}\hss +\else +\vbox to 0in{\hbox to 0pt{\usebox{\@boxclasspage}\hss}\vss}\hss +\fi +}% +\def\@printpagetwoheader{% +\vbox to 0in{\hbox to 0pt{\usebox{\@boxpagetwoheader}\hss}\vss}% +}% +\def\@printpagenum{% +\vbox to 0pt{\hbox to 0pt{% +\begin{minipage}[b]{\textwidth}% +\normalsize +\rule{0pt}{72pt}\rule{0pt}{-\ht\strutbox}% +\hfil{- \thepage\ -}\hfil +\end{minipage}% +\hss}\vss}% +}% +\def\@pullpagetwotoheader{% +\@pullloop{leftto}% +\ifnum\@countrightto=0\else +\@addtotoks\@tokspagetwoheader\\ +\@pullloop{rightto}% +\fi +}% +\def\@pullloop#1{% +\@tokstemp=\csname @toks#1\endcsname +\@counttemp=\csname @count#1\endcsname +\loop +\ifnum\@counttemp>0 % +\@toendtopull\@tokstemp +\@tonewlinepull\@toksbeforeendto +\@tocommapull\@toksbeforenewline +\@addtokstotoks\@tokspagetwoheader\@toksbeforecomma +\ifnum\@counttemp=1\else +\@addtotoks\@tokspagetwoheader\\ +\fi +\@tokstemp=\@toksafterendto +\advance\@counttemp by -1 +\repeat +}% +\def\@beginletter{% +\@ifundefined{@shortletterstyle}{\par}% +{% +\ifx\@typeface\@tt +\topsep=\baselineskip +\baselineskip=2\baselineskip +\parindent=5\@dimenwdtt +\leftmargini=7\@dimenwdtt +\else\ifx\@typeface\@rm +\advance\baselineskip by \parskip +\parindent=2.5em +\leftmargini=3.5em +\topsep=1.2em +\parsep=.6em +\itemsep=.6em +\fi\fi +\parskip=0pt +\leftmargin=\leftmargini +\par +}% +}% +\def\@clearclosing{% +\edef\@tempa{\@toplist\@botlist\@deferlist}% +\ifx\@tempa\@empty\else +\@ifundefined{@noclearpage}{\clearpage}{}% +\fi +}% +\def\@endletter{% +\@ifundefined{@shortletterstyle}{\@dimenhspacesig=0pt}% +{% +\par +\ifnum\thepage>1 % +\@errorshortletter +\fi +\parindent=0em +\baselineskip=\@baselineskipsave +\parskip=\@parskipsave +\@dimenhspacesig=\textwidth +\divide\@dimenhspacesig by \@dimenwdtt +\divide\@dimenhspacesig by 2 +\multiply\@dimenhspacesig by \@dimenwdtt +\advance\@dimenhspacesig by 3\@dimenwdtt +}% +}% +\def\@printfirstpageheader{% +\@outputlastpagetrue +\newpage +\@outputfirstpagetrue +\@outputlastpagefalse +\thispagestyle{firstpage}% +\normalsize +\begin{picture}(0,0)(\@countpictorig,\@countverticalposition)% +\ifx\@headerfonts\@letterpaper +\else +\@printletterpaper +\fi +\@printfirstpagerightheader +\end{picture}% +\@splitto +\@printingtotrue\@printto\@printingtofalse +\@printthruorvia{thru}% +\@printthruorvia{via}% +\@printsalutation +\@printsubject +\@printreference +}% +\def\@printletterpaper{% +\ifx\@headerfonts\@postscript +\@dimentemp=\@dimenletterpaperhcorr +\@counttemp=\@dimentemp +\divide\@counttemp by 65536 +\@counttemptwo=\@dimenletterpapervcorr +\divide\@counttemptwo by 65536 +\@PSlosalamos{\the\@counttemp }{\the\@counttemptwo }% +\else +\@latwentyeight +\put (\@countleftheader,-77){\@losalamos}% +\fi +\@spectwelve +\put (\@countleftheader,-93){\@lanl}% +\put (\@countleftheader,-\@countbotheader){\@lanm}% +\@bookseven +\@counttemptwo=767 +\put (0,-\@counttemptwo){\makebox(0,0)[bl]{\hbox to 8.5in{% +\hfil An Equal Opportunity Employer/Operated +by the University of California\hfil}}}% +\@ifundefined{@nocallouts}{% +\@booksix +\put (\@countrightcolon,-68){\makebox(0,0)[br]{DATE:}}% +\put (\@countrightcolon,-80){\makebox(0,0)[br]{IN REPLY REFER TO:}}% +\put (\@countrightcolon,-92){\makebox(0,0)[br]{MAIL STOP:}}% +\put (\@countrightcolon,-\@countbotheader){\makebox(0,0)[br]{TELEPHONE:}}% +}{}% +}% +\def\@printfirstpagerightheader{% +\normalsize +\@ifundefined{@nocallouts}{% +\put (\@countrightheader,-68){\@date}% +\put (\@countrightheader,-80){\@symbolserialnumber}% +\put (\@countrightheader,-92){\@mailstop}% +\put (\@countrightheader,-\@countbotheader)% +{\parbox[t]{2.5in}{\parskip=\@parskipsave\the\@tokstelephone}}% +}{% +\put (\@countrightheader,-\@countbotheader){\parbox[b]{2.5in}{% +\parskip=\@parskipsave\ignorespaces\@date +\\Ref\@: \ignorespaces\@symbolserialnumber +}}}}% +\def\@splitto{% +\ifnum\@countto=0 % +\else\ifnum\@countto<3 % +\@toksleftto=\@toksto +\@countleftto=\@countto +\@toksrightto={}% +\@countrightto=0 +\else +\@countrightto=\@countto \divide\@countrightto by 2 +\@countleftto=\@countto \advance\@countleftto by -\@countrightto +\@toksleftto={}% +\@counttemp=\@countleftto +\@tokstemp=\@toksto +\loop +\@toendtopull\@tokstemp +\@addtokstotoks\@toksleftto\@toksbeforeendto +\@addtotoks\@toksleftto\@endto +\@tokstemp=\@toksafterendto +\advance\@counttemp by -1 +\ifnum\@counttemp>0 % +\repeat +\@toksrightto=\@tokstemp +\fi\fi +\@toksto={}\@countto=0 +}% +\def\@printto{% +\newline +\@dimentemp=\@countbotheader pt +\advance\@dimentemp by \@dimenletterpapervcorr +\advance\@dimentemp by 3\baselineskip +\advance\@dimentemp by -\ht\strutbox +\advance\@dimentemp by \@dimenexpandtopmargin +\vrule height \the\@dimentemp width0pt +\@everyindenttrue +\vbox to 0pt{% +\hbox{% +\@dimentemp=\textwidth +\ifnum\@countrightto=0 % +\parbox[t]{\@dimentemp}% +{\parskip=\@parskipsave +\ifnum\@countleftto>0 \@maketocol{leftto}\fi \mbox{}}% +\else +\advance\@dimentemp by -\@dimentocolsep +\divide\@dimentemp by 2 +\parbox[t]{\@dimentemp}% +{\parskip=\@parskipsave +\ifnum\@countleftto>0 \@maketocol{leftto}\fi \mbox{}}% +\hskip\@dimentocolsep +\parbox[t]{\@dimentemp}% +{\parskip=\@parskipsave\@maketocol{rightto}\mbox{}}% +\fi +}% +}% +\@everyindentfalse +\newline +\vspace{-\baselineskip}% +\vspace{-\parskip}% +\vspace{\@bodysep}% +\mbox{}% +}% +\def\@maketocol#1{% +\@tokscoltemp=\csname @toks#1\endcsname +\@countcoltemp=\csname @count#1\endcsname +\@counttemptwo=\@countcoltemp +\begin{list}{}{\parsep=0pt\itemsep=\parskip\listparindent=-2\@dimenwdtt +\topsep=0pt\leftmargin=-\listparindent}% +\longloop +\ifnum\@countcoltemp>0 % +\advance\@countcoltemp by -1 +\@toendtopull\@tokscoltemp +\@tokscoltemp=\@toksafterendto +\@writeonelabel{\the\@toksbeforeendto}% +\item +\leavevmode\copy\strutbox +\innerloop +\@tonewlinepull\@toksbeforeendto +\@toksaftersave=\@toksafternewline +\ignorespaces\the\@toksbeforenewline +\copy\strutbox +\@toksnotequal\@toksaftersave\@toksempty +\if@toksnotequal +\par +\@toksbeforeendto=\@toksaftersave +\innerrepeat +\longrepeat +\end{list}% +\@countcoltemp=\@counttemptwo +}% +\long\def\longloop#1\longrepeat{\def\longbody{#1}\longiterate}% +\def\longiterate{\longbody \let\next\longiterate \else\let\next\relax\fi \next}% +\let\longrepeat=\fi% +\long\def\innerloop#1\innerrepeat{\def\innerbody{#1}\inneriterate}% +\def\inneriterate{\innerbody \let\next\inneriterate +\else\let\next\relax\fi \next}% +\let\innerrepeat=\fi% +\def\@printsalutation{% +\@ifemptyorundefined{@salutation}{}{% +\par +\@salutation +}}% +\def\@printthruorvia#1{% +\@tokstemp=\csname @toks#1\endcsname +\@counttemp=\csname @count#1\endcsname +\ifnum\@counttemp=0 % +\else +\longloop +\@toendtopull\@tokstemp +\par +\begin{list}{\copy\strutbox \uppercase{#1}:\hfill}{% +\settowidth\labelwidth{\uppercase{#1}: }% +\leftmargin=\labelwidth +\topsep=0pt +\labelsep=0pt}% +\item\the\@toksbeforeendto +\end{list}% +\@toksnotequal\@toksafterendto\@toksempty +\if@toksnotequal +\@tokstemp=\@toksafterendto +\longrepeat +\fi}% +\def\@printsubject{% +\par +\ifx\@subject\@empty\else +\begin{list}{\copy\strutbox SUBJECT:\hfill}{% +\settowidth\labelwidth{SUBJECT\@: }% +\leftmargin=\labelwidth +\topsep=0pt +\labelsep=0pt}% +\item\@subject +\end{list}% +\fi +}% +\def\@printreference{% +\par +\ifnum\@countreference=0 % +\else +\ifnum\@countreference=1 % +REFERENCE:\relax +\else +REFERENCES:\relax +\fi +\par\vspace{-\baselineskip}% +\begin{list}{\ifnum\@countreference=1\else\arabic{@countlist}.\fi}{% +\topsep=0pt\itemsep=0pt\parsep=0pt +\ifnum\@countreference=1 % +\settowidth\leftmargin{REFERENCE\@: }% +\else +\settowidth\leftmargin{REFERENCES\@: }% +\fi +\@setnumdefaults\@countreference +}% +\@printnumberedlist{\@toksreference}% +\end{list}% +\fi +}% +\def\@printcompclose{% +\par +\vspace{\@bodysep}% +\@complimentaryclose +}% +\def\@printsignature{% +\par +\@ifemptyorundefined{@signature}{}{{% +\samepage +\vspace*{2\baselineskip}% +\@signature +}}}% +\def\@printoriginatorline{% +\@ifemptyorundefined{@signature}{\nopagebreak}{}% +\par +\ifx\@signer\@empty +\else +\@signer +\ifx\@originator\@empty +\ifx\@typist\@empty \else :\relax \fi +\else +-\relax +\fi +\fi +\ifx\@originator\@empty +\else +\@originator +\ifx\@typist\@empty \else :\relax \fi +\fi +\ifx\@typist\@empty +\else +\@typist +\fi +}% +\def\@printenc{% +\@ifundefined{@encas}{}{% +\ifnum\@countenc=0 % +\par Enc.\ a/s% +\else \@erroras\enc\encas{Enc. a/s}% +\fi}% +\ifnum\@countenc=0 % +\else +\par +\@ifundefined{@encpagebreak}{}{\pagebreak}% +\ifnum\@countenc=1 % +Enclosure:\relax +\else +Enc.\relax +\fi +\nopagebreak +\par\vspace{-\baselineskip}% +\@countletterlist=\@countenc +\begin{list}{\ifnum\@countenc=1\else\arabic{@countlist}.\fi}{% +\ifnum\@countenc=1 % +\settowidth\leftmargin{Enclosure: }% +\else +\settowidth\leftmargin{Enc.\ }% +\fi +\@setnumdefaults\@countenc +\topsep=0pt\itemsep=0pt\parsep=0pt +}% +\@printnumberedlist{\@toksenc}% +\end{list}% +\fi +}% +\def\@printattachments{% +\@ifundefined{@attachmentas}% +{\@ifundefined{@attachmentsas}{}% +{\ifnum\@countattachments=0 % +\par Attachments a/s% +\else \@erroras\attachments\attachmentsas{Attachments a/s}\fi}}% +{\@ifundefined{@attachmentsas}% +{\ifnum\@countattachments=0 % +\par Attachment a/s% +\else\@erroras\attachments\attachmentas{Attachment a/s}\fi}% +{\par Attachments a/s% +\@erroras\attachmentas\attachmentsas{Attachment a/s}}}% +\ifnum\@countattachments=0 % +\else +\par +\@ifundefined{@attachmentspagebreak}{}{\pagebreak}% +\ifnum\@countattachments=1 % +Attachment:\relax +\else +Attachments:\relax +\fi +\@countletterlist=\@countattachments +\begin{list}{\ifnum\@countattachments=1\else\arabic{@countlist}.\fi}{% +\leftmargin=0pt +\@setnumdefaults\@countattachments +}% +\@printnumberedlist{\@toksattachments}% +\end{list}% +\fi +}% +\def\@printdistribution{% +\ifnum\@countdistribution=0 % +\else +\par +\@ifundefined{@distributionpagebreak}{}{\pagebreak}% +{\offinterlineskip Distribution:\copy\strutbox}% +\@countletterlist=\@countdistribution +\begin{list}{}{% +\topsep=0pt\itemsep=0pt\parsep=0pt +\parskip=0pt\labelsep=0pt\labelwidth=0pt\leftmargin=0pt +}% +\item\the\@toksdistribution +\end{list}% +\fi +}% +\def\@printcy{% +\ifnum\@countcy=0 % +\else +\pagebreak[0]% +\par +\@ifundefined{@cypagebreak}{}{\pagebreak}% +\begin{list}{Cy:\hfill}{% +\settowidth\labelwidth{Cy: }% +\leftmargin=\labelwidth +\topsep=0pt\itemsep=0pt\parsep=0pt +\labelsep=0pt +}% +\item\the\@tokscy +\end{list}% +\fi +}% +\def\@setnumdefaults#1{% +\ifnum #1=1 % +\labelwidth=0pt% +\labelsep=0pt +\else +\usecounter{@countlist}% +\ifnum #1<10 % +\settowidth\labelwidth{8.}% +\else +\settowidth\labelwidth{88.}% +\fi\fi +\addtolength\leftmargin\labelwidth +\addtolength\leftmargin\labelsep +\topsep=0pt\itemsep=0pt\parsep=0pt +\setlength\parskip{0pt}% +}% +\def\@printnumberedlist#1{% +\@toksremaining=#1% +\loop +\@tonewlinepull{\@toksremaining}% +\@toksnotequal\@toksbeforenewline\@toksempty +\if@toksnotequal +\@toksitem=\@toksbeforenewline +\@toksremaining=\@toksafternewline +\ifx #1\@toksreference% +\item\uppercase\expandafter{\the\@toksitem}% +\else +\item\the\@toksitem +\fi +\repeat +}% +\def\@tonewlinepull#1{\let\@nlsave=\\\let\\=\relax +\expandafter\@tonewlinepullone\the#1\\\@empty +\if@newline\expandafter\@tonewlinepullthree\the#1\@empty +\else\fi\let\\=\@nlsave}% +\def\@tonewlinepullone#1\\{\@toksbeforenewline={#1}% +\futurelet\next\@tonewlinepulltwo}% +\def\@tonewlinepulltwo#1\@empty{\@toksafternewline={#1}% +\ifx\@empty\next\@newlinefalse +\else\@newlinetrue\fi}% +\def\@tonewlinepullthree#1\\{\@toksbeforenewline={#1}% +\futurelet\next\@tonewlinepullfour}% +\def\@tonewlinepullfour#1\@empty{\@toksafternewline={#1}% +\ifx\@empty\next\@newlinefalse +\else\@newlinetrue\fi}% +\def\@tocommapull#1{\expandafter\@tocommapullone\the#1,\@empty}% +\def\@tocommapullone#1,{\@toksbeforecomma={#1}% +\futurelet\next\@tocommapulltwo}% +\def\@tocommapulltwo#1\@empty{\ifx\@empty\next \@commafalse +\else \@commatrue \fi}% +\def\@toendtopull#1{\expandafter\@toendtopullone\the#1\@empty}% +\def\@toendtopullone#1\@endto#2\@empty{\@toksbeforeendto={#1}% +\@toksafterendto={#2}}% +\def\@unspaceleft#1{% +\def\@macroname{#1}% +\ifx #1\@empty +\else +\ifx #1\@blank +\global\expandafter\def\@macroname{}% +\else +\expandafter\@unspaceleftone#1\relax\relax\@empty +\fi\fi +}% +\def\@unspaceleftone#1#2\relax{% +\global\expandafter\def\@macroname{#1#2}% +\@unspacelefttwo}% +\def\@unspacelefttwo#1\@empty{}% +\def\@upperunspaceleft#1{% +\def\@macroname{#1}% +\ifx #1\@empty +\else +\ifx #1\@blank +\global\expandafter\def\@macroname{}% +\else +\expandafter\@upperunspaceleftone#1\relax\relax\@empty +\fi\fi +}% +\def\@upperunspaceleftone#1#2\relax{% +\global\expandafter\def\@macroname{\uppercase{#1#2}}% +\@unspacelefttwo}% +\def\@unspaceright#1{% +\def\@macroname{#1}% +\edef\@temp{#1}% +\expandafter\@unspacerightone#1\relax{} \relax\@empty +}% +\def\@unspacerightone#1 \relax{% +\global\expandafter\edef\@macroname{#1}% +\futurelet\next\@unspacerighttwo}% +\def\@unspacerighttwo#1\@empty{% +\ifx\@empty\next +\global\expandafter\edef\@macroname{\@temp}% +\fi +}% +\def\@addtotoks#1#2{#1=\expandafter{\the#1#2}}% +\def\@addtokstotoks#1#2{\edef\@deftemp{\the#1\the#2}% +\global#1=\expandafter{\@deftemp}}% +\long\def\@ifemptyorundefined#1#2#3{% +\expandafter\ifx\csname#1\endcsname\relax#2 +\else\expandafter\ifx\csname#1\endcsname\@empty#2 +\else\expandafter\ifx\csname#1\endcsname\@blank#2 +\else#3\fi\fi\fi} +\def\@ifnoinfo#1#2#3{\def\@deftemp{#1}% +\ifx\@deftemp\@empty#2\else\ifx\@deftemp\@blank#2\else#3\fi\fi} +\def\@toksnotequal#1#2{\begingroup\edef\one{\the#1}\edef\two{\the#2}% +\ifx\one\two\global\@toksnotequalfalse\else\global\@toksnotequaltrue\fi +\endgroup}% +\def\@advcountbydimen#1#2{\@counttemp=#2% +\divide\@counttemp by 65536 \advance#1by \@counttemp}% +\def\@globaladvcountbydimen#1#2{\@counttemp=#2% +\divide\@counttemp by 65536 \global\advance#1by \@counttemp}% +\def\@notvoidtoks#1{\@addtotoks{#1}{\@empty}% +\expandafter\@notvoidtoksone\the#1}% +\def\@notvoidtoksone{\futurelet\next\@notvoidtokstwo}% +\def\@notvoidtokstwo#1\@empty{\ifx\@empty\next \@notvoidtoksfalse +\else \@notvoidtokstrue \fi}% +\maillabelheight{} +\maillabeltopmargin{} +\def\@startlabels{% +\baselineskip=0pt +\lineskip=0pt +\pagestyle{empty} +\let\@texttop=\relax +\topmargin=-72pt +\advance\topmargin by\@dimenmaillabeltopmargin +\headsep 0pt +\oddsidemargin -35pt +\evensidemargin -35pt +\textheight 11in +\advance\textheight by-\@dimenmaillabeltopmargin +\@colht\textheight \@colroom\textheight \vsize\textheight +\textwidth 550pt +\columnsep 25pt +\xpt +\raggedbottom +\boxmaxdepth=0pt +\parindent=0pt % +\twocolumn\relax +\loop +\ifnum\@countskiplabels>0 +\@mlabel{}% +\advance\@countskiplabels by -1 +\repeat +} +\def\@mlabel#1{% +\setbox0\vbox{\parbox[b]{3.6in}% +{\strut\@printingtotrue\ignorespaces #1}}% +\vbox to \the\@dimenmaillabelheight{\vss \box0 \vss}}% +\def\@writeonelabel#1{% +\if@makemaillabels +\begingroup +\def\protect{\string} +\let\\=\relax +\def\protect##1{\string##1\space} +\immediate\write\@mlbout{\string\@mlabel{#1}}% +\ifnum\@countreturnaddress=0\else +\immediate\write\@mlbout{\string\@mlabel{\the\@toksreturnaddress}}% +\fi +\endgroup +\fi} +\def\@eightspaces{\space\space\space\space\space\space\space\space}% +\def\@errorundeclared#1{\typeout{^^JWarning: you have not called \protect #1 +before calling \protect\opening.^^J}}% +\def\@errorundeclaredcallout#1{\typeout{^^JWarning: you have not specified +the callout \protect #1^^J +\@eightspaces before calling \protect\opening.^^J}}% +\def\@errorundeclaredto{\typeout{^^JWarning: you have not specified +an address +before calling \protect\opening.^^J^^J +\@eightspaces Use \protect\to\space to specify an address, +for example^^J^^J +\@eightspaces \protect\to{Vieno Severi Alanne \protect\\^^J +\@eightspaces 414 Rio Seco \protect\\^^J +\@eightspaces Santa Fe, NM 87501}^^J}}% +\def\@errorshowexample#1#2{\typeout{\@eightspaces\space For example, use^^J^^J +\@eightspaces\protect #1{#2}^^J}}% +\def\@errorundeclaredsalutation{\typeout{^^JWarning: you have not called +\protect\salutation\space before calling \protect\opening.^^J}% +\@errorshowexample{\salutation}{Dear Henry,}}% +\def\@errorundeclaredcompclose{\typeout{^^JWarning: you have not called +\protect\complimentaryclose\space before calling \protect\opening.^^J +\@eightspaces\protect\complimentaryclose{Sincerely Yours,} +will be used by default.^^J}}% +\def\@errorserialnosymbol{\typeout{^^JWarning: you have called +\protect\serialnumber, but you have not called \protect\symbol.^^J}% +\@errorshowexample{\symbol}{C-2}}% +\def\@errortoleftrightto{\typeout{% +^^JWarning: you have called \protect\leftto\space +and/or \protect\rightto\space as well as \protect\to.^^J +\@eightspaces All addresses called by \protect\to\space will be printed in +the left column.^^J}}% +\def\@erroruseas#1#2{\typeout{^^JWarning: you specified +\protect\use#1asheader,^^J +\@eightspaces yet you have not specified \protect#2.^^J^^J +\@eightspaces The first line of the addressee will be used ^^J +\@eightspaces on headers after page one.^^J}}% +\def\@errorattn{\typeout{^^JWarning: \protect\attn\space must be used only +within the argument of \protect\to, for example,^^J^^J +\@eightspaces \protect\to{Genie Electronics \protect\\ ^^J +\@eightspaces \protect\attn{Mr. Robert Mercer, Sales Manager} \protect\\ ^^J +\@eightspaces P.O. Box 8501 \protect\\ ^^J +\@eightspaces Midwest City, OK 73110}^^J}}% +\def\@errorthruandvia{\typeout{^^JWarning: you have used both +\protect\thru\space and \protect\via\space in this letter.^^J +\@eightspaces Use one or the other, but not both.}}% +\def\@errorclassargument{% +\typeout{^^JFatal error: \protect\classlabel{\@classlabel} +calls for an invalid classification label.^^J}% +\@errorclassmessage}% +\def\@errortwoclasses{% +\typeout{^^JFatal error: you have called \protect\classlabel \space +more than once, or you have^^J +\@eightspaces\space\space\space\space called +\protect\classlabel \space after having called +\protect\begin{document}.^^J^^J +\space You are allowed to declare only one classification label +per letter.^^J +\space You must call \protect\classlabel\space before using +\protect\begin{document}.^^J}% +\@errorclassmessage}% +\def\@errorclassmessage{% +\typeout{% +\space\space To print CONFIDENTIAL on the top and bottom +of your letter,^^J +\space use \protect\classlabel{c}^^J^^J +\space To print SECRET on the top and bottom +of your letter,^^J +\space use \protect\classlabel{s}^^J^^J +\space To print UNCLASSIFIED on the top and bottom +of your letter,^^J +\space use \protect\classlabel{u}^^J^^J +\space If you do not want a classification label on your letter,^^J +\space use \protect\classlabel{}^^J +\space or do not use the \protect\classlabel\space command.^^J^^J +\space Change your file, and rerun LaTeX.^^J}}% +\def\@errorillegaltypeface{% +\typeout{^^JFatal error: \protect\typeface{\@typeface} calls for an invalid +typeface.^^J^^J +\space Use \protect\typeface{tt} or \protect\typeface{rm}^^J^^J +\space Change your file, and rerun LaTeX.^^J}}% +\def\@errorillegalheaderfont{\def\@fontcommand{\protect\headerfonts}% +\def\@fontarg{\@headerfonts}% +\typeout{^^JFatal error: \@fontcommand{\@fontarg} calls for +an invalid font.^^J^^J +\space Use \@fontcommand{lafonts}, \@fontcommand{texfonts},^^J +\space or \@fontcommand{postscript}\space +depending on what fonts^^J \space are available on your machine.^^J^^J +\space Using \@fontcommand{} will give you the default fonts.^^J^^J +\space Use \@fontcommand{letterpaper} if you wish to print your letter^^J +\space on pre-printed letter paper.^^J^^J +\space Change your file, and rerun LaTeX.^^J}}% +\def\@errorillegalbodyfont{\def\@fontcommand{\protect\bodyfonts}% +\def\@fontarg{\@bodyfonts}% +\typeout{^^JFatal error: \@fontcommand{\@fontarg} calls +for an invalid font.^^J^^J +\space Use \@fontcommand{texfonts} or \@fontcommand{postscript}^^J +\space depending on what fonts are available on your machine.^^J^^J +\space Using \@fontcommand{} will give you the default fonts.^^J^^J +\space Change your file, and rerun LaTeX.^^J}}% +\def\@erroramfonts{% +\typeout{^^JWarning: You are using the obsolete Almost Modern (AM) +fonts.^^J^^J +\@eightspaces Only cursory debugging has been attempted using AM fonts.^^J +\@eightspaces The Computer Modern (CM) fonts are fully supported +by laletter.^^J}}% +\def\@erroroldlafonts{% +\typeout{^^JFatal error: Your system is using an obsolete version +of lafonts.^^J^^J +\@eightspaces Get the manual called "TeX Fonts for Los Alamos +Memos and Letters^^J +\@eightspaces Installation Reference," CIC \protect##1128, +from the Computer^^J +\@eightspaces Information Center, 667-6992.^^J}}% +\def\@errorshortletter{% +\typeout{^^JWarning: Use of the \protect\shortletterstyle\space macro +is intended^^J +\@eightspaces for use with letters of ten lines or less.^^J^^J}}% +\def\@erroras#1#2#3{% +\typeout{^^JWarning: You have used both \protect#1\space and +\protect#2.^^J +\@eightspaces Use one or the other but not both.^^J +\@eightspaces "#3" will not be printed on this letter.^^J^^J}}% +\def\@todieornottodie{\relax}% +\def\@exit{\@fileswfalse\@makemaillabelsfalse\end{document}}% +\def\@exitfi{\@fileswfalse\@makemaillabelsfalse\fi\end{document}}% +\def\@specialbopempty{}% +\let\@specialboptext=\@specialbopempty +\def\specialbop#1{% +\xdef\@specialboptext{% +\@specialboptext +\special{#1}% +}}% +\def\@specialbopemit{% +\ifx\@specialboptext\@specialbopempty +\else +\@specialboptext +\global\let\@specialboptext=\@specialbopempty +\fi +}% +\def\@item[#1]{% +\if@noparitem \@donoparitem +\else \if@inlabel \indent \par \fi +\ifhmode \unskip\unskip \par \fi +\if@newlist \if@nobreak \@nbitem \else +{% +\if@closing +\@beginparpenalty=10000 +\fi +\addpenalty\@beginparpenalty +}% +\addvspace\@topsep \addvspace{-\parskip}\fi +\else +{% +\if@closing +\ifnum\c@@countlist=1 % +\@itempenalty=10000 +\fi +\advance \@countletterlist by -1 +\ifnum\c@@countlist=\@countletterlist +\@itempenalty=10000 +\fi +\fi +\addpenalty\@itempenalty +}% +\addvspace\itemsep +\fi +\global\@inlabeltrue +\fi +\everypar{\global\@minipagefalse\global\@newlistfalse +\if@inlabel\global\@inlabelfalse +\if@everyindent\else% +\hskip -\parindent +\fi% +\box\@labels +\penalty\z@ \fi +\everypar{}}\global\@nobreakfalse +\if@noitemarg\@noitemargfalse \if@nmbrlist\refstepcounter{\@listctr}\fi\fi +\setbox\@tempboxa\hbox{\makelabel{#1}}% +\global\setbox\@labels +\hbox{\unhbox\@labels \hskip \itemindent +\hskip -\labelwidth \hskip -\labelsep +\ifdim \wd\@tempboxa >\labelwidth +\box\@tempboxa +\else \hbox to\labelwidth {\makelabel{#1}}\fi +\hskip \labelsep}\ignorespaces +}% +\def\@outputpage{\begingroup\catcode`\ =10 +\let\-\@dischyph \let\'\@acci \let\`\@accii \let\=\@acciii +\if@specialpage +\global\@specialpagefalse\@nameuse{ps@\@specialstyle}\fi +\if@twoside +\ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot +\let\@themargin\oddsidemargin +\else \let\@thehead\@evenhead +\let\@thefoot\@evenfoot \let\@themargin\evensidemargin +\fi\fi +\shipout +\vbox{\normalsize \baselineskip\z@ \lineskip\z@ +\let\par\@@par % +\@specialbopemit% +\vskip \topmargin \moveright\@themargin +\vbox{\setbox\@tempboxa +\vbox to\headheight{\vfil \hbox to\textwidth{\@thehead}}% +\dp\@tempboxa\z@ +\box\@tempboxa +\vskip \headsep +\box\@outputbox +\baselineskip\footskip +\hbox to\textwidth{\@thefoot}}}\global\@colht\textheight +\endgroup +\if@outputfirstpage% +\global\topskip=\ht\strutbox% +\global\headsep=\@dimentoppagetwo% +\global\advance\headsep by -\topskip% +\global\advance\textheight by -\headsep% +\global\@outputfirstpagefalse% +\fi% +\stepcounter{page}% +\if@outputlastpage% +\ifnum\outputpenalty=-\@M +\global\c@page=1 +\global\topskip=\@topskipfirst +\global\headsep=\@headsepfirst +\global\textheight=\@textheightfirst +\fi\fi +\let\firstmark\botmark +}% +\def\document{\endgroup +\@colht\textheight \@colroom\textheight \vsize\textheight +\columnwidth\textwidth \@clubpenalty\clubpenalty +\if@twocolumn \advance\columnwidth -\columnsep +\divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue +\fi +\hsize\columnwidth \linewidth\hsize +\begingroup\@floatplacement\@dblfloatplacement +\makeatletter\let\@writefile\@gobbletwo +\@input{\jobname.aux}\endgroup +\if@filesw \immediate\openout\@mainaux=\jobname.aux +\immediate\write\@mainaux{\relax}\fi +\if@makemaillabels \immediate\openout\@mainmlb=\jobname.mlb +\immediate\write\@mainmlb{\string\@startlabels}\fi +\def\do##1{\let ##1\@notprerr} +\@preamblecmds +\let\do\noexpand +\@normalsize\everypar{}} +\def\enddocument{% +\if@neveropened +\@splitto +\setbox\@boxtemp=\hbox{\@printingtotrue\@printto\@printingtofalse}% +\fi +\@checkend{document}\newpage\begingroup +\if@makemaillabels \immediate\closeout\@mainmlb +\makeatletter\input \jobname.mlb\clearpage\fi +\if@filesw \immediate\closeout\@mainaux +\def\global\@namedef##1##2{}\def\newlabel{\@testdef r}% +\def\bibcite{\@testdef b}\@tempswafalse \makeatletter\input \jobname.aux +\if@tempswa \@warning{Label(s) may have changed. Rerun to get +cross-references right}\fi\fi\endgroup\deadcycles\z@\@@end} diff --git a/macros/latex209/contrib/laletter/lettest.tex b/macros/latex209/contrib/laletter/lettest.tex new file mode 100644 index 0000000000..2708b3ddf7 --- /dev/null +++ b/macros/latex209/contrib/laletter/lettest.tex @@ -0,0 +1,176 @@ +\documentstyle[12pt]{laletter} % type size of 12 points + +%\documentstyle[11pt]{laletter} % type size of 11 points +%\documentstyle{laletter} % type size of 10 points +% +% This is a sample file to show you typical input for printing a +% letter at the Los Alamos National Laboratory using LaTeX. +% +% Notice that the '%' is the comment character. The '%' and the +% rest of the line are ignored by LaTeX. All of the LaTeX letter +% commands will appear in this file. The ones not used by this +% file will be commented out. To look at the body of the letter, +% skip down to the \begin{document} command. + +% When you print out the DVI file that is generated from this +% source file, you will notice that the header doesn't look like +% pre-printed letter paper. That is because \headerfonts{texfonts} +% is used here. +% +% If you are printing on a PostScript printer, use +% \headerfonts{postscript} to get a good looking header. The +% \headerfonts{lafonts} command will also produce a nice header, +% but you will need to have installed the LANL header fonts. If +% you use \headerfont{letterpaper}, put pre-printed letter paper +% in your printer or copying machine. +% + \headerfonts{texfonts} +% \headerfonts{postscript} +% \headerfonts{lafonts} +% \headerfonts{letterpaper} + + \bodyfonts{texfonts} +% \bodyfonts{postscript} + \typeface{tt} +% \typeface{rm} + +% With no date command, today's date will be printed. +% + \date{July 19, 1989} + + \symbol{C-2} +% \serialnumber{5-213} + \mailstop{B253} + \telephone{(505) 665-0859\\(FTS) 843-0859} + \to{LaTeX Users \\ + Los Alamos National Laboratory \\ + Los Alamos, New Mexico 87545} + \salutation {Dear LaTeX users:} + \subject{typical letter} +% \reference{Office Procedures Manual} +% \nocallouts +% \thru{Alicia J. Lujan, Division Leader\\Life Physics Division} +% \via{Alicia J. Lujan, Division Leader\\Life Physics Division} + + \complimentaryclose {Sincerely yours,} +% \complimentaryclose {Very truly yours,} + \signature {Steve Sydoriak} + \originator{SS} + \signer {SS} + \typist {SS} + \encas + \cy {CRMO (2), MS A111\\ + File} + +% \attachments{Graph, Gravitational Pull vs. Image Time, TP-3, MS B888} +% \attachmentas +% \attachmentsas +% \distribution{K. C. Jordan, C-5, MS B777\\ +% T. S. Solomon, TP-1, MS B233} +% \enc{Letter, Smith to Jones, June 25, 1986\\ +% Letter, Landau to Gresham, March 1, 1987} +% \attachmentspagebreak +% \cypagebreak +% \distributionpagebreak +% \encpagebreak + +% \shortletterstyle % For letters of ten lines or less. +% \useattnasheader +% \usesubjectasheader +% \usetoasheader +% \useotherasheader{Library Management Meeting} + +% \classlabel{u} % UNCLASSIFIED +% \classlabel{c} % CONFIDENTIAL +% \classlabel{s} % SECRET + +% \expandtopmargin{.5in} +% \expandwidth{-.25in} + +% +% If you use three or more \to commands, the addresses will be +% split into two columns. Use \leftto and \rightto if you want to +% override this. +% +% \leftto{Genie Electronics\\ +% \attn{Mr. Robert Mercer, Sales Manager}\\ +% P.O. Box 8501\\ +% Midwest City, OK 73110} +% \leftto{John Binnington, Manager\\Technical Information Division\\ +% Brookhaven National Laboratory\\Associated Universities, Inc.\\ +% Upton, Long Island, NY 11973} +% \rightto{Juanita L. Garcia\\Library Science Specialist\\Technical +% Library\\Sandia National Laboratories\\Albuquerque, NM 87115} + +% \letterpaperhcorr{4pt} +% \letterpapervcorr{-6pt} + +% \makemaillabels +% \returnaddress{Ben Boyd \\ Los Alamos National Laboratory \\ +% Group AB-11, MS D444 \\ +% Los Alamos, NM 87545} +% \skiplabels{4} + +% The following default values set things up for producing +% labels in two columns of seven 1-1/2" X 4" labels each, +% suitable for reproducing onto Avery brand number 5362 address +% labels. + +% \maillabelheight{1.5in} +% \maillabeltopmargin{.25in} + +% For 1" labels, use +% \maillabelheight{1in} +% \maillabeltopmargin{.5in} + +% For 2" labels,use +% \maillabelheight{2in} +% \maillabeltopmargin{.5in} + +\begin{document} +\opening + +This example shows what a typical letter might look like. It uses +the texfonts option for the header and the body of the letter. +The texfonts option calls for use of TeX's Computer Modern fonts. +The body has the typewriter typeface with a point size of 12. + +Remember that LaTeX interprets a blank line as the start of a new +paragraph, and that any of the special characters \#,\$,\%, \&, +\{, and \} must be preceded by a backslash. To produce double +quotes in typewriter typeface, use the " key on your keyboard. To +produce double quotes in Roman typeface, use `` and '' instead. + +The file named lettest.tex that was used to print this letter can +be used as a template to write your own letters. All of the +preamble commands that can be used by LaTeX letters are shown in +lettest.tex. Many of the commands are commented out. They can be +activated by removing the \% at the beginning of the line. + +The spacing and indentation of the preamble commands make the file +easier to read; the outcome of your file is not affected. The +preamble begins with the $\backslash$documentstyle command and +continues to the $\backslash$begin\{document\} command where the +document section starts. Your file must have a +$\backslash$end\{document\} command to indicate the end of the +letter. + +The texfonts option was chosen for the header of this letter +because the Computer Modern fonts are available on any +installation of TeX\@. Use the postscript, lafonts, or +letterpaper options in the $\backslash$headerfonts command to +obtain a good looking header. + +There is a draft version of the {\em LaTeX Letter Reference} on CFS +in any subdirectory of /latexletter. It is an stexted, ASCII file +that can be viewed on any screen or printed on any printer. +The final version of the {\em LaTeX Letter Reference} will be +available from the Computer Information Center in September or +October. + +See {\em LaTeX, A Document Preparation System} by Leslie +Lamport to learn all about the LaTeX commands that you can put +in the body of your letter. + +\closing +\end{document} |