\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\[email protected]}
\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@[email protected]{%
\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@[email protected]{\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
|