\newcommand{\tmversiondate}{1996/09/06} \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{tm} [\tmversiondate Technical Memorandum] % % Changes: %--------------------------------- % % COPY FROM ARTICLE.STY (with changes by tla) % 87-Apr-29 remove typeout for 'article' % 87-Apr-29 change l@section, TOC style for section % 87-Jun-10 change endthebibliography to allow capture % of the number of references % 87-Jun-12 change \tableofcontents add newpage to beginning % 87-Jun-12 change \listoffigures add newpage to beginning % 87-Jun-12 change \listoftables add newpage to beginning % 87-Jun-12 change \thebibliography add newpage to beginning % 88-Feb-03 add \thebibliography* to suppress the newpage % 88-May-25 redefine bibitem to count reference % remove change to endthebibliography % 88-???-?? added copytocov & copytohere % 88-Nov-02 added support for copyto lists longer than 1 pg % 88-Nov-?? added makefacesignature % 88-Dec-27 added labeled type list env % 89-Jan-17 LaTeX extension that are of interest in other % tm related styles moved to tmaddon.sty % 89-Jan-20 fixed makeautherhead to allow for author's % names that will not fit on one line. % 89-Jan-20 fixed error for coversheet when no % documentno's specified % 89-Jan-25 added memo for file style coversheet, mffcoversheet % 89-Jan-25 fixed bug in makesignature that removed parindent % 89-Feb-28 fixed bug; undef tm@keywords if keywords not called % 89-Mar-24 changed \topnumber from 2 to 5 % changed \bottomnumber from 1 to 5 % changed \totalnumber from 3 to 10 % to allow more figures and tables per page % 89-Apr-10 fixed bug(?) in tm*.sty (is also in art*.sty) % that causes \part to clear even user heads % with markright in ps@myhead and ps@headandfoot. % % 89-May-19 fixed a bug in covereheet printing of document % when two authors from same dept but diff % document numbers (esp first with none) % 89-May-19 fixed abstract to allow it to extend across % page break on first page. % 89-May-19 input localpatch.sty at end to allow local % variants % 89-Sep-05 removed call to \bibstyle in \makehead since % newer (>0.98) versions of bibtex do not % tolerate redefining. % 89-Sep-12 fixed bug in number of pages when restofcopyto... % 89-Oct-11 added additional ITDS locations % 89-Oct-11 changed makeauthorhead to better handle long % names and eaddresses % 89-Oct-11 touched up coversheet spaces for names,eaddr % 89-Oct-12 simplified makesignature % 89-Nov-21 make facesignature autoload bitmap.sty % 89-Dec-13 moved \@cite redef to tmaddon % 89-Dec-19 fixed \title* % 90-Jan-15 fixed wrong quote mark on coversheet % 90-Jan-16 broke up coversheet into smaller pieces (ideas % from Peter F. Patel-Schneider) % 90-Jan-16 fixed coversheet font size regardless of % document font size (ideas from pfps) % 90-Jan-23 minor changes to appearence of cover sheet % 90-Feb-11 added bibliography* to allow use of bibtex % with thebibliography* (no new page) % 90-Feb-15 shortened pan line on 2nd pg of coversheet % 90-Feb-22 fixed marginparwidth in tm*.sty % 90-Apr-05 fixed the spacing of facesig's with null faces % 90-Sep-11 changed to new ``from'' format % 90-Oct-26 add extrapages macro to add to page count % without effecting page numbering. % 90-Nov-29 start coversheet with clearpage rather than newpage % 91-Feb-05 made \date{\today} a default. % 91-Apr-08 fixed raggedright in makehead esp subject % 91-May-31 added \marknone to cancel propr marks etc % 91-Jul-11 added settextpages, settotalpages, setfigures, % settables and setreferences to override automatic % values on coversheet % 91-Nov-13 change coversheet to support more approval % sigs and add \approver to give names % % 95-Jul-7 (HWT) converted to LaTeX2e % 96-Sep-6 (HWT) updated to LaTeX2e 1996/05/26 v1.3r % TO FIX: % 1 coversheet still uses document's fonts sizes for proprietary % mark and distribution lists % 2 \regnotice does not print regbox properly when called in abstract % 3 fix page numbering so that \mffcoversheet can be printed at % beginning. %------------------ % article.cls <1994/12/18> \newcommand{\@ptsize}{} % old ptsize maintained for compatiblity but tm@ptsize used so that % sizes not starting with 1 are supported. \newcommand{\tm@ptsize}{} \newif\if@restonecol \newif\if@titlepage \@titlepagefalse \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}} \DeclareOption{landscape} {\setlength\@tempdima {\paperheight}% \setlength\paperheight {\paperwidth}% \setlength\paperwidth {\@tempdima}} \DeclareOption{8pt}{\renewcommand{\@ptsize}{0}\renewcommand{\tm@ptsize}{8}} \DeclareOption{9pt}{\renewcommand{\@ptsize}{0}\renewcommand{\tm@ptsize}{9}} \DeclareOption{10pt}{\renewcommand{\@ptsize}{0}\renewcommand{\tm@ptsize}{10}} \DeclareOption{11pt}{\renewcommand{\@ptsize}{1}\renewcommand{\tm@ptsize}{11}} \DeclareOption{12pt}{\renewcommand{\@ptsize}{2}\renewcommand{\tm@ptsize}{12}} \DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} \DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue} \DeclareOption{draft}{\setlength\overfullrule{5pt}} \DeclareOption{final}{\setlength\overfullrule{0pt}} \DeclareOption{titlepage}{\@titlepagetrue} \DeclareOption{notitlepage}{\@titlepagefalse} \DeclareOption{onecolumn}{\@twocolumnfalse} \DeclareOption{twocolumn}{\@twocolumntrue} \DeclareOption{leqno}{\input{leqno.clo}} \DeclareOption{fleqn}{\input{fleqn.clo}} \DeclareOption{openbib}{% \AtEndOfPackage{% \renewcommand\@openbib@code{% \advance\leftmargin\bibindent \itemindent -\bibindent \listparindent \itemindent \parsep \z@ }% \renewcommand\newblock{\par}}% } \ExecuteOptions{letterpaper,10pt,oneside,onecolumn,final} \ProcessOptions \input{tmsize\tm@ptsize.clo} \setlength\lineskip{1\p@} \setlength\normallineskip{1\p@} \renewcommand\baselinestretch{} \setlength\parskip{0\p@ \@plus \p@} \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 \setcounter{topnumber}{5} \renewcommand{\topfraction}{.7} \setcounter{bottomnumber}{5} \renewcommand{\bottomfraction}{.3} \setcounter{totalnumber}{10} \renewcommand{\textfraction}{.2} \renewcommand{\floatpagefraction}{.5} \setcounter{dbltopnumber}{2} \renewcommand{\dbltopfraction}{.7} \renewcommand{\dblfloatpagefraction}{.5} \if@twoside \def\ps@headings{% \let\@oddfoot\@empty\let\@evenfoot\@empty \def\@evenhead{\thepage\hfil\slshape\leftmark}% \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% \let\@mkboth\markboth \def\sectionmark##1{% \markboth {\MakeUppercase{% \ifnum \c@secnumdepth >\z@ \thesection\quad \fi ##1}}{}}% \def\subsectionmark##1{% \markright {% \ifnum \c@secnumdepth >\@ne \thesubsection\quad \fi ##1}}} \else \def\ps@headings{% \let\@oddfoot\@empty \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% \let\@mkboth\markboth \def\sectionmark##1{% \markright {\MakeUppercase{% \ifnum \c@secnumdepth >\m@ne \thesection\quad \fi ##1}}}} \fi \def\ps@myheadings{% \let\@oddfoot\@empty\let\@evenfoot\@empty \def\@evenhead{\thepage\hfil\slshape\leftmark}% \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% \let\@mkboth\@gobbletwo \let\sectionmark\@gobble \let\subsectionmark\@gobble } \if@titlepage \newcommand\maketitle{\begin{titlepage}% \let\footnotesize\small \let\footnoterule\relax \let \footnote \thanks \null\vfil \vskip 60\p@ \begin{center}% {\LARGE \@title \par}% \vskip 3em% {\large \lineskip .75em% \begin{tabular}[t]{c}% \@author \end{tabular}\par}% \vskip 1.5em% {\large \@date \par}% % Set date in \large size. \end{center}\par \@thanks \vfil\null \end{titlepage}% \setcounter{footnote}{0}% \global\let\thanks\relax \global\let\maketitle\relax \global\let\@thanks\@empty \global\let\@author\@empty \global\let\@date\@empty \global\let\@title\@empty \global\let\title\relax \global\let\author\relax \global\let\date\relax \global\let\and\relax \else \newcommand\maketitle{\par \begingroup \renewcommand\thefootnote{\@fnsymbol\c@footnote}% \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% \long\def\@makefntext##1{\parindent 1em\noindent \hb@xt@1.8em{% \hss\@textsuperscript{\normalfont\@thefnmark}}##1}% \if@twocolumn \ifnum \col@number=\@ne \@maketitle \else \twocolumn[\@maketitle]% \fi \else \newpage \global\@topnum\z@ % Prevents figures from going at top of page. \@maketitle \fi \thispagestyle{plain}\@thanks \endgroup \setcounter{footnote}{0}% \global\let\thanks\relax \global\let\maketitle\relax \global\let\@maketitle\relax \global\let\@thanks\@empty \global\let\@author\@empty \global\let\@date\@empty \global\let\@title\@empty \global\let\title\relax \global\let\author\relax \global\let\date\relax \global\let\and\relax } \def\@maketitle{% \newpage \null \vskip 2em% \begin{center}% {\LARGE \@title \par}% \vskip 1.5em% {\large \lineskip .5em% \begin{tabular}[t]{c}% \@author \end{tabular}\par}% \vskip 1em% {\large \@date}% \end{center}% \par \vskip 1.5em} \fi \setcounter{secnumdepth}{3} \newcounter {part} \newcounter {section} \newcounter {subsection}[section] \newcounter {subsubsection}[subsection] \newcounter {paragraph}[subsubsection] \newcounter {subparagraph}[paragraph] \renewcommand\thepart {\@Roman\c@part} \renewcommand\thesection {\@arabic\c@section} \renewcommand\thesubsection {\thesection.\@arabic\c@subsection} \renewcommand\thesubsubsection{\thesubsection .\@arabic\c@subsubsection} \renewcommand\theparagraph {\thesubsubsection.\@arabic\c@paragraph} \renewcommand\thesubparagraph {\theparagraph.\@arabic\c@subparagraph} \newcommand{\part}{\par \addvspace{4ex}% \@afterindentfalse \secdef\@part\@spart} \def\@part[#1]#2{% \ifnum \c@secnumdepth >\m@ne \refstepcounter{part}% \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% \else \addcontentsline{toc}{part}{#1}% \fi {\parindent \z@ \raggedright \interlinepenalty \@M \normalfont \ifnum \c@secnumdepth >\m@ne \Large\bfseries \partname~\thepart \par\nobreak \fi \huge \bfseries #2% \markboth{}{}\par}% \nobreak \vskip 3ex \@afterheading} \def\@spart#1{% {\parindent \z@ \raggedright \interlinepenalty \@M \normalfont \huge \bfseries #1\par}% \nobreak \vskip 3ex \@afterheading} \newcommand\section{\@startsection {section}{1}{\z@}% {-3.5ex \@plus -1ex \@minus -.2ex}% {2.3ex \@plus.2ex}% {\normalfont\Large\bfseries}} \newcommand\subsection{\@startsection{subsection}{2}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% {\normalfont\large\bfseries}} \newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% {\normalfont\normalsize\bfseries}} \newcommand\paragraph{\@startsection{paragraph}{4}{\z@}% {3.25ex \@plus1ex \@minus.2ex}% {-1em}% {\normalfont\normalsize\bfseries}} \newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% {3.25ex \@plus1ex \@minus .2ex}% {-1em}% {\normalfont\normalsize\bfseries}} \if@twocolumn \setlength\leftmargini {2em} \else \setlength\leftmargini {2.5em} \fi \leftmargin \leftmargini \setlength\leftmarginii {2.2em} \setlength\leftmarginiii {1.87em} \setlength\leftmarginiv {1.7em} \if@twocolumn \setlength\leftmarginv {.5em} \setlength\leftmarginvi {.5em} \else \setlength\leftmarginv {1em} \setlength\leftmarginvi {1em} \fi \setlength\leftmargin {\leftmargini} \setlength \labelsep {.5em} \setlength \labelwidth{\leftmargini} \addtolength\labelwidth{-\labelsep} \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty -\@lowpenalty \renewcommand\theenumi{\@arabic\c@enumi} \renewcommand\theenumii{\@alph\c@enumii} \renewcommand\theenumiii{\@roman\c@enumiii} \renewcommand\theenumiv{\@Alph\c@enumiv} \newcommand\labelenumi{\theenumi.} \newcommand\labelenumii{(\theenumii)} \newcommand\labelenumiii{\theenumiii.} \newcommand\labelenumiv{\theenumiv.} \renewcommand\p@enumii{\theenumi} \renewcommand\p@enumiii{\theenumi(\theenumii)} \renewcommand\p@enumiv{\p@enumiii\theenumiii} \newcommand\labelitemi{$\m@th\bullet$} \newcommand\labelitemii{\normalfont\bfseries --} \newcommand\labelitemiii{$\m@th\ast$} \newcommand\labelitemiv{$\m@th\cdot$} \newenvironment{description} {\list{}{\labelwidth\z@ \itemindent-\leftmargin \let\makelabel\descriptionlabel}} {\endlist} \newcommand*\descriptionlabel[1]{\hspace\labelsep \normalfont\bfseries #1} % tm does abstracts differently (see below) %\if@titlepage % \newenvironment{abstract}{% % \titlepage % \null\vfil % \@beginparpenalty\@lowpenalty % \begin{center} % \bfseries \abstractname % \end{center}} % {\par\vfil\null\endtitlepage} %\else % \newenvironment{abstract}{% % \if@twocolumn % \section*{\abstractname}% % \else % \small % \begin{center}% % {\bfseries \abstractname\vspace{-.5em}\vspace{\z@}}% % \end{center}% % \quotation % \fi} % {\if@twocolumn\else\endquotation\fi} %\fi \newenvironment{verse} {\let\\\@centercr \list{}{\itemsep \z@ \itemindent -1.5em% \listparindent\itemindent \rightmargin \leftmargin \advance\leftmargin 1.5em}% \item[]} {\endlist} \newenvironment{quotation} {\list{}{\listparindent 1.5em% \itemindent \listparindent \rightmargin \leftmargin \parsep \z@ \@plus\p@}% \item\relax} {\endlist} \newenvironment{quote} {\list{}{\rightmargin\leftmargin}% \item\relax} {\endlist} \if@compatibility \newenvironment{titlepage} {% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse\newpage \fi \thispagestyle{empty}% \setcounter{page}\z@ }% {\if@restonecol\twocolumn \else \newpage \fi } \else \newenvironment{titlepage} {% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse\newpage \fi \thispagestyle{empty}% \setcounter{page}\@ne }% {\if@restonecol\twocolumn \else \newpage \fi \if@twoside\else \setcounter{page}\@ne \fi } \fi \newcommand\appendix{\par \setcounter{section}{0}% \setcounter{subsection}{0}% \renewcommand\thesection{\@Alph\c@section}} \setlength\arraycolsep{5\p@} \setlength\tabcolsep{6\p@} \setlength\arrayrulewidth{.4\p@} \setlength\doublerulesep{2\p@} \setlength\tabbingsep{\labelsep} \skip\@mpfootins = \skip\footins \setlength\fboxsep{3\p@} \setlength\fboxrule{.4\p@} \renewcommand\theequation{\@arabic\c@equation} \newcounter{figure} \renewcommand\thefigure{\@arabic\c@figure} \def\fps@figure{tbp} \def\ftype@figure{1} \def\ext@figure{lof} \def\fnum@figure{\figurename~\thefigure} \newenvironment{figure} {\@float{figure}} {\end@float} \newenvironment{figure*} {\@dblfloat{figure}} {\end@dblfloat} \newcounter{table} \renewcommand\thetable{\@arabic\c@table} \def\fps@table{tbp} \def\ftype@table{2} \def\ext@table{lot} \def\fnum@table{\tablename~\thetable} \newenvironment{table} {\@float{table}} {\end@float} \newenvironment{table*} {\@dblfloat{table}} {\end@dblfloat} \newlength\abovecaptionskip \newlength\belowcaptionskip \setlength\abovecaptionskip{10\p@} \setlength\belowcaptionskip{0\p@} \long\def\@makecaption#1#2{% \vskip\abovecaptionskip \sbox\@tempboxa{#1: #2}% \ifdim \wd\@tempboxa >\hsize #1: #2\par \else \global \@minipagefalse \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% \fi \vskip\belowcaptionskip} \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} \DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal} \DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal} \newcommand\@pnumwidth{1.55em} \newcommand\@tocrmarg{2.55em} \newcommand\@dotsep{4.5} \setcounter{tocdepth}{3} % change \tableofcontents for tm %\newcommand\tableofcontents{% % \section*{\contentsname % \@mkboth{\uppercase{\contentsname}}{\MakeUppercase{\contentsname}}}% % \@starttoc{toc}% % } \newcommand\tableofcontents{% \setcounter{tm@totalpages}{\c@page}\newpage \pagenumbering{roman}\parskip=\z@ \section*{\contentsname \@mkboth{\uppercase{\contentsname}}{\MakeUppercase{\contentsname}}}% \@starttoc{toc}% } \newcommand*\l@part[2]{% \ifnum \c@tocdepth >-2\relax \addpenalty\@secpenalty \addvspace{2.25em \@plus\p@}% \begingroup \setlength\@tempdima{3em}% \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth {\leavevmode \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par \nobreak \if@compatibility \global\@nobreaktrue \everypar{\global\@nobreakfalse\everypar{}}% \fi \endgroup \fi} % tm changes section to be like subsection \newcommand*\l@section[2]{% \ifnum \c@tocdepth >\z@ \addpenalty\@secpenalty \addvspace{1.0em \@plus\p@}% % expansion of: \@dottedtocline{0}{0em}{1.5em} {\leftskip \z@ \rightskip \@tocrmarg \parfillskip -\rightskip \parindent \z@ \@afterindenttrue \interlinepenalty\@M \leavevmode \@tempdima 1.5em \advance\leftskip \@tempdima \hbox{}\hskip -\leftskip {#1}\nobreak\leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern \@dotsep mu$}\hfill \nobreak \hbox to\@pnumwidth{% \hfil\reset@font\rmfamily \normalcolor #2}\par} \fi} \newcommand*\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}} \newcommand*\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}} \newcommand*\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}} \newcommand*\l@subparagraph{\@dottedtocline{5}{10em}{5em}} \newcommand\listoffigures{% \section*{\listfigurename \@mkboth{\MakeUppercase\listfigurename}% {\MakeUppercase\listfigurename}}% \@starttoc{lof}% } \newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} \newcommand\listoftables{% \section*{\listtablename \@mkboth{% \MakeUppercase\listtablename}{\MakeUppercase\listtablename}}% \@starttoc{lot}% } \let\l@table\l@figure % bibliography stuff changes for tm (need bibliography* for no page skip) \newdimen\bibindent \bibindent=1.5em \def\tm@thebibliography#1{% \section*{\refname \@mkboth{\uppercase{\refname}}{\uppercase{\refname}}% \addcontentsline{toc}{section}{REFERENCES}}% \list{\@biblabel{\arabic{enumiv}}}% {\settowidth\labelwidth{\@biblabel{#1}}% \leftmargin\labelwidth \advance\leftmargin\labelsep \@openbib@code \usecounter{enumiv}% \let\p@enumiv\@empty \setcounter{tm@references}{0}% \renewcommand\theenumiv{\@arabic\c@enumiv}}% \sloppy\clubpenalty4000\widowpenalty4000% \sfcode`\.=\@m} \newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em} \let\@openbib@code\@empty \newif\if@bibonnewpage \@bibonnewpagetrue \def\thebibliography{ \if@bibonnewpage \clearpage \else \relax \fi \tm@thebibliography} \def\endthebibliography{ \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% \endlist} \@namedef{thebibliography*}{\tm@thebibliography} \@namedef{endthebibliography*}{\endthebibliography} \def\bibliography{% \@ifstar{\@bibonnewpagefalse\tm@bibliography}{\tm@bibliography}}% \def\tm@bibliography#1{% \if@filesw \immediate\write\@auxout{\string\bibdata{#1}}% \fi \@input{\jobname.bbl}} % % bibitem redefined to count all items -- enumiv only counts those % with default label % \def\bibitem{\global\advance\c@tm@references by1% \@ifnextchar[{\@lbibitem}{\@bibitem}} \newenvironment{theindex} {\if@twocolumn \@restonecolfalse \else \@restonecoltrue \fi \columnseprule \z@ \columnsep 35\p@ \twocolumn[\section*{\indexname}]% \@mkboth{\MakeUppercase\indexname}% {\MakeUppercase\indexname}% \thispagestyle{plain}\parindent\z@ \parskip\z@ \@plus .3\p@\relax \let\item\@idxitem} {\if@restonecol\onecolumn\else\clearpage\fi} \newcommand\@idxitem{\par\hangindent 40\p@} \newcommand\subitem{\@idxitem \hspace*{20\p@}} \newcommand\subsubitem{\@idxitem \hspace*{30\p@}} \newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax} \renewcommand\footnoterule{% \kern-3\p@ \hrule\@width.4\columnwidth \kern2.6\p@} \newcommand\@makefntext[1]{% \parindent 1em% \noindent \hb@xt@1.8em{\hss\@makefnmark}#1} \newcommand\contentsname{Contents} \newcommand\listfigurename{List of Figures} \newcommand\listtablename{List of Tables} \newcommand\refname{References} \newcommand\indexname{Index} \newcommand\figurename{Figure} \newcommand\tablename{Table} \newcommand\partname{Part} \newcommand\appendixname{Appendix} \newcommand\abstractname{Abstract} \newcommand\today{} \edef\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} \setlength\columnsep{10\p@} \setlength\columnseprule{0\p@} \pagestyle{plain} \pagenumbering{arabic} \if@twoside \else \raggedbottom \fi \if@twocolumn \twocolumn \sloppy \flushbottom \else \onecolumn \fi %------------------ % END OF MATERIAL FROM ARTICLE.CLS \input local.sty %contains local page positioning parameters \usepackage{tmaddon} % contains LaTeX extentions % % Appendices % \newcommand{\appendices}{% \newpage \appendix \section*{Appendices\@mkboth{APPENDICES}{APPENDICES}% \addcontentsline{toc}{section}{APPENDICES}}% } % set to null so can test if set by user \newcommand{\tm@null}{} \renewcommand{\title}{\@ifstar{\tm@notoptitle}{\tm@title}} \newcommand{\tm@title}[1]{% \gdef\tm@covtitle{#1}% \gdef\tm@titlepagetitle{#1}% \markright{#1}% } \newcommand{\tm@notoptitle}[1]{% \gdef\tm@covtitle{#1}% \gdef\tm@titlepagetitle{#1}% \markright{}% } \newcommand{\titlepagetitle}[1]{\gdef\tm@titlepagetitle{#1}} \newcommand{\covtitle}[1]{\gdef\tm@covtitle{#1}} \newcommand{\memotype}[1]{\gdef\tm@memotype{#1}} % % approver stuff % \newcount\approvernumber \approvernumber=0 \newcommand{\approver}[1]{% \orgapprovaltrue \global\advance\approvernumber by1\relax \expandafter\gdef \csname tm@approver\romannumeral\the\approvernumber\endcsname{#1}% } % % author stuff % \newcount\authornumber \authornumber=0 \renewcommand{\author}[1]{% \global\advance\authornumber by1\relax \expandafter\gdef \csname tm@author\romannumeral\the\authornumber\endcsname{#1}% } \newcommand{\signatureextra}[1]{% \expandafter\gdef\csname tm@signatureextra\romannumeral\the\authornumber\endcsname{#1}% } \newcommand{\typistinitials}[1]{% \gdef\tm@typistinitials{#1}% } \newcommand{\initials}[1]{% \expandafter\gdef\csname tm@initials\romannumeral\the\authornumber\endcsname{#1}% } \newcommand{\eaddress}[1]{% \expandafter\gdef\csname tm@eaddress\romannumeral\the\authornumber\endcsname{#1}% } \newcommand{\company}[1]{% \expandafter\gdef\csname tm@company\romannumeral\the\authornumber\endcsname{#1}% } \newcommand{\maddress}[1]{% \expandafter\gdef\csname tm@maddress\romannumeral\the\authornumber\endcsname{#1}% } \newcommand{\department}[1]{% \expandafter\gdef\csname tm@department\romannumeral\the\authornumber\endcsname{#1}% } \newcommand{\location}[3]{% \expandafter\gdef\csname tm@location\romannumeral\the\authornumber\endcsname{#1}% \expandafter\gdef\csname tm@office\romannumeral\the\authornumber\endcsname{#2}% \expandafter\gdef\csname tm@phone\romannumeral\the\authornumber\endcsname{#3}% } \newcommand{\locationextra}[4]{% \expandafter\gdef\csname tm@locationextra\romannumeral\the\authornumber\endcsname{#1}% } \newcommand{\documentno}[3]{% \expandafter\def\csname tm@documentdate\romannumeral\the\authornumber\endcsname{#1}% \expandafter\def\csname tm@documentseq\romannumeral\the\authornumber\endcsname{#2}% \expandafter\def\csname tm@documentcat\romannumeral\the\authornumber\endcsname{#3}% } \newcommand{\previousdocument}[1]{\gdef\tm@prevdoc{#1}}% \gdef\tm@prevdoc{\relax} % \newcount\filecasenumber \filecasenumber=0 \newcommand{\filecase}[1]{% \advance\filecasenumber by1\relax% \expandafter\def\csname tm@filecase\romannumeral\the\filecasenumber\endcsname{#1}% } \newcount\chargecasenumber \chargecasenumber=0 \newcommand{\chargecase}[1]{% \advance\chargecasenumber by1\relax% \expandafter\def\csname tm@chargecase\romannumeral\the\chargecasenumber\endcsname{#1}% } \def\tm@keywords{} \newcommand{\keywords}[1]{\gdef\tm@keywords{#1}} \newcount\mercurynumber \mercurynumber=0 \newcommand{\mercurycode}[1]{% \advance\mercurynumber by1\relax% \expandafter\def\csname tm@mercury\romannumeral\the\mercurynumber\endcsname{#1}% } \newcommand{\cityaddr}[1]{\gdef\tm@cityaddr{#1}} \newcommand{\companyname}[1]{\gdef\tm@companyname{#1}} \newcommand{\capcompanyname}[1]{\def\tm@capcompanyname{#1}} \gdef\tm@companyname{Bell Laboratories} \gdef\tm@capcompanyname{BELL LABORATORIES} \newcounter{tm@textpages} \newcounter{tm@otherpages} \newcounter{tm@totalpages}\setcounter{tm@totalpages}{0} \newcounter{tm@references} \newcounter{tm@extrapages}\setcounter{tm@extrapages}{0} \newcommand{\extrapages}[1]{\setcounter{tm@extrapages}{#1}} \long\def\abstract#1{\long\def\tm@abstr{#1}} \def\makeabstract{% \smallskip% {\parindent=\z@ \leftskip0.37in\rightskip0.38in% \tm@abstr\par\bigskip}% } \newcommand{\his}[1]{\csname #1\romannumeral\the\authornumber\endcsname} \newcommand{\approve}[1]{\csname #1\romannumeral\the\approvernumber\endcsname} \newcommand{\hisorblank}[1]{\if\relax\his{#1}\ \else\his{#1}\fi} \newcommand{\case}[1]{\csname #1\romannumeral\the\casenumber\endcsname} % NEW AUTHORHEAD LAYOUT for mm summer 1990 % % - The appearance of the author's information in the "from" % block on memoranda has changed. Also, the "x" extension % prefix has been removed; the complete phone number (with % area code) should be supplied as the 5th argument to the % .AU macro. Given the author information: % % .AU NAME [INIT] [LOC] [DEPT] [PHONE] [ROOM] [EMAIL] [ARG] % [ARG] % the "from" block for each author looks like: % % NAME % Dept. DEPT % LOC ROOM % PHONE % EMAIL % ARG8 % ARG9 \newcommand{\makeauthorhead}{% {\bfseries\raggedright \parbox[t]{9.7em}{\raggedright\hyphenpenalty10000% \exhyphenpenalty10000\his{tm@author}\strut}% \if\relax\his{tm@company}\relax\else\\ \his{tm@company}\fi% \if\relax\his{tm@maddress}\relax\else\\ \his{tm@maddress}\fi% \if\relax\his{tm@department}\relax\else\\ Dept. \his{tm@department}\fi \if\relax\his{tm@location}\relax\else\\ \his{tm@location}\enskip\fi% \if\relax\his{tm@office}\relax\else\his{tm@office}\enskip\fi% \if\relax\his{tm@phone}\relax\else\\ \his{tm@phone}\fi \if\relax\his{tm@eaddress}\relax\else\\ \his{tm@eaddress}\fi% \if\relax\his{tm@locationextra}\relax% \else\\ \his{tm@locationextra}\fi% \if\relax\his{tm@documentdate}% \else\\ \his{tm@department}-\his{tm@documentdate}% -\his{tm@documentseq}\his{tm@documentcat}\fi}} \newif\ifmoreauthors \newcommand{\forallauthors}[1]{% \authornumber=\@ne #1% \loop \advance\authornumber by\@ne \if\relax\his{tm@author}\relax% \moreauthorsfalse\else\moreauthorstrue\fi \ifmoreauthors #1\repeat } \newif\ifmoreapprovers \newcommand{\forallapprovers}[1]{% \approvernumber=\@ne #1% \loop \advance\approvernumber by\@ne \if\relax\approve{tm@approver}\relax% \moreapproversfalse\else\moreapproverstrue\fi \ifmoreapprovers #1\repeat } \newcount\casenumber \newif\ifmorecases \newcommand{\forallfilecases}[1]{% \global\casenumber=0% \loop \global\advance\casenumber by\@ne \if\relax\case{tm@filecase}\relax% \morecasesfalse\else\morecasestrue\fi \ifmorecases #1\repeat } \newcommand{\forallchargecases}[1]{% \global\casenumber=0% \loop \global\advance\casenumber by\@ne \if\relax\case{tm@chargecase}\relax% \morecasesfalse\else\morecasestrue\fi \ifmorecases #1\repeat } \newcommand{\makehead}{% \if N\proprietarylevel\makeproprietarymark{}{}{}{}\fi \newpage{\parskip=0pt\ \vskip-48pt% \font\lucenta=cmssblogo10 \font\lucentb=cmsslogo7 \font\lucentc=lucent45 \hfill\hbox{\vbox{\baselineskip=8pt \halign{\hfill##\cr \lucenta Lucent Technologies\cr \lucentb Bell Labs Innovations\cr}}% \hskip14pt \lower5pt\hbox{\lucentc L}} \vskip16pt \hrule \vskip6pt \noindent{\sffamily\tm@companyname} \vskip4pt% \hskip-5pt\parbox[t]{3.5in}{\raggedright% \begin{itemize} \item[{\footnotesize subject:}]{% \bfseries\tm@titlepagetitle% \forallchargecases{% \expandafter\ifnum\the\casenumber=1{\\ Work Project No. }% \else{, }\fi\case{tm@chargecase}} \forallfilecases{% \expandafter\ifnum\the\casenumber=1{\\ File Case }\else{, }\fi\case{tm@filecase}}% } \end{itemize}} \hfill% \parbox[t]{14em}{\raggedright% \begin{itemize} \item[{\footnotesize date:}]{\bfseries\@date} \forallauthors{\item[{\expandafter\ifnum\the\authornumber=1% \footnotesize from:\fi}]\makeauthorhead} \end{itemize}} \vskip30pt \expandafter\if\csname tm@memotype\endcsname\relax{}% \else{\itshape\hfill\tm@memotype\hfill} \vskip24pt\fi \thispagestyle{onlyfoot}}% } \newcommand{\makesignature}{{\parindent=\z@\par \parbox[b]{3in}{\tm@locationi -\tm@departmenti -\forallauthors{\expandafter\ifnum\the\authornumber=1{}\else/\fi% \his{tm@initials}}% \expandafter\if\csname tm@typistinitials\endcsname\relax{}% \else /\tm@typistinitials\fi}\hfill% \parbox[b]{3in}{\vskip-5pt\forallauthors{ \vskip31pt{\bfseries \his{tm@author} \if\his{tm@signatureextra}\relax{}\else\\ \his{tm@signatureextra}\fi}}} \vskip12pt\setcounter{tm@textpages}{\c@page}}} \newcommand{\makefacesignature}[1]{{\parindent=\z@\par \@ifundefined{initbitmap}{\input bitmap.sty}{} \vskip-5pt\forallauthors{ \vskip11pt \xdef\tm@facefile{#1/\his{tm@initials}/face}% \parbox[b]{3in}{\vbox{}\hskip2in\hbox{\vrule height48pt depth3.5pt width0pt}\input \tm@facefile \hfill}% \parbox[b]{3in}{{\bfseries \his{tm@author} \if\his{tm@signatureextra}\relax{}\else\\ \his{tm@signatureextra}\fi}}}% \parbox[b]{3in}{\tm@locationi -\tm@departmenti -\forallauthors{\expandafter\ifnum\the\authornumber=1{}\else/\fi% \his{tm@initials}}% \expandafter\if\csname tm@typistinitials\endcsname\relax{}% \else /\tm@typistinitials\fi}\hfill% \vskip12pt\setcounter{tm@textpages}{\c@page}}} \long\def\copyto#1{% {\obeylines\parskip=\z@\parindent=\z@%WHY DOES obeylines NOT WORK \hbox{Copy to}\par\nobreak #1\par} \newsavebox{\copytobox}\sbox{\copytobox}{\begin{minipage}[t]{3in} {\parskip=\z@\parindent=\z@#1}\end{minipage}} \setcounter{tm@textpages}{\c@page}} \long\def\restofcopyto#1{% {\obeylines\parskip=\z@\parindent=\z@%WHY DOES obeylines NOT WORK \par #1\par\ \medskip} \newsavebox{\restofcopytobox}\sbox{\restofcopytobox}% {\begin{minipage}[t]{3in} {\parskip=\z@\parindent=\z@#1}\end{minipage}} \setcounter{tm@textpages}{\c@page}} \long\def\copytohere#1{% {\obeylines\parskip=\z@\parindent=0pt%WHY DOES obeylines NOT WORK \hbox{Copy to}\par #1\par\ \medskip} \setcounter{tm@textpages}{\c@page}} \long\def\copytocov#1{% \newsavebox{\copytobox}\sbox{\copytobox}{\begin{minipage}[t]{3in} {\parskip=\z@\parindent=\z@#1}\end{minipage}} \setcounter{tm@textpages}{\c@page}} \long\def\restofcopytocov#1{% \newsavebox{\restofcopytobox}\sbox{\restofcopytobox}% {\begin{minipage}[t]{3in} {\parskip=\z@\parindent=\z@#1}\end{minipage}} \setcounter{tm@textpages}{\c@page}} \long\def\coverto#1{% \newsavebox{\covertobox}\sbox{\covertobox}{\begin{minipage}[t]{3in} {\parskip=\z@\parindent=\z@#1}\end{minipage}}} \long\def\restofcoverto#1{% \newsavebox{\restofcovertobox}\sbox{\restofcovertobox}% {\begin{minipage}[t]{3in} {\parskip=0pt\parindent=0pt#1}\end{minipage}}} \def\endoftext{\setcounter{tm@textpages}{\c@page}} % % Coversheet macros % \font\LARGEsf=cmss17 \newif\iforgapproval\orgapprovalfalse \newcommand{\organizationalapproval}{\orgapprovaltrue} \newif\ifclassified\classifiedfalse \newcommand{\classified}[1]{\classifiedtrue\def\classification{#1}} \newif\ifitdsrelease\itdsreleasetrue \newcommand{\itdsrestrict}{\itdsreleasefalse} \newcommand{\tm@stop}{@} \newif\ifitssame \newif\ifitsnew \newcount\tempcount \newtoks\tm@str \def\cmp#1#2*#3#4*{% \itssametrue\if#1#3\if\tm@stop#1\else\cmp#2*#4\tm@stop*\fi% \else\itssamefalse\fi}% compares str1*str2* \newcommand{\compare}[2]{% string compare \edef\str{#1\tm@stop*#2\tm@stop*}% expand args before passing \expandafter\cmp\str} \newcommand{\seeifnewdocnum}{% \tempcount=1\itsnewtrue% {\loop\ifnum\the\tempcount<\the\authornumber% \compare{\his{tm@department}\his{tm@documentdate}}{\csname tm@department\romannumeral\the\tempcount\endcsname\csname tm@documentdate\romannumeral\the\tempcount\endcsname} \ifitssame\global\itsnewfalse\fi\advance\tempcount by1\repeat}% } % The following are to allow an if comparison of string % I can't find a more direct way. \let\CHM=a\let\CMM=b\let\MAN=c\let\CMP=d\let\ELC=e \let\LFS=f\let\STD=g\let\MAS=h\let\PHY=i\let\MKT=j \newcommand{\bigbox}[2]{\vbox{\hrule height\thinrule\hbox{\vrule width\thinrule% \vbox to#1{\hbox to\hsize{#2}}\vrule width\thinrule}\hrule height\fatrule}} \newcommand{\cbox}[1]{\hbox to\hsize{\strut\hfill#1\hfill}} \newcommand{\tm@mercurytitle}[1]{% \cbox{#1% \compare{CHM}{#1}\ifitssame -- Chemistry and Materials\fi \compare{CMM}{#1}\ifitssame -- Communications\fi \compare{MAN}{#1}\ifitssame -- Manufacturing\fi \compare{CMP}{#1}\ifitssame -- Computing\fi \compare{ELC}{#1}\ifitssame -- Electronics\fi \compare{LFS}{#1}\ifitssame -- Life Sciences\fi \compare{STD}{#1}\ifitssame -- Standards\fi \compare{MAS}{#1}\ifitssame -- Math and Statistics\fi \compare{PHY}{#1}\ifitssame -- Physics\fi \compare{MKT}{#1}\ifitssame -- Marketing\fi }} \newcommand{\coversheet}{% \cover@setsizes \cover@genmacros \cover@head \cover@sep \cover@title \cover@sep \cover@authors \cover@sep \cover@documentno \cover@sep \cover@keywords \cover@sep \cover@mercury \cover@sep \cover@abstract \cover@sep \cover@pagecount \vskip8pt \cover@maillabel \newpage \cover@pagetwohead \cover@sep \cover@distrlists \vfill \ifclassified\cover@sep\cover@classified\fi \cover@sep \cover@futuredistribution \cover@sep \cover@signature \if R\proprietarylevel{\cover@sep\cover@approval} \else\if G\proprietarylevel{\cover@sep\cover@approval} \else\iforgapproval{\cover@sep\cover@approval}\fi\fi\fi \cover@sep \cover@ordering % Continued copyto pages if needed \@ifundefined{tm@restof}{}{\cover@thirdpage} } \newcommand{\cover@setsizes}{% \coversheetsize \hsize=7.5in \vsize=10.25in \textheight 10.25in \clearpage \hoffset-50pt\voffset-60pt \pagestyle{empty} \font\attlogofont=att36 \parindent=\z@ \newdimen\fatrule\fatrule=2pt \newdimen\thinrule\thinrule=1.5pt } \newcommand{\coversheetsize}{% do 10pt size stuff, locally \def\normalsize{% \@setfontsize\normalsize\@xpt\@xiipt \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ \abovedisplayshortskip \z@ \@plus3\p@ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@ \belowdisplayskip \abovedisplayskip \let\@listi\@listI}% \normalsize \def\small{% \@setfontsize\small\@ixpt{11}% \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@ \abovedisplayshortskip \z@ \@plus2\p@ \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ \def\@listi{\leftmargin\leftmargini \topsep 4\p@ \@plus2\p@ \@minus2\p@ \parsep 2\p@ \@plus\p@ \@minus\p@ \itemsep \parsep}% \belowdisplayskip \abovedisplayskip }% \def\footnotesize{% \@setfontsize\footnotesize\@viiipt{9.5}% \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ \abovedisplayshortskip \z@ \@plus\p@ \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ \def\@listi{\leftmargin\leftmargini \topsep 3\p@ \@plus\p@ \@minus\p@ \parsep 2\p@ \@plus\p@ \@minus\p@ \itemsep \parsep}% \belowdisplayskip \abovedisplayskip }% \def\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt}% \def\tiny{\@setfontsize\tiny\@vpt\@vipt}% \def\large{\@setfontsize\large\@xiipt{14}}% \def\Large{\@setfontsize\Large\@xivpt{18}}% \def\LARGE{\@setfontsize\LARGE\@xviipt{22}}% \def\huge{\@setfontsize\huge\@xxpt{25}}% \def\Huge{\@setfontsize\Huge\@xxvpt{30}}% } \newcommand{\cover@genmacros}{% \def\tm@TM{TECHNICAL MEMORANDUM}% \def\tm@tm{Technical Memorandum}% \def\tm@IM{INTERNAL MEMORANDUM}% \def\tm@im{Internal Memorandum}% \def\tm@TC{TECHNICAL CORRESPONDENCE}% \def\tm@tc{Technical Correspondence}% \def\cover@sep{\medskip\hrule height\thinrule\medskip}% \def\squarebox{% \vbox{\hrule\hbox{\vrule\vbox to 5pt{\hbox to 5pt{\hfill}\vfil}% \vrule}\hrule}\relax}} \newcommand{\cover@head}{% \font\lucentc=lucent45 \hbox to \hsize{% \vtop{\hsize=130pt\parbox{50pt}{\lucentc L} \parbox{86pt}{{Bell Laboratories}}} \hfill \vtop{\hsize=160pt% \hbox{\hfill\LARGEsf Document Cover Sheet\hfill} \vskip4pt \ifx\tm@memotype\tm@tm{\hbox{\hfill\LARGEsf for Technical Memorandum}}\fi \ifx\tm@memotype\tm@TM{\hbox{\hfill\LARGEsf for Technical Memorandum}}\fi \ifx\tm@memotype\tm@im{\hbox{\hfill\LARGEsf for Internal Memorandum}}\fi \ifx\tm@memotype\tm@IM{\hbox{\hfill\LARGEsf for Internal Memorandum}}\fi \ifx\tm@memotype\tm@tc{\hbox{\hfill\LARGEsf for Technical Correspondence}}\fi \ifx\tm@memotype\tm@TC{\hbox{\hfill\LARGEsf for Technical Correspondence}}\fi }}} \newcommand{\cover@title}{% \hbox to \hsize{% \vtop{\hsize=.5in{\strut\bfseries Title:\hfill}}% \parbox{6.75in}{\strut\tm@covtitle}\hfill}} \newcommand{\cover@authors}{% \hbox to 7.5in{% \vtop{\hsize=130pt% \cbox{{\bfseries Author\ifnum\authornumber>1 s\fi}} \cbox{\vbox{\forallauthors{\hbox{\strut\his{tm@author}\hfill}}}}} \hskip4pt% \vtop{\hsize=118pt% \cbox{{\bfseries Electronic Address}} \cbox{\vbox{\forallauthors{\hbox{\strut\his{tm@eaddress}\hfill}}}}} \hskip4pt% \vtop{\hsize=60pt% \cbox{{\bfseries Location}} \cbox{\vbox{\forallauthors{\hbox{\strut\his{tm@location}\ \his{tm@office}\hfill}}}}} \hskip4pt% \vtop{\hsize=57pt% \cbox{{\bfseries Phone}} \forallauthors{\cbox{\his{tm@phone}}}} \hskip4pt% \vtop{\hsize=150pt% \cbox{{\bfseries Company {\footnotesize (if other than Lucent--BL)}}} \cbox{\vbox{\forallauthors{\hbox{\strut\his{tm@company}\hfill}}}}} \hfil }} \newcommand{\cover@documentno}{% \hbox{% \vtop{\hsize=210pt% \cbox{{\bfseries Document No.}} \forallauthors{\seeifnewdocnum\ifitsnew% \if\relax\his{tm@documentdate}\relax\else% \cbox{\his{tm@department}-\his{tm@documentdate}% print if defined -\his{tm@documentseq}\his{tm@documentcat}}\fi\fi}} \vtop{\hsize=132pt% \cbox{{\bfseries Filing Case No.}} \forallfilecases{\cbox{\case{tm@filecase}}}} \vtop{\hsize=164pt% \cbox{{\bfseries Work Project No.}} \forallchargecases{\cbox{\case{tm@chargecase}}}} \hskip12pt% \hfil } \if\relax\tm@prevdoc\relax\else This document supersedes or amends document number: \tm@prevdoc\fi } \newcommand{\cover@keywords}{{\bfseries Keywords:}\hfill\break \medskip \hskip.25in\tm@keywords} \newcommand{\cover@mercury}{% {\bfseries MERCURY Announcement Bulletin Sections}\hfill\break \medskip \hbox{\footnotesize% \vtop{\hsize=2.25in% \expandafter\if\csname tm@mercuryi\endcsname\relax{}\else \tm@mercurytitle{\tm@mercuryi}\fi} \hfill \vtop{\hsize=2.25in% \expandafter\if\csname tm@mercuryii\endcsname\relax{}\else \tm@mercurytitle{\tm@mercuryii}\fi} \hfill \vtop{\hsize=2.25in% \expandafter\if\csname tm@mercuryiii\endcsname\relax{}\else \tm@mercurytitle{\tm@mercuryiii}\fi} }} \newcommand{\cover@abstract}{{\bfseries Abstract}\hfill\break \medskip \newdimen\csabstrwidth\csabstrwidth=7in \begin{center} \begin{minipage}{\csabstrwidth}{\parskip\medskipamount\tm@abstr}\end{minipage} \end{center} \vfill} \newcommand\cover@pagecount{% \@ifundefined{restofcopytobox}{\@ifundefined{restofcovertobox}% {}{\def\tm@restof{y}}}{\def\tm@restof{y}} \@ifundefined{mantextpages}{}{\c@tm@textpages\mantextpages} {\footnotesize Pages of Text\quad}\thetm@textpages\quad% \addtocounter{tm@totalpages}{\c@page}% \ifnum\thetm@extrapages>0\addtocounter{tm@totalpages}{\thetm@extrapages}\fi% \@ifundefined{tm@restof}% 1 or 2 more pages beyond here {\addtocounter{tm@totalpages}{1}}% {\addtocounter{tm@totalpages}{2}}% \@ifundefined{mantotalpages}{}{\c@tm@totalpages\mantotalpages} \setcounter{tm@otherpages}{\thetm@totalpages}% \addtocounter{tm@otherpages}{-\thetm@textpages}% {\footnotesize Other Pages\quad}\thetm@otherpages\quad% {\footnotesize Total\quad}\thetm@totalpages\\ {\footnotesize No. Figs.\quad}\@ifundefined{manfigures}{\thefigure}{\manfigures}\quad% {\footnotesize No. Tables\quad}\@ifundefined{mantables}{\thetable}{\mantables}\quad% {\footnotesize No. Refs.\quad}\@ifundefined{manreferences}{\thetm@references}{\manreferences} \par} \newcommand{\settextpages}[1]{\gdef\mantextpages{#1}} \newcommand{\settotalpages}[1]{\gdef\mantotalpages{#1}} \newcommand{\setfigures}[1]{\gdef\manfigures{#1}} \newcommand{\settables}[1]{\gdef\mantables{#1}} \newcommand{\setreferences}[1]{\gdef\manreferences{#1}} \newcommand{\cover@maillabel}{% \hfill {\bfseries Mailing Label}\hskip90pt\ % \par\vskip22pt \@ifundefined{tm@propmark}{}{\hskip.5in\usebox{\tm@propmark}} \vskip47pt {\footnotesize tm.sty (\tmversiondate )}\hfill {\sffamily\tm@capcompanyname}} \newcommand{\cover@pagetwohead}{% {\bfseries Initial Distribution Specifications\hfill% \authornumber=1\loop% \if\relax\his{tm@author}\relax% \moreauthorsfalse\else\moreauthorstrue\fi \ifmoreauthors\relax\else\authornumber=1% \def\tm@documentdatei{No Document Number}\fi% \if\relax\his{tm@documentdate}% \advance\authornumber by1\repeat% find first document number \his{tm@department}-\his{tm@documentdate}% \if\relax\his{tm@documentseq}\relax\else-\his{tm@documentseq}% \his{tm@documentcat}\fi}% {\enskip\itshape (page ii of \@ifundefined{tm@restof}{ii}{iii})}} \newcommand{\cover@distrlists}{% \hfill {\bfseries Complete Copy}\hfill\hfill{\bfseries Cover Sheet Only}\hfill\ \bigskip \hbox to \hsize{% \hskip.25in \@ifundefined{copytobox}{}{\usebox{\copytobox}}% \hfill% \@ifundefined{covertobox}{}{\usebox{\covertobox}} \hskip.25in\ }} \newcommand{\cover@classified}{% {\bfseries Government Security Classification}\hfill\classification} \newcommand{\cover@futuredistribution}{{\bfseries Future Lucent Distribution}\hfill% \ifitdsrelease\hfill Release to any Lucent employee (excluding contract employees)% \else\penalty-1\hbox{}\nobreak\hfill\nobreak% \hbox{Do not release to any Lucent employee without obtaining appropriate approval}% \fi\par} \newcommand{\makeapproval}{% \medskip\hrule height\thinrule\medskip {\bfseries Proprietary Classification or Other Organizational Approval:} (Department Head) \bigskip \hbox to \hsize{\@ifundefined{tm@propmark}{}{\usebox{\tm@propmark}}% \hfill\vbox{\hrule width 3.5in\vskip20pt\hrule}}} \newcommand{\cover@signature}{% {\forallauthors{\relax}%to set authornumber to numberofauthors+1 \bfseries Author Signature\ifnum\authornumber>2 s\fi} \vskip22pt \hbox to \hsize{% \vbox{\hsize2.25in\hrule\smallskip\hfill\strut\tm@authori\hfill\ } \nobreak\hfill \vbox{\hsize2.25in\hrule\smallskip\hfill\strut% \expandafter\if\csname tm@authorii\endcsname\relax{}\else\tm@authorii\fi\hfill\ } \nobreak\hfill \vbox{\hsize2.25in\hrule\smallskip\hfill\strut% \expandafter\if\csname tm@authoriii\endcsname\relax{}\else\tm@authoriii\fi\hfill\ }} \expandafter\if\csname tm@authoriv\endcsname\relax{}\else% \vskip22pt \hbox to \hsize{% \vbox{\hsize2.25in\hrule\smallskip\hfill\strut\tm@authoriv\hfill\ } \nobreak\hfill \vbox{\hsize2.25in\hrule\smallskip\hfill\strut% \expandafter\if\csname tm@authorv\endcsname\relax{}\else\tm@authorv\fi\hfill\ } \nobreak\hfill \vbox{\hsize2.25in\hrule\smallskip\hfill\strut% \expandafter\if\csname tm@authorvi\endcsname\relax{}\else\tm@authorvi\fi\hfill\ }}\fi \expandafter\if\csname tm@authorvii\endcsname\relax{}\else% \vskip22pt \hbox to \hsize{% \vbox{\hsize2.25in\hrule\smallskip\hfill\strut\tm@authorvii\hfill\ } \nobreak\hfill \vbox{\hsize2.25in\hrule\smallskip\hfill\strut% \expandafter\if\csname tm@authorviii\endcsname\relax{}\else\tm@authorviii\fi\hfill\ } \nobreak\hfill \vbox{\hsize2.25in\hrule\smallskip\hfill\strut% \expandafter\if\csname tm@authorix\endcsname\relax{}\else\tm@authorix\fi\hfill\ }}\fi } \newcommand{\cover@approval}{% {\forallapprovers{\relax}%to set approver number to numberofapprovers+1 \typeout{\the\approvernumber} \bfseries Organizational Approval\ifnum\approvernumber>2 s\fi} \vskip22pt \hbox to \hsize{% \vbox{\hsize2.25in\hrule\smallskip\hfill\strut% \expandafter\if\csname tm@approveri\endcsname\relax{}\else\tm@approveri\fi\hfill\ } \nobreak\hfill \vbox{\hsize2.25in\hrule\smallskip\hfill\strut% \expandafter\if\csname tm@approverii\endcsname\relax{}\else\tm@approverii\fi\hfill\ } \nobreak\hfill \vbox{\hsize2.25in\hrule\smallskip\hfill\strut% \expandafter\if\csname tm@approveriii\endcsname\relax{}\else\tm@approveriii\fi\hfill\ }} \expandafter\if\csname tm@approveriv\endcsname\relax{}\else% \vskip22pt \hbox to \hsize{% \vbox{\hsize2.25in\hrule\smallskip\hfill\strut\tm@approveriv\hfill\ } \nobreak\hfill \vbox{\hsize2.25in\hrule\smallskip\hfill\strut% \expandafter\if\csname tm@approverv\endcsname\relax{}\else\tm@approverv\fi\hfill\ } \nobreak\hfill \vbox{\hsize2.25in\hrule\smallskip\hfill\strut% \expandafter\if\csname tm@approvervi\endcsname\relax{}\else\tm@approvervi\fi\hfill\ }}\fi \expandafter\if\csname tm@approvervii\endcsname\relax{}\else% \vskip22pt \hbox to \hsize{% \vbox{\hsize2.25in\hrule\smallskip\hfill\strut\tm@approvervii\hfill\ } \nobreak\hfill \vbox{\hsize2.25in\hrule\smallskip\hfill\strut% \expandafter\if\csname tm@approverviii\endcsname\relax{}\else\tm@approverviii\fi\hfill\ } \nobreak\hfill \vbox{\hsize2.25in\hrule\smallskip\hfill\strut% \expandafter\if\csname tm@approverix\endcsname\relax{}\else\tm@approverix\fi\hfill\ }}\fi } \def\cover@ordering{{\bfseries For Use by Recipient of Cover Sheet:} \medskip {\scriptsize \hbox to \hsize{% \vbox to .7in{\hsize300pt% \hbox{\hskip4pt\vbox{\hsize240pt% \hbox{Computing network users may order copies via the \textit{library -1} command;\hfill} \hbox{\hskip4pt for information, type \textit{man library} after the UNIX\regmark\ system prompt.\hfill}}} \vfill \hbox{\hskip4pt\vbox{\hsize305pt% \hbox{Otherwise:\hfill} \hbox to\hsize{\hskip4pt Enter your Company ID number. \vbox{\hrule width104pt}\hfill} \hbox{\hskip4pt Return this sheet to any ITDS location.\par} }}} \hfill \vbox to .7in{\hsize3in% Internal Technical Document Service\hfill \vfill{ \begin{tabbing} ( )\hskip.72in\=( )\hskip.72in\=( )\hskip.72in\=\kill ( ) AK 2H-28 \>( ) IH 7M-103 \>( ) DR 2F-19\>( ) NW-ITDS\\ ( ) ALC 1B-102 \>( ) MV 3L-19 \>( ) INH 1C-114\>( ) PR 5-2120\\ ( ) CB 3O-2011 \>( ) WH 3E-204 \>( ) IW 2Z-156\\ ( ) HO 4F-112 \> \>( ) MT 3B-117 \end{tabbing}}\vskip -8pt}% } }} \newcommand{\cover@thirdpage}{% \newpage {\hfill\bfseries% \authornumber=1\loop% \if\relax\his{tm@author}\relax% \moreauthorsfalse\else\moreauthorstrue\fi \ifmoreauthors\relax\else\authornumber=1% \def\tm@documentdatei{No Document Number}\fi% \if\relax\his{tm@documentdate}% \advance\authornumber by1\repeat% find first document number \his{tm@department}-\his{tm@documentdate}% \if\relax\his{tm@documentseq}\relax\else-\his{tm@documentseq}% \his{tm@documentcat}\fi}% {\enskip\textit{(page iii of iii)}} \medskip\hrule height\thinrule\medskip \hbox to \hsize{% \vtop{\hsize=.5in{\strut\bfseries Title:\hfill}}% \parbox{6.75in}{\strut\tm@covtitle}\hfill} \medskip\hrule height\thinrule\medskip \hfill {\bfseries Complete Copy (continued)}\hfill% \hfill{\bfseries Cover Sheet Only (continued)}\hfill\ \bigskip \hbox to \hsize{% \hskip.25in \@ifundefined{restofcopytobox}{}{\usebox{\restofcopytobox}}% \hfill% \@ifundefined{restofcovertobox}{}{\usebox{\restofcovertobox}} \hskip.25in\ } \medskip\hrule height\thinrule\medskip \vfill }% end of continued copyto page % Memorandum for File type coversheet \newcommand{\mffcoversheet}{% \makehead \makeabstract \newpage }% % end of memorandum for File type coversheet \pagestyle{headandfoot} \parskip\medskipamount \input localpatch.sty