# Direc­tory tex-archive/macros/latex209/contrib/laletter

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.

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

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
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.


## Files

Name Size Date Notes