\def\tmaddonversiondate{1991-Jul-03} \typeout{Document Style `TMADDON' (Misc TM addon macros). Release \tmaddonversiondate} % % % Changes: (by tla) % 89-Feb-01 add tmnotice % 89-Feb-27 change draftmark to add date/time option; % contributed by Dennis DeBruler % 89-Feb-28 added \hhmm and \hhmm* % 89-Aug-04 added simpleheadandfoot pagestyle % 89-Aug-24 added varhline (var width hlines) % 89-Dec-13 moved \@cite redef here from tm.sty % 90-May-30 fixed markdraft to add bottommark even if % propietary level not set % 90-Jul-05 added inlinelist environment % 90-Aug-27 changed UNIX tm notice % 91-Feb-25 corrected spelling of propr notice USL % 91-May-02 added numenum to force arabic numbered lists % 91-May-17 removed right indent from the added enumerations % 91-May-28 added symbol for cents. % 91-Jun-05 added typed caption to override float type % this is for generated TeX where type may not % be known when float begun. % 91-Jul-02 changed the implementation of the enums to use % the standard enum levels and simply override % the label defs % % various extensions to LaTeX used by tm and related styles % % raise citations like footnotes % \newif\ifraisedcite%raises citations [1] above line \def\raisedcitations{\raisedcitetrue} \def\noraisedcitations{\raisedcitefalse} \raisedcitations% default \def\@cite#1#2{% \ifraisedcite\raisebox{3pt}{\footnotesize [{#1\if@tempswa , #2\fi}]} \else [{#1\if@tempswa , #2\fi}]\fi} % % Additional enumeration styles: Roman roman Alph alph num(arabic) % %\newcounter{Romancount} %\newcounter{romancount} %\newcounter{Alphcount} \newcounter{alphcount} %\newcounter{numcount} %\newenvironment{Romanenum}{\begin{list}% % {\Roman{Romancount}.}{\usecounter{Romancount} % %\setlength{\rightmargin}{\leftmargin} % }}{\end{list}} %\newenvironment{romanenum}{\begin{list}% % {\roman{romancount}.}{\usecounter{romancount} % %\setlength{\rightmargin}{\leftmargin} % }}{\end{list}} %\newenvironment{Alphenum}{\begin{list}% % {\Alph{Alphcount}.}{\usecounter{Alphcount} % %\setlength{\rightmargin}{\leftmargin} % }}{\end{list}} %\newenvironment{alphenum}{\begin{list}% % {\alph{alphcount}.}{\usecounter{alphcount} % %\setlength{\rightmargin}{\leftmargin} % }}{\end{list}} %\newenvironment{numenum}{\begin{list}% % {\arabic{numcount}.}{\usecounter{numcount} % %\setlength{\rightmargin}{\leftmargin} % }}{\end{list}} % \newcount\nextenumdepth % \newenvironment{Romanenum}{% \nextenumdepth\@enumdepth \advance\nextenumdepth by1 \@namedef{labelenum\romannumeral\the\nextenumdepth}% {\Roman{enum\romannumeral\the\nextenumdepth}.}% \@namedef{theenum\romannumeral\the\nextenumdepth}% {\Roman{enum\romannumeral\the\nextenumdepth}}% \begin{enumerate}% }{\end{enumerate}} \newenvironment{romanenum}{% \nextenumdepth\@enumdepth \advance\nextenumdepth by1 \@namedef{labelenum\romannumeral\the\nextenumdepth}% {\roman{enum\romannumeral\the\nextenumdepth}.}% \@namedef{theenum\romannumeral\the\nextenumdepth}% {\roman{enum\romannumeral\the\nextenumdepth}}% \begin{enumerate}% }{\end{enumerate}} \newenvironment{Alphenum}{% \nextenumdepth\@enumdepth \advance\nextenumdepth by1 \@namedef{labelenum\romannumeral\the\nextenumdepth}% {\Alph{enum\romannumeral\the\nextenumdepth}.}% \@namedef{theenum\romannumeral\the\nextenumdepth}% {\Alph{enum\romannumeral\the\nextenumdepth}}% \begin{enumerate}% }{\end{enumerate}} \newenvironment{alphenum}{% \nextenumdepth\@enumdepth \advance\nextenumdepth by1 \@namedef{labelenum\romannumeral\the\nextenumdepth}% {\alph{enum\romannumeral\the\nextenumdepth}.}% \@namedef{theenum\romannumeral\the\nextenumdepth}% {\alph{enum\romannumeral\the\nextenumdepth}}% \begin{enumerate}% }{\end{enumerate}} \newenvironment{numenum}{% \nextenumdepth\@enumdepth \advance\nextenumdepth by1 \@namedef{labelenum\romannumeral\the\nextenumdepth}% {\arabic{enum\romannumeral\the\nextenumdepth}.}% \@namedef{theenum\romannumeral\the\nextenumdepth}% {\arabic{enum\romannumeral\the\nextenumdepth}}% \begin{enumerate}% }{\end{enumerate}} % % new macros % % % Redefine \begin{document} to allow additional initalizations %\let\orgdocument\document %\def\document{% % \orgdocument% % } % \def\bottommark{} \def\markbottom#1{\def\bottommark{#1}} % draft mark macros \newsavebox{\draftmarkL} \newsavebox{\draftmarkR} \sbox{\draftmarkL}{\vtop{}} \sbox{\draftmarkR}{\vtop{}} \newcount\hh % TIME OF DAY by Nelson Beebe in texhax.86.002 \newcount\mm \def\hhmm{\mm=\time% \hh=\time% \divide\hh by 60% \divide\mm by 60% \multiply\mm by 60% \mm=-\mm% \advance\mm by \time% \@ifstar{\number\hh:\ifnum\mm<10{}0\fi\number\mm}% {\ifnum\hh>12\relax\advance\hh by-12\fi\relax% \number\hh:\ifnum\mm<10{}0\fi\number\mm }} \def\markdraft {\@ifstar {\sbox{\draftmarkL}% {\vbox to 48pt {\baselineskip 12pt% \rlap{\it DRAFT} \rlap{\it \today} \rlap{\it \hhmm*} \vfil }% }% \sbox{\draftmarkR}% {\vbox to 48pt {\baselineskip 12pt% \llap{\it DRAFT} \llap{\it \today} \llap{\it \hhmm*} \vfil }% }% \makeproprietarymark{}{}{}{} } {\sbox{\draftmarkL}% {\vbox to 48pt {\baselineskip 12pt% \rlap{\it DRAFT} \vfil }% }% \sbox{\draftmarkR}% {\vbox to 48pt {\baselineskip 12pt% \llap{\it DRAFT} \vfil }% }% \makeproprietarymark{}{}{}{}}} % % new list style called labeled -- similar to itemize but the label is % set left justified in the label region and it takes the leftmargin % as a parameter. For example: % % label The item. If it is continued onto a second line, the % continuation is indented as the first to leftmargin. % \def\labeledlabel#1{#1\hfil} \def\labeled#1{\list{}{\leftmargin#1 \labelwidth\leftmargin\advance\labelwidth-\labelsep \let\makelabel\labeledlabel}} \let\endlabeled=\endlist % % new page styles like myhead but with a centered foot \bottommark % \def\tm@privatemark{\if V\proprietarylevel{\hbox{}\hfill\bf PRIVATE\hfill}\else{}\fi} \def\ps@simpleheadandfoot{\let\@mkboth\@gobbletwo \def\@oddhead{\hbox{}\if V\proprietarylevel{\hfill\bf PRIVATE\hfill}% \else{}\hfil\fi% - \rm\thepage\ -\hfil}\def\@oddfoot{\hbox{}\hfill \bottommark\hfill}% \def\@evenhead{\hbox{}\hfil - \rm \thepage\ -\if V\proprietarylevel{\hfill\bf PRIVATE\hfill}\else{}\hfil\hbox{}\fi} \def\@evenfoot{\hbox{}\hfill \bottommark\hfill}% \def\sectionmark##1{}\def\subsectionmark##1{}} % \def\ps@headandfoot{\let\@mkboth\@gobbletwo \def\@oddhead{\hbox{}\if V\proprietarylevel{\hfill\bf PRIVATE\hfill}% \else\sl\rightmark \hfil\fi% \rm\thepage}\def\@oddfoot{\hbox{}\hfill \bottommark\hfill}% \def\@evenhead{\rm \thepage\if V\proprietarylevel{\hfill\bf PRIVATE\hfill}% \else\hfil\sl\leftmark\hbox{}\fi} \def\@evenfoot{\hbox{}\hfill \bottommark\hfill}% \def\sectionmark##1{}\def\subsectionmark##1{}} % % new page style without headers but with a centered foot \bottommark % \def\ps@onlyfoot{\let\@mkboth\@gobbletwo \def\@oddhead{\tm@privatemark}\def\@oddfoot{\hbox{}\hfill \bottommark\hfill}% \def\@evenhead{\tm@privatemark}\def\@evenfoot{\hbox{}\hfill \bottommark\hfill}% \def\sectionmark##1{}\def\subsectionmark##1{}} % \def\ps@myheadings{\let\@mkboth\@gobbletwo \def\@oddhead{\hbox{}\sl\rightmark \hfil \rm\thepage}\def\@oddfoot{}\def\@evenhead{\rm \thepage\hfil\sl\leftmark\hbox {}}\def\@evenfoot{}\def\sectionmark##1{}\def\subsectionmark##1{}} % % AT&T proprietary markings % \newsavebox{\tm@propmark} \newsavebox{\tm@bottommark} \def\makeproprietarymark#1#2#3#4{% \sbox{\tm@propmark}{\vbox{\baselineskip 12pt% \hbox to 3.5in{\hfil #1\hfil}% \hbox to 3.5in{\hfil #2\hfil}% \hbox to 3.5in{\hfil #3\hfil}% \hbox to 3.5in{\hfil #4\hfil}}}% \sbox{\tm@bottommark}{% \hbox to \textwidth{\usebox{\draftmarkL}\hfil\usebox{\tm@propmark}% \hfil\usebox{\draftmarkR}}}% \def\bottommark{\usebox{\tm@bottommark}}% \footskip60pt} \def\proprietarylevel{N} \def\markprivate{\def\proprietarylevel{V}% \makeproprietarymark{} {{\bf PRIVATE}}{}{}} \def\markproprietary{\def\proprietarylevel{P}% \makeproprietarymark{{\it AT\&T -- PROPRIETARY}} {Use pursuant to Company Instructions}{}{}} \def\markrestricted{\def\proprietarylevel{R}% \makeproprietarymark% {{\it AT\&T -- PROPRIETARY (RESTRICTED)}}% {Solely for authorized persons}% {having a need to know pursuant}% {to Company Instructions} \itdsrestrict} \def\markregistered{\def\proprietarylevel{G}% \makeproprietarymark% {{\it AT\&T -- PROPRIETARY (REGISTERED)}}% {Solely for authorized persons}% {having a need to know and}% {subject to cover sheet instructions} \itdsrestrict} \def\marknone{\def\proprietarylevel{N}% \makeproprietarymark{}{}{}{}} % \def\markedfootnote#1#2{{\def\thefootnote{#1}\footnote[1]{#2}}} \def\tm@no{no} \def\unixfootnoteprinted{no} \def\UNIX{UNIX% \ifx\unixfootnoteprinted\tm@no% \newbox\regbox\setbox\regbox=\hbox{\@regmark}% \markedfootnote{\copy\regbox}{UNIX is a registered trademark of UNIX System Laboratories, Inc.}% \def\unixfootnoteprinted{yes}% \fi}% \def\boxit#1{\vbox{\hrule\hbox{\vrule\kern3pt \vbox{\kern3pt\hbox{#1}\kern3pt}\kern3pt\vrule}\hrule}} \def\@regmark{{\ooalign {\hfil\raise.07ex\hbox{\tiny R}\hfil\crcr{\scriptsize\mathhexbox20D}}}} \def\regmark{\raise1ex\hbox{\@regmark}} \newbox\regbox\setbox\regbox=\hbox{\@regmark}% \def\regnotice#1{% \markedfootnote{\copy\regbox}{#1}}% \def\tm{\raise5pt\hbox{{\rm\tiny TM}}} \newbox\tmbox\setbox\tmbox=\hbox{\tm}% \def\tmnotice#1{% \newbox\tmbox\setbox\tmbox=\hbox{{\rm\tiny TM}}% \markedfootnote{\copy\tmbox}{#1}}% \def\cents{\hbox{\rm\rlap/c}} % % for tabular environment -- allows variable hline width % \hline will not tolerate a change to \arrayrulewidth just before it \def\varhline#1{\noalign{\ifnum0=`}\fi\hrule \@height #1 \futurelet \@tempa\@xhline} % % ``list'' environment that does NOT use a display but puts list in % line in the paragraph. CANNOT BE NESTED % % Currently leaves space before `;' (bad) and after last item though % one often wants to end sentence there and so add a `.' without a space % How can I keep from adding space at end of item??? % \newcount\@inlineitemnum\@inlineitemnum=0 \def\inlinelist{\gdef\@newinlinelist{Y}% \begingroup\def\item{\if Y\@newinlinelist{\gdef\@newinlinelist{N}}% \else{}\fi% inter item punctuation such as `;' could go here but it % is difficult to supress the space before it; one must % end each item with a %, and one may not want the same % punctuation for each list so let's let the user add own % punctuation at end of each item. Logic left in to show % how punctuation can be added. \advance\@inlineitemnum by1 (\the\@inlineitemnum )\ }} \def\endinlinelist{\endgroup} \def\typedcaption#1{\refstepcounter{#1} \@dblarg{\@caption{#1}}}