home *** CD-ROM | disk | FTP | other *** search
/ Atari FTP / ATARI_FTP_0693.zip / ATARI_FTP_0693 / Tex / Tex29 / StTeXmac.zoo / macros / letter.sty < prev    next >
Text File  |  1988-10-16  |  12KB  |  339 lines

  1. % letter.sty 30-Apr-88
  2.  
  3. \typeout{Document Style `letter' <30 Apr 88>.}
  4.  
  5. \def\@ptsize{0} \@namedef{ds@11pt}{\def\@ptsize{1}}
  6. \@namedef{ds@12pt}{\def\@ptsize{2}} 
  7. \@twosidefalse
  8. \def\ds@draft{\overfullrule 5pt} 
  9. \@options
  10.  
  11. \lineskip 1pt \normallineskip 1pt
  12. \def\baselinestretch{1}
  13.  
  14. \ifcase \@ptsize\relax 
  15. \def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt 
  16. \abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip
  17. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt
  18. minus3pt\let\@listi\@listI} 
  19. \def\small{\@setsize\small{11pt}\ixpt\@ixpt
  20. \abovedisplayskip 8.5pt plus 3pt minus 4pt\belowdisplayskip \abovedisplayskip
  21. \abovedisplayshortskip \z@ plus2pt\belowdisplayshortskip 4pt plus2pt minus
  22. 2pt\def\@listi{\leftmargin\leftmargini \topsep 4pt plus 2pt minus 2pt\parsep
  23. 2pt plus 1pt minus 1pt
  24. \itemsep \parsep}}
  25. \def\footnotesize{\@setsize\footnotesize{9.5pt}\viiipt\@viiipt
  26. \abovedisplayskip 6pt plus 2pt minus 4pt\belowdisplayskip \abovedisplayskip
  27. \abovedisplayshortskip \z@ plus 1pt\belowdisplayshortskip 3pt plus 1pt minus
  28. 2pt\def\@listi{\leftmargin\leftmargini \topsep 3pt plus 1pt minus 1pt\parsep
  29. 2pt plus 1pt minus 1pt
  30. \itemsep \parsep}}
  31. \def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt}
  32. \def\tiny{\@setsize\tiny{6pt}\vpt\@vpt}
  33. \def\large{\@setsize\large{14pt}\xiipt\@xiipt}
  34. \def\Large{\@setsize\Large{18pt}\xivpt\@xivpt}
  35. \def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt}
  36. \def\huge{\@setsize\huge{25pt}\xxpt\@xxpt}
  37. \def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt}
  38. \or 
  39. \def\@normalsize{\@setsize\normalsize{13.6pt}\xipt\@xipt
  40. \abovedisplayskip 11pt plus3pt minus6pt\belowdisplayskip \abovedisplayskip
  41. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt
  42. minus3pt\let\@listi\@listI} 
  43. \def\small{\@setsize\small{12pt}\xpt\@xpt
  44. \abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip
  45. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt
  46. minus3pt\def\@listi{\leftmargin\leftmargini \topsep 6pt plus 2pt minus
  47. 2pt\parsep 3pt plus 2pt minus 1pt
  48. \itemsep \parsep}}
  49. \def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt
  50. \abovedisplayskip 8pt plus 2pt minus 4pt\belowdisplayskip \abovedisplayskip
  51. \abovedisplayshortskip \z@ plus 1pt\belowdisplayshortskip 4pt plus 2pt minus
  52. 2pt\def\@listi{\leftmargin\leftmargini \topsep 4pt plus 2pt minus 2pt\parsep
  53. 2pt plus 1pt minus 1pt
  54. \itemsep \parsep}}
  55. \def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt}
  56. \def\tiny{\@setsize\tiny{7pt}\vipt\@vipt}
  57. \def\large{\@setsize\large{14pt}\xiipt\@xiipt}
  58. \def\Large{\@setsize\Large{18pt}\xivpt\@xivpt}
  59. \def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt}
  60. \def\huge{\@setsize\huge{25pt}\xxpt\@xxpt}
  61. \def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt}
  62. \or 
  63. \def\@normalsize{\@setsize\normalsize{15pt}\xiipt\@xiipt
  64. \abovedisplayskip 12pt plus3pt minus7pt\belowdisplayskip \abovedisplayskip
  65. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt
  66. minus3pt\let\@listi\@listI} 
  67. \def\small{\@setsize\small{13.6pt}\xipt\@xipt
  68. \abovedisplayskip 11pt plus3pt minus6pt\belowdisplayskip \abovedisplayskip
  69. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt
  70. minus3pt\def\@listi{\leftmargin\leftmargini \parsep 4.5pt plus 2pt minus 1pt
  71.  \itemsep \parsep
  72.  \topsep 9pt plus 3pt minus 5pt}}
  73. \def\footnotesize{\@setsize\footnotesize{12pt}\xpt\@xpt
  74. \abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip
  75. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt
  76. minus3pt\def\@listi{\leftmargin\leftmargini \topsep 6pt plus 2pt minus
  77. 2pt\parsep 3pt plus 2pt minus 1pt
  78. \itemsep \parsep}}
  79. \def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt}
  80. \def\tiny{\@setsize\tiny{7pt}\vipt\@vipt}
  81. \def\large{\@setsize\large{18pt}\xivpt\@xivpt}
  82. \def\Large{\@setsize\Large{22pt}\xviipt\@xviipt}
  83. \def\LARGE{\@setsize\LARGE{25pt}\xxpt\@xxpt}
  84. \def\huge{\@setsize\huge{30pt}\xxvpt\@xxvpt}
  85. \let\Huge=\huge
  86. \fi
  87. \normalsize 
  88.  
  89. \oddsidemargin 53pt \evensidemargin 53pt \marginparwidth 90pt \marginparsep
  90. 11pt \marginparpush 5pt 
  91.  \topmargin 27pt \headheight 12pt \headsep 45pt \footheight 12pt \footskip
  92. 25pt 
  93. \textheight 505pt \textwidth 365pt \columnsep 10pt \columnseprule 0pt 
  94. \raggedbottom 
  95. \footnotesep 12pt \skip\footins 10pt plus 2pt minus 4pt 
  96. \floatsep 12pt plus 2pt minus 2pt
  97. \textfloatsep 20pt plus 2pt minus 4pt
  98. \intextsep 12pt plus 2pt minus 2pt
  99. \dblfloatsep 12pt plus 2pt minus 2pt
  100. \dbltextfloatsep 20pt plus 2pt minus 4pt
  101. \@maxsep 20pt
  102. \@dblmaxsep 20pt
  103. \@fptop 0pt plus 1fil
  104. \@fpsep 8pt plus 2fil
  105. \@fpbot 0pt plus 1fil
  106. \@dblfptop 0pt plus 1fil
  107. \@dblfpsep 8pt plus 2fil
  108. \@dblfpbot 0pt plus 1fil
  109.  
  110.  
  111.  
  112. \newdimen\longindentation
  113. \longindentation=.5\textwidth
  114. \newdimen\indentedwidth
  115. \indentedwidth=\textwidth
  116. \advance\indentedwidth -\longindentation
  117.  
  118. \def\opening#1{\ifx\@empty\fromaddress
  119.  \thispagestyle{firstpage} 
  120.  {\raggedleft\@date\par}
  121.  \else \thispagestyle{empty} 
  122.  {\raggedleft\begin{tabular}{l}\ignorespaces\fromaddress \\*[2\parskip]
  123.  \@date \end{tabular}\par}
  124.  \fi
  125.  \vspace{2\parskip}
  126.  {\raggedright \toname \\ \toaddress \par}\vspace{2\parskip}
  127.  #1\par\nobreak}
  128. \long\def\closing#1{\par\nobreak\vspace{\parskip} 
  129.  \stopbreaks
  130.  \noindent
  131.  \ifx\@empty\fromaddress\else
  132.  \hspace*{\longindentation}\fi
  133.  \parbox{\indentedwidth}{\raggedright
  134.  \ignorespaces #1\\[6\medskipamount] \ifx\@empty\fromsig 
  135.  \fromname
  136.  \else \fromsig \fi\strut}
  137.  \par}
  138.  
  139. \def\ps{\par\startbreaks}
  140. \def\cc#1{\par\noindent
  141. \parbox[t]{\textwidth}{\@hangfrom{\rm cc: }\ignorespaces #1\strut}\par}
  142. \def\encl#1{\par\noindent
  143. \parbox[t]{\textwidth}{\@hangfrom{\rm encl: }\ignorespaces #1\strut}\par}
  144. \def\stopletter{}
  145.  
  146. \def\returnaddress{}
  147. \newcount\labelcount
  148.  
  149. \def\startlabels{\labelcount=0 \baselineskip=0pt \lineskip=0pt
  150. \pagestyle{empty}
  151. \let\@texttop=\relax
  152. \topmargin -50pt
  153. \headsep 0pt
  154. \oddsidemargin -35pt
  155. \evensidemargin -35pt
  156. \textheight 10in
  157. \@colht\textheight \@colroom\textheight \vsize\textheight
  158. \textwidth 550pt
  159. \columnsep 25pt
  160. \xpt
  161. \baselineskip=0pt
  162. \lineskip=0pt
  163. \boxmaxdepth=0pt
  164. \parindent=0pt \twocolumn\relax}
  165. \def\mlabel#1#2{\setbox0\vbox{\parbox[b]{3.6in}{\strut\ignorespaces #2}}
  166.  \vbox to 2in{\vss \box0 \vss}}
  167.  
  168.  
  169.  
  170. \long\def\letter#1{\newpage
  171.  \c@page\@ne
  172.  \interlinepenalty=200 \@processto{#1}}
  173. \def\endletter{\stopletter\@@par\pagebreak\@@par
  174.  \if@filesw 
  175.  \begingroup 
  176.  \def\protect{\string}
  177.  \let\\=\relax
  178.  \def\protect##1{\string##1\space}
  179.  \immediate\write\@auxout{\string\mlabel{\returnaddress}{\toname
  180.  \\\toaddress}}
  181.  \endgroup 
  182.  \fi}
  183. \long\def\@processto#1{\@xproc #1\\@@@\ifx\toaddress\@empty 
  184.  \else \@yproc #1@@@\fi}
  185. \long\def\@xproc #1\\#2@@@{\def\toname{#1}\def\toaddress{#2}}
  186. \long\def\@yproc #1\\#2@@@{\def\toaddress{#2}}
  187. \def\stopbreaks{\interlinepenalty \@M
  188.  \def\par{\@@par\nobreak}\let\\=\@nobreakcr
  189.  \let\vspace\@nobreakvspace}
  190. \def\@nobreakvspace{\@ifstar{\@nobreakvspacex}{\@nobreakvspacex}}
  191. \def\@nobreakvspacex#1{\ifvmode\nobreak\vskip #1\relax\else
  192.  \@bsphack\vadjust{\nobreak\vskip #1}\@esphack\fi}
  193. \def\@nobreakcr{\vadjust{\penalty\@M}\@ifstar{\@xnewline}{\@xnewline}}
  194. \def\startbreaks{\let\\=\@normalcr
  195.  \interlinepenalty 200\def\par{\@@par\penalty 200}}
  196. \def\name#1{\def\fromname{#1}}
  197. \def\fromname{}
  198. \def\signature#1{\def\fromsig{#1}}
  199. \def\fromsig{}
  200. \long\def\address#1{\def\fromaddress{#1}}
  201. \def\fromaddress{}
  202. \def\location#1{\def\fromlocation{#1}}
  203. \def\fromlocation{}
  204. \def\telephone#1{\def\telephonenum{#1}}
  205. \def\telephonenum{}
  206. \def\document{\endgroup
  207.  \@colht\textheight \@colroom\textheight \vsize\textheight
  208.  \columnwidth\textwidth \@clubpenalty\clubpenalty
  209.  \if@twocolumn \advance\columnwidth -\columnsep 
  210.  \divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue 
  211.  \fi
  212.  \hsize\columnwidth \linewidth\hsize
  213.  \begingroup\@floatplacement\@dblfloatplacement\endgroup
  214.  \if@filesw \immediate\openout\@mainaux=\jobname.aux
  215.  \immediate\write\@mainaux{\string\startlabels\string\@startlabels}\fi
  216.  \def\do##1{\let ##1\@notprerr}
  217.  \@preamblecmds
  218.  \let\do\noexpand 
  219.  \@normalsize\everypar{}}
  220. \def\enddocument{\@checkend{document}\newpage\begingroup 
  221. \if@filesw \immediate\closeout\@mainaux 
  222. \makeatletter\input \jobname.aux\clearpage
  223. \fi\endgroup\deadcycles\z@\@@end}
  224.  
  225. \def\makelabels{\@fileswtrue}
  226. \def\@startlabels{}
  227.  
  228.  
  229.  
  230. \def\@texttop{\ifnum\c@page=1\vskip 0pt plus .00006fil\relax\fi}
  231. \def\ps@headings{\def\@oddhead{\sl To \ignorespaces\toname \hfil \@date
  232.  \hfil Page \thepage}\def\@oddfoot{}}
  233. \def\ps@empty{\def\@oddhead{}\def\@oddfoot{}\def\@evenhead{}\def\@evenfoot{}}
  234.  
  235. \def\ps@firstpage{\def\@oddhead{}\def\@oddfoot{\raisebox
  236.  {-45pt}[0pt]{\hbox to \textwidth
  237.  {\hspace*{100pt}\xpt\fromlocation \hfill
  238. \telephonenum}}\hss}\def\@evenhead{}\def\@evenfoot{}}
  239. \def\ps@plain{\def\@oddhead{}\def\@oddfoot{\rm\hfil\thepage
  240.  \hfil}\def\@evenhead{}\let\@evenfoot\@oddfoot}
  241.  
  242. \parskip .7em \parindent 0pt \topsep .4em \partopsep 0pt \itemsep .4em 
  243. \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 
  244. \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty
  245. -\@lowpenalty 
  246.  
  247.  
  248.  
  249. \leftmargini 2.5em
  250. \leftmarginii 2.2em \leftmarginiii 1.87em \leftmarginiv 1.7em \leftmarginv 1em
  251. \leftmarginvi 1em
  252. \leftmargin\leftmargini
  253. \labelwidth\leftmargini\advance\labelwidth-\labelsep
  254. \labelsep 5pt
  255. \parsep 0pt
  256. \let\@listi\relax
  257. \def\@listii{\leftmargin\leftmarginii
  258.  \labelwidth\leftmarginii\advance\labelwidth-\labelsep}
  259. \def\@listiii{\leftmargin\leftmarginiii
  260.  \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
  261.  \topsep .2em 
  262.  \itemsep \topsep}
  263. \def\@listiv{\leftmargin\leftmarginiv
  264.  \labelwidth\leftmarginiv\advance\labelwidth-\labelsep}
  265. \def\@listv{\leftmargin\leftmarginv
  266.  \labelwidth\leftmarginv\advance\labelwidth-\labelsep}
  267. \def\@listvi{\leftmargin\leftmarginvi
  268.  \labelwidth\leftmarginvi\advance\labelwidth-\labelsep}
  269.  
  270. \def\labelenumi{\arabic{enumi}.} 
  271. \def\theenumi{\arabic{enumi}} 
  272. \def\labelenumii{(\alph{enumii})}
  273. \def\theenumii{\alph{enumii}}
  274. \def\p@enumii{\theenumi}
  275. \def\labelenumiii{\roman{enumiii}.}
  276. \def\theenumiii{\roman{enumiii}}
  277. \def\p@enumiii{\theenumi(\theenumii)}
  278. \def\labelenumiv{\Alph{enumiv}.}
  279. \def\theenumiv{\Alph{enumiv}} 
  280. \def\p@enumiv{\p@enumiii\theenumiii}
  281.  
  282. \def\labelitemi{$\bullet$}
  283. \def\labelitemii{\bf --}
  284. \def\labelitemiii{$\ast$}
  285. \def\labelitemiv{$\cdot$}
  286. \def\verse{\let\\=\@centercr 
  287.  \list{}{\itemsep\z@ \itemindent -15pt\listparindent \itemindent 
  288.  \rightmargin\leftmargin\advance\leftmargin 15pt}\item[]}
  289. \let\endverse\endlist
  290. \def\quotation{\list{}{\listparindent 1.5em
  291.  \itemindent\listparindent
  292.  \rightmargin\leftmargin}\item[]}
  293. \let\endquotation=\endlist
  294. \def\quote{\list{}{\rightmargin\leftmargin}\item[]}
  295. \let\endquote=\endlist
  296.  
  297. \def\descriptionlabel#1{\hspace\labelsep \bf #1}
  298. \def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin
  299.  \let\makelabel\descriptionlabel}}
  300. \let\enddescription\endlist
  301.  
  302.  
  303.  
  304. \def\theequation{\arabic{equation}}
  305.  
  306. \arraycolsep 5pt \tabcolsep 6pt \arrayrulewidth .4pt \doublerulesep 2pt 
  307. \tabbingsep \labelsep 
  308. \skip\@mpfootins = \skip\footins
  309. \fboxsep = 3pt \fboxrule = .4pt 
  310.  
  311. \def\footnoterule{\kern-1\p@ 
  312.  \hrule width .4\columnwidth 
  313.  \kern .6\p@} 
  314.  
  315. \long\def\@makefntext#1{\noindent \hangindent 5pt\hbox 
  316.  to 5pt{\hss $^{\@thefnmark}$}#1}
  317.  
  318.  
  319. \c@topnumber=2
  320. \def\topfraction{.7}
  321. \c@bottomnumber=1
  322. \def\bottomfraction{.3}
  323. \c@totalnumber=3
  324. \def\textfraction{.2}
  325. \def\floatpagefraction{.5}
  326. \c@dbltopnumber= 2
  327. \def\dbltopfraction{.7}
  328. \def\dblfloatpagefraction{.5}
  329.  
  330. \def\today{\ifcase\month\or
  331.  January\or February\or March\or April\or May\or June\or
  332.  July\or August\or September\or October\or November\or December\fi
  333.  \space\number\day, \number\year}
  334.  
  335.  
  336. \smallskipamount=.5\parskip \medskipamount=\parskip
  337. \bigskipamount=2\parskip
  338. \ps@plain \pagenumbering{arabic} \onecolumn \@fileswfalse 
  339.