home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 1B
/
DATAFILE_PDCD1B.iso
/
_tex
/
tex
/
source
/
l2esrc1
/
!TeX
/
LaTeX2eSrc
/
letter.dtx
(
.txt
)
< prev
next >
Wrap
LaTeX Document
|
1994-09-26
|
60KB
|
1,598 lines
% \iffalse meta-comment
% Copyright 1994 the LaTeX3 project and the individual authors.
% All rights reserved. For further copyright information see the file
% legal.txt, and any other copyright indicated in this file.
% This file is part of the LaTeX2e system.
% ----------------------------------------
% This system is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
% IMPORTANT NOTICE:
% For error reports in case of UNCHANGED versions see bugs.txt.
% Please do not request updates from us directly. Distribution is
% done through Mail-Servers and TeX organizations.
% You are not allowed to change this file.
% You are allowed to distribute this file under the condition that
% it is distributed together with all files mentioned in manifest.txt.
% If you receive only some of these files from someone, complain!
% You are NOT ALLOWED to distribute this file alone. You are NOT
% ALLOWED to take money for the distribution or use of either this
% file or a changed version, except for a nominal charge for copying
% etc.
% \fi
% \CheckSum{989}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%% Digits \0\1\2\3\4\5\6\7\8\9
%% Exclamation \! Double quote \" Hash (number) \#
%% Dollar \$ Percent \% Ampersand \&
%% Acute accent \' Left paren \( Right paren \)
%% Asterisk \* Plus \+ Comma \,
%% Minus \- Point \. Solidus \/
%% Colon \: Semicolon \; Less than \<
%% Equals \= Greater than \> Question mark \?
%% Commercial at \@ Left bracket \[ Backslash \\
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
% \iffalse
% \section{Identification}
% This document class can only be used with \LaTeXe, so we make
% sure that an appropriate message is displayed when another \TeX{}
% format is used.
% \begin{macrocode}
%<+letter>\NeedsTeXFormat{LaTeX2e}
% \end{macrocode}
% Announce the Class name and its version.
% \fi
% \changes{v1.2f}{1994/04/29}{Use LaTeX instead of LaTeX2e in messages}
% \changes{v1.2f}{1994/04/29}{Removed \cmd\typeout message}
% \changes{v1.2g}{1994/05/01}{Removed the use of \cmd\fileversion
% c.s.}
% \changes{v1.2j}{1994/06/01}{Corrected driver code.}
% \iffalse
% \begin{macrocode}
%<+letter>\ProvidesClass{letter}
%<*driver>
\ProvidesFile{letter.drv}
%</driver>
[1994/08/26 v1.2o
%<+letter> Standard LaTeX document class]
% \end{macrocode}
% \section{The documentation driver file}
% We have our own document class to format the \LaTeXe
% documentation.
% \fi
% \changes{v1.0.6}{1993/12/07}{Use class ltxdoc document class}
% \iffalse
% \begin{macrocode}
%<*driver>
\documentclass{ltxdoc}
% \end{macrocode}
% We don't want everything to appear in the index.
% \begin{macrocode}
\DoNotIndex{\@M,\@badmath}
\DoNotIndex{\@centercr}
\DoNotIndex{\@empty,\@ignoretrue}
\DoNotIndex{\@ixpt}
\DoNotIndex{\@minus,\@ne,\@plus}
\DoNotIndex{\\,\addtolength}
\DoNotIndex{\advance,\Alph,\alph}
\DoNotIndex{\arabic,\ast,\begin,\begingroup,\bfseries,\bgroup,\box}
\DoNotIndex{\bullet}
\DoNotIndex{\cdot,\cr,\day,\DeclareOption}
\DoNotIndex{\def,\DocInput,\documentclass}
\DoNotIndex{\DoNotIndex,\egroup,\ifx,\else,\fi,\endtrivlist}
\DoNotIndex{\EnableCrossrefs,\end,\end@dblfloat,\end@float,\endgroup}
\DoNotIndex{\endlist,\everycr,\ExecuteOptions}
\DoNotIndex{\filedate,\filename,\fileversion}
\DoNotIndex{\global,\halign,\hangindent,\hbox,\hfil,\hfill,\hrule}
\DoNotIndex{\hsize,\hskip,\hspace,\hss,\ifcase,\or,\fi}
\DoNotIndex{\ifvmode,\fi,\ifnum,\fi,\input}
\DoNotIndex{\kern,\leavevmode,\let,\leftmark}
\DoNotIndex{\list,\llap,\long,\m@ne,\m@th,\mark}
\DoNotIndex{\month,\newcommand,\newcounter,\newenvironment}
\DoNotIndex{\NeedsTeXFormat,\newdimen}
\DoNotIndex{\newpage,\nobreak,\noindent,\number}
\DoNotIndex{\p@}
\DoNotIndex{\pagestyle,\par}
\DoNotIndex{\penalty,\PrintChanges,\PrintIndex,\ProcessOptions}
\DoNotIndex{\protect,\ProvidesClass,\raggedbottom,\raggedright}
\DoNotIndex{\refstepcounter,\relax,\renewcommand,\reset@font}
\DoNotIndex{\rightmargin,\rlap,\rmfamily,\roman}
\DoNotIndex{\roman,\setbox,\setcounter,\setlength}
\DoNotIndex{\skip,\slshape,\space}
\DoNotIndex{\trivlist,\typeout,\tw@}
\DoNotIndex{\vskip,\vspace,\year,\z@}
\RecordChanges % Gather update information
% \end{macrocode}
% We use so many \file{docstrip} modules that we set the
% \texttt{StandardModuleDepth} counter to 1.
% \begin{macrocode}
\setcounter{StandardModuleDepth}{1}
% \end{macrocode}
% The following command retrieves the date and version information
% from the file.
% \begin{macrocode}
\GetFileInfo{letter.drv}
% \end{macrocode}
% Some commonly used abbreviations
% \begin{macrocode}
\newcommand\Lopt[1]{\textsf {#1}}
\newcommand\file[1]{\texttt {#1}}
\newcommand\Lcount[1]{\textsl {\small#1}}
\newcommand\pstyle[1]{\textsl {#1}}
% \end{macrocode}
% We also want the full details.
% \begin{macrocode}
\begin{document}
\DocInput{letter.dtx}
\PrintIndex
% ^^A\PrintChanges
\end{document}
%</driver>
% \end{macrocode}
% \fi
% \changes{v1.1}{93/12/18}{Changes to make it work with
% compatibility mode.}
% \changes{v1.1a}{93/12/19}{Removed float parms}
% \changes{v1.1c}{1994/01/17}{Moved definition of \cmd{@textop} to
% initialization section, to counteract setting of
% \cmd{@texttop} in \cmd{raggedbottom}.}
% \changes{v1.1d}{1994/01/20}{Corrected margins: Now computed from
% \cmd{paperwidth} and \cmd{textwidth}, so that the text
% is horizontally centered.}
% \changes{v1.1e}{1994/02/03}{Corrected checksum}
% \changes{v1.2a}{1994/02/12}{Removed onecolumn and twocolumn options.}
% \changes{v1.2a}{1994/02/12}{Changed label producing commands in .aux
% file.}
% \changes{v1.2b}{1994/02/28}{Moved driver further up.}
% \changes{v1.2c}{1994/03/08}{Always write .aux file.}
% \changes{v1.2k}{1994/06/17}{Various documentation enhancements}
% \iffalse
% Copyright (C) 1994 LaTeX3 project, Frank Mittelbach
% and Rainer Sch\"opf, all rights reserved.
% \fi
% \author{Leslie Lamport and Frank Mittelbach and Rainer Sch\"opf}
% \title{Standard Letter Document Class for \LaTeX{} version 2e}
% \maketitle
% \tableofcontents
% \StopEventually
% \section{Initial Code}
% In this part we define a few commands that are used later on.
% \begin{macro}{\@ptsize}
% This control sequence is used to store the second digit of the
% pointsize we are typesetting in. So, normally, it's value is one
% of 0, 1 or 2.
% \begin{macrocode}
%<*letter>
\newcommand\@ptsize{}
% \end{macrocode}
% \end{macro}
% \subsection{Setting Paper Sizes}
% The variables |\paperwidth| and |\paperheight| should reflect the
% physical paper size after trimming. For desk printer output this
% is usually the real paper size since there is no post-processing.
% \changes{v1.0a}{1993/12/14}{Corrected typo, A4 is not 279 mm high}
% \begin{macrocode}
\DeclareOption{a4paper}
{\setlength\paperheight {297mm}%
\setlength\paperwidth {210mm}}
\DeclareOption{a5paper}
{\setlength\paperheight {210mm}%
\setlength\paperwidth {148mm}}
\DeclareOption{b5paper}
{\setlength\paperheight {250mm}%
\setlength\paperwidth {176mm}}
\DeclareOption{letterpaper}
{\setlength\paperheight {11in}%
\setlength\paperwidth {8.5in}}
\DeclareOption{legalpaper}
{\setlength\paperheight {14in}%
\setlength\paperwidth {8.5in}}
\DeclareOption{executivepaper}
{\setlength\paperheight {10.5in}%
\setlength\paperwidth {7.25in}}
% \end{macrocode}
% \changes{v1.2o}{1994/08/26}{Added the option \textsf{landscape}}
% The option \Lopt{landscape} switches the values of |\paperheight|
% an