|
|
1.1 root 1: % attart.sty 11 Aug 89, based on article.sty 5-Feb-88
2: \typeout{Document Style 'attart'. Released 11 August 1989}
3:
4: \def\@ptsize{0} \@namedef{ds@11pt}{\def\@ptsize{1}}
5: \@namedef{ds@12pt}{\def\@ptsize{2}}
6: \def\ds@twoside{\@twosidetrue \@mparswitchtrue} \def\ds@draft{\overfullrule
7: 5pt}
8: \def\ds@tm{\def\@artstyle{0}}
9: \def\ds@rp{\def\@artstyle{1}}
10: \@namedef{ds@vol2}{\def\@artstyle{2}}
11: \def\@artstyle{0}
12: \@options
13: \input att1\@ptsize.sty\relax
14:
15:
16: \def\labelenumi{\arabic{enumi}.}
17: \def\theenumi{\arabic{enumi}}
18: \def\labelenumii{(\alph{enumii})}
19: \def\theenumii{\alph{enumii}}
20: \def\p@enumii{\theenumi}
21: \def\labelenumiii{\roman{enumiii}.}
22: \def\theenumiii{\roman{enumiii}}
23: \def\p@enumiii{\theenumi(\theenumii)}
24: \def\labelenumiv{\Alph{enumiv}.}
25: \def\theenumiv{\Alph{enumiv}}
26: \def\p@enumiv{\p@enumiii\theenumiii}
27:
28: \def\labelitemi{$\bullet$}
29: \def\labelitemii{\bf --}
30: \def\labelitemiii{$\ast$}
31: \def\labelitemiv{$\cdot$}
32:
33: \def\verse{\let\\=\@centercr
34: \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent
35: \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]}
36: \let\endverse\endlist
37: \def\quotation{\list{}{\listparindent 1.5em
38: \itemindent\listparindent
39: \rightmargin\leftmargin \parsep 0pt plus 1pt}\item[]}
40: \let\endquotation=\endlist
41: \def\quote{\list{}{\rightmargin\leftmargin}\item[]}
42: \let\endquote=\endlist
43:
44: \def\descriptionlabel#1{\hspace\labelsep \bf #1}
45: \def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin
46: \let\makelabel\descriptionlabel}}
47: \let\enddescription\endlist
48:
49:
50: \def\theequation{\arabic{equation}}
51:
52:
53: \def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
54: \else \newpage \fi \thispagestyle{empty}\c@page\z@}
55: \def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi}
56:
57: \arraycolsep 5pt \tabcolsep 6pt \arrayrulewidth .4pt \doublerulesep 2pt
58: \tabbingsep \labelsep
59:
60: \skip\@mpfootins = \skip\footins
61: \fboxsep = 3pt \fboxrule = .4pt
62:
63: \newcounter{part}
64: \newcounter {section}
65: \newcounter {subsection}[section]
66: \newcounter {subsubsection}[subsection]
67: \newcounter {paragraph}[subsubsection]
68: \newcounter {subparagraph}[paragraph]
69:
70: \def\thepart{\Roman{part}} \def\thesection {\arabic{section}}
71: \def\thesubsection {\thesection.\arabic{subsection}}
72: \def\thesubsubsection {\thesubsection .\arabic{subsubsection}}
73: \def\theparagraph {\thesubsubsection.\arabic{paragraph}}
74: \def\thesubparagraph {\theparagraph.\arabic{subparagraph}}
75:
76: \def\@pnumwidth{1.55em}
77: \def\@tocrmarg {2.55em}
78: \def\@dotsep{4.5}
79: \setcounter{tocdepth}{3}
80:
81: \def\tableofcontents{\section*{Contents\@mkboth{CONTENTS}{CONTENTS}}
82: \@starttoc{toc}}
83: \def\l@part#1#2{\addpenalty{\@secpenalty}
84: \addvspace{2.25em plus 1pt} \begingroup
85: \@tempdima 3em \parindent \z@ \rightskip \@pnumwidth \parfillskip
86: -\@pnumwidth
87: {\large \bf \leavevmode #1\hfil \hbox to\@pnumwidth{\hss #2}}\par
88: \nobreak \endgroup}
89: \def\l@section#1#2{\addpenalty{\@secpenalty} \addvspace{1.0em plus 1pt}
90: \@tempdima 1.5em \begingroup
91: \parindent \z@ \rightskip \@pnumwidth
92: \parfillskip -\@pnumwidth
93: \bf \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip #1\nobreak\hfil
94: \nobreak\hbox to\@pnumwidth{\hss #2}\par
95: \endgroup}
96: \def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}}
97: \def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
98: \def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}}
99: \def\l@subparagraph{\@dottedtocline{5}{10em}{5em}}
100: \def\listoffigures{\section*{List of Figures\@mkboth
101: {LIST OF FIGURES}{LIST OF FIGURES}}\@starttoc{lof}}
102: \def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
103: \def\listoftables{\section*{List of Tables\@mkboth
104: {LIST OF TABLES}{LIST OF TABLES}}\@starttoc{lot}}
105: \let\l@table\l@figure
106:
107:
108: \def\thebibliography#1{\section*{References\@mkboth
109: {REFERENCES}{REFERENCES}}\list
110: {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth
111: \advance\leftmargin\labelsep
112: \usecounter{enumi}}
113: \def\newblock{\hskip .11em plus .33em minus .07em}
114: \sloppy\clubpenalty4000\widowpenalty4000
115: \sfcode`\.=1000\relax}
116: \let\endthebibliography=\endlist
117:
118: \def\@biblabel#1{\hfill#1.\ }
119:
120: \newif\if@restonecol
121: \def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
122: \columnseprule \z@
123: \columnsep 35pt\twocolumn[\section*{Index}]
124: \@mkboth{INDEX}{INDEX}\thispagestyle{plain}\parindent\z@
125: \parskip\z@ plus .3pt\relax\let\item\@idxitem}
126: \def\@idxitem{\par\hangindent 40pt}
127: \def\subitem{\par\hangindent 40pt \hspace*{20pt}}
128: \def\subsubitem{\par\hangindent 40pt \hspace*{30pt}}
129: \def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi}
130: \def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax}
131:
132: \def\footnoterule{\kern-3\p@
133: \hrule height 0pt width .4\columnwidth
134: \kern 3\p@}
135:
136: \long\def\@makefntext#1{\parindent 1em\noindent
137: \hbox{\hss$^{\@thefnmark}$}#1}
138:
139: \setcounter{topnumber}{2}
140: \def\topfraction{.7}
141: \setcounter{bottomnumber}{1}
142: \def\bottomfraction{.3}
143: \setcounter{totalnumber}{3}
144: \def\textfraction{.2}
145: \def\floatpagefraction{.5}
146: \setcounter{dbltopnumber}{2}
147: \def\dbltopfraction{.7}
148: \def\dblfloatpagefraction{.5}
149:
150: \long\def\@makecaption#1#2{%
151: \addvspace{10pt}%
152: \setbox\@tempboxa\hbox{#1: #2}%
153: \ifdim \wd\@tempboxa >\hsize #1: #2\par
154: \else \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
155: \fi}
156:
157:
158: \newcounter{figure}
159: \def\thefigure{\@arabic\c@figure}
160: \def\fps@figure{tbp}
161: \def\ftype@figure{1}
162: \def\ext@figure{lof}
163: \def\fnum@figure{Figure \thefigure}
164: \def\figure{\@float{figure}}
165: \let\endfigure\end@float
166: \@namedef{figure*}{\@dblfloat{figure}}
167: \@namedef{endfigure*}{\end@dblfloat}
168: \newcounter{table}
169: \def\thetable{\@arabic\c@table}
170: \def\fps@table{tbp}
171: \def\ftype@table{2}
172: \def\ext@table{lot}
173: \def\fnum@table{Table \thetable}
174: \def\table{\@float{table}}
175: \let\endtable\end@float
176: \@namedef{table*}{\@dblfloat{table}}
177: \@namedef{endtable*}{\end@dblfloat}
178:
179:
180: \def\maketitle{\par
181: \begingroup
182: \def\thefootnote{\fnsymbol{footnote}}
183: \def\@makefnmark{\hbox
184: to 0pt{$^{\@thefnmark}$\hss}}
185: \if@twocolumn
186: \twocolumn[\@maketitle]
187: \else \newpage\thispagestyle{empty}
188: \global\@topnum\z@ \@maketitle \fi
189: \ifcase\@artstyle\thispagestyle{firstpage} \or\thispagestyle{empty}\or
190: \thispagestyle{firstpage}\fi
191: \@thanks
192: \endgroup
193: \setcounter{footnote}{0}
194: \let\maketitle\relax
195: \let\@maketitle\relax
196: \gdef\@thanks{}\let\thanks\relax}
197: % String setting-up commands; use `\and' to separate things when there are
198: % more than one. E.g., \wpnumber{27000\and 27001}.
199: \def\tmnumber#1{\gdef\@tmnum{#1}}
200: \def\wpnumber#1{\gdef\@wpnum{#1}} % Work project number(s)
201: \gdef\@wpnumber{}
202: \def\filenumber#1{\gdef\@filenum{#1}} % File number(s)
203: \gdef\@filenumber{}
204: \long\def\abstracttext#1{\long\gdef\@abstract{#1}}
205: \gdef\@abstract{}
206: \def\murrayhill{AT\&T Bell Laboratories\\Murray Hill, New Jersey 07974}
207: \ifcase\@artstyle % technical memo
208: \font\hugeS=S at 36pt
209: \font\sxtnHB=HB at 16pt
210: \font\frtnHB=HB at 14pt
211: \font\tenH=H at 10pt
212: \font\egtH=H at 8pt
213: \def\@maketitle{\null
214: \if!\@abstract!\else % if abstract defined: put it on a separate page
215: \vskip 2em \begin{center}
216: {\large \bf \@title \par} \vskip 1.5em {\lineskip .5em
217: \begin{tabular}[t]{c}\@author
218: \end{tabular}\par}
219: \end{center}
220: \par
221: \vskip 1.5em
222: \begin{center}
223: {\sl Abstract\vspace{-.5em}\vspace{0pt}}
224: \end{center}
225: \quotation\ignorespaces\@abstract\endquotation
226: \newpage\null \thispagestyle{firstpage}\setcounter{page}{1}
227: \fi
228: \vskip 3em
229: \noindent\hbox to \textwidth{\kern-25pt
230: \begin{tabular}[t]{@{}l}
231: {\egtH Subject:} {\bf \begin{tabular}[t]{@{}l}\ignorespaces\@title\end{tabular}}\\
232: \egtH Work Program- \begin{tabular}[t]{@{}l@{}}\let\and=\\\ignorespaces
233: \@wpnum\end{tabular} -{}- %
234: File- \begin{tabular}[t]{@{}l}\let\and=\\\ignorespaces
235: \@filenum\end{tabular}
236: \end{tabular}
237: \hfil
238: \begin{tabular}[t]{ll@{}}
239: \egtH date:&\bf\@date\\[12pt]
240: \egtH from:&\bf\begin{tabular}[t]{@{}l}\let\and=\\\ignorespaces
241: \@author\\[12pt]\end{tabular}\\
242: \egtH TM:&\bf\begin{tabular}[t]{@{}l}\let\and=\\\ignorespaces\@tmnum\end{tabular}
243: \end{tabular}%
244: \kern-35pt}
245: \vspace{\baselineskip}
246: \begin{center}
247: \sl TECHNICAL MEMORANDUM\\
248: \end{center}}
249: \or % released paper
250: \def\@maketitle{%
251: \null
252: \vskip 2em \begin{center}
253: {\large \bf \@title \par} \vskip 1.5em {\lineskip .5em
254: \begin{tabular}[t]{c}\let\and=\\\ignorespaces\@author
255: \end{tabular}\par}
256: \end{center}
257: \par
258: \vskip 1.5em
259: \if!\@abstract!\else % if abstract defined: put it here, and do title over
260: \begin{center}
261: {\sl Abstract\vspace{-.5em}\vspace{0pt}}
262: \end{center}
263: \quotation\ignorespaces\@abstract\endquotation
264: \newpage \thispagestyle{empty}\setcounter{page}{1}
265: \null
266: \vskip 2em \begin{center}
267: {\large \bf \@title \par} \vskip 1.5em {\lineskip .5em
268: \begin{tabular}[t]{c}\let\and=\\\ignorespaces \@author
269: \end{tabular}\par}
270: \end{center}
271: \par
272: \vskip 1.5em
273: \fi}
274: \or % volume 2 format
275: \def\@maketitle{%
276: \null
277: \vskip 5em \begin{center}%
278: {\large \bf \@title \par}%
279: \expandafter\@doauth\@author\and\and\relax
280: \end{center}
281: \if!\@abstract!\else \vskip 1.6em
282: \begin{center} ABSTRACT \end{center}
283: \vskip 1em {\leftskip .5in \rightskip .5in \parindent 25pt\par\@abstract\par}%
284: \vskip 2.3em
285: \fi
286: }
287: % hack for now: all authors have murray hill address
288: \def\@doauth#1\and{\if!#1!\let\@nextdoa=\relax\else
289: \vskip 1.1em\begin{tabular}[t]{c}#1\\[.8em]
290: {\em AT\&T Bell Laboratories}\\{\em Murray Hill, New Jersey 07974}\end{tabular}
291: \let\@nextdoa=\@doauth\fi
292: \@nextdoa}
293: \fi
294: \ifcase\@artstyle
295: % signature block: #1= "typed by" part (e.g. MH-11273-HWT), #2=#refs, #3=#figs
296: \def\sigblock#1#2#3{\par\nopagebreak[3]\vspace{3em minus1.5em}%
297: \noindent\hbox to 3in{#1\hfil}%
298: \hbox{\lineskip=3em\begin{tabular}{l}\let\and=\\\ignorespaces
299: \@author\end{tabular}}
300: \par\nopagebreak\vspace{3em minus1.5em}%
301: \hbox{Atts.}\nopagebreak
302: \ifnum #2>0 \hbox{References (1--#2)}\nopagebreak\fi
303: \ifnum #3>0 \hbox{Figures (1--#3)}\fi
304: \newpage
305: }
306: \or
307: \def\sigblock#1#2#3{}% does nothing for released paper
308: \or
309: \def\sigblock#1#2#3{}% or vol2 style
310: \fi
311:
312: \mark{{}{}}
313:
314: \if\@artstyle2 % vol2 style: headings are title, page number
315: \font\ncsi=Ncs-i at 10pt
316: \def\ps@headings{\let\@mkboth\@gobbletwo
317: \def\@oddfoot{\rm\smash{Research Tenth Edition}\hfil\smash{\thepage}}%
318: \def\@evenfoot{\rm\smash{\thepage}\hfil \smash{UNIX Papers}}%
319: \def\@evenhead{\rm\@title\hfil{\ncsi\@shorttitle}}%
320: \def\@oddhead{{\ncsi\@shorttitle}\hfil\rm\@title}}%
321: \def\ps@firstpage{\let\@mkboth\@gobbletwo
322: \def\@oddfoot{\rm\smash{Research Tenth Edition}\hfil\smash{\thepage}}%
323: \def\@evenfoot{\rm\smash{\thepage}\hfil\smash{UNIX Papers}}%
324: \def\@evenhead{}%
325: \def\@oddhead{}}%
326: \else
327: \if@twoside \def\ps@headings{\let\@mkboth\markboth
328: \def\@oddfoot{}\def\@evenfoot{}\def\@evenhead{\rm \thepage\hfil \sl
329: \leftmark}\def\@oddhead{\hbox{}\sl \rightmark \hfil
330: \rm\thepage}\def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth
331: >\z@
332: \thesection\hskip 1em\relax \fi ##1}}{}}\def\subsectionmark##1{\markright
333: {\ifnum \c@secnumdepth >\@ne
334: \thesubsection\hskip 1em\relax \fi ##1}}}
335: \else \def\ps@headings{\let\@mkboth\markboth
336: \def\@oddfoot{}\def\@evenfoot{}\def\@oddhead{\hbox {}\sl \rightmark \hfil
337: \rm\thepage}\def\sectionmark##1{\markright {\uppercase{\ifnum \c@secnumdepth
338: >\z@
339: \thesection\hskip 1em\relax \fi ##1}}}}
340: \fi
341: \fi
342: \def\ps@myheadings{\let\@mkboth\@gobbletwo
343: \def\@oddhead{\hbox{}\sl\rightmark \hfil
344: \rm\thepage}\def\@oddfoot{}\def\@evenhead{\rm \thepage\hfil\sl\leftmark\hbox
345: {}}\def\@evenfoot{}\def\sectionmark##1{}\def\subsectionmark##1{}}
346: \ifcase\@artstyle % tm: firstpage style puts AT&T logo in header
347: \def\ps@firstpage{\def\@oddhead{\hbox to \textwidth{\hfil
348: \vbox to \headheight{\kern5pt\halign{\hfil ####\kern 3pt&####\hfil\cr
349: \vbox to 0pt{\vss\hbox{\hugeS\char'152}\vss}&
350: {\sxtnHB A\kern-.1em T\kern-.1em{\frtnHB\&}\kern-.1emT}\cr
351: \noalign{\vskip 2pt}
352: &{\tenH Bell Laboratories}\cr}\vss}}}%
353: \def\@oddfoot{}%
354: \def\@evenhead{}\def\@evenfoot{}}%
355: \fi
356: % Plain page style: numbers on top
357: \def\ps@plain{\let\@mkboth\@gobbletwo\def\@oddhead{\rm\hfil-\ \thepage\ -\hfil}
358: \let\@evenhead\@oddhead
359: \def\@oddfoot{}
360: \def\@evenfoot{}}
361:
362: % \UNIX, \regmark, and \tm
363: \def\markedfootnote#1#2{{\def\thefootnote{#1}\footnote[1]{#2}}}
364: \def\@@@no{no}
365: \def\unixfootnoteprinted{no}
366: \def\UNIX{UNIX%
367: \ifx\unixfootnoteprinted\@@@no%
368: \newbox\regbox\setbox\regbox=\hbox{\@regmark}%
369: \markedfootnote{\copy\regbox}{UNIX is a registered trademark of AT\&T.}%
370: \def\unixfootnoteprinted{yes}%
371: \fi}%
372: \def\@regmark{{\ooalign
373: {\hfil\raise.07ex\hbox{\tiny R}\hfil\crcr{$\scriptstyle\bigcirc$}}}}
374: \def\regmark{\raise1ex\hbox{\@regmark}}
375: \def\tm{\raise5pt\hbox{{\rm\tiny TM}}}
376:
377: \if\@artstyle2 % bibitems in style "1."
378: \def\@biblabel#1{#1.\hfill}
379: \fi
380:
381: \def\today{\ifcase\month\or
382: January\or February\or March\or April\or May\or June\or
383: July\or August\or September\or October\or November\or December\fi
384: \space\number\day, \number\year}
385:
386: % An example environment
387:
388: \begingroup \catcode `|=0 \catcode `[= 1
389: \catcode`]=2 \catcode `\{=12 \catcode `\}=12
390: \catcode`\\=12 |gdef|@xeg#1\end{eg}[#1|end[eg]]
391: |endgroup
392:
393: \def\eg{\list{}{\small\leftmargin 3em}%
394: \item[]\if@minipage\else\vskip\parskip\fi
395: \leftskip\@totalleftmargin\rightskip\z@
396: \parindent\z@\parfillskip\@flushglue\parskip\z@
397: \@tempswafalse \def\par{\if@tempswa\hbox{}\fi\@tempswatrue\@@par}
398: \obeylines \tt \catcode``=13 \@noligs \let\do\@makeother \dospecials\frenchspacing \@vobeyspaces \@xeg}
399: \let\endeg\endlist
400:
401: % redefine @sect so that @svsec has a period after the number
402: \def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
403: \def\@svsec{}\else
404: \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname.\hskip 1em }\fi
405: \@tempskipa #5\relax
406: \ifdim \@tempskipa>\z@
407: \begingroup #6\relax
408: \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par}
409: \endgroup
410: \csname #1mark\endcsname{#7}\addcontentsline
411: {toc}{#1}{\ifnum #2>\c@secnumdepth \else
412: \protect\numberline{\csname the#1\endcsname}\fi
413: #7}\else
414: \def\@svsechd{#6\hskip #3\@svsec #8\csname #1mark\endcsname
415: {#7}\addcontentsline
416: {toc}{#1}{\ifnum #2>\c@secnumdepth \else
417: \protect\numberline{\csname the#1\endcsname}\fi
418: #7}}\fi
419: \@xsect{#5}}
420:
421: \ps@plain \pagenumbering{arabic}
422: \if\@artstyle2 \textwidth 6.5in\footskip .545in\voffset -.485in
423: \twocolumn\sloppy\flushbottom
424: \oddsidemargin \z@ \evensidemargin \z@
425: \def\XX#1#2#3{\setcounter{page}{#1}\def\@title{#2}\def\@shorttitle{#3}}%
426: \def\@shorttitle{}
427: \else\onecolumn \if@twoside\else\raggedbottom\fi
428: \fi
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.