% REPORT DOCUMENT STYLE -- version 0.6 for LaTeX version 0.9 \warning{Document Style 'report' -- version 0.6 for LaTeX version 0.9} \warning{} % CHANGES THAT SHOULD BE MADE TO REPORT: % % - change \chapter, \section etc. so they work right with names more % than one line long. Requires ragged-righting and turning off % hyphenation, as per 4 Feb 83 message from DEK. % - make table of contents, list of figure, etc. entries work right % for titles longer than one line. Not clear how to do this. % % **************************************** % * FONTS * % **************************************** % \let\~mainsize=\tenpoint \tenpoint \def\~parskip{4pt plus 1pt} \parskip\~parskip \parindent 11pt % Environment names for type styles % Note that the \~end... commands are left undefined, since % TeX turns an undefined \begincsname ... \endcsname into \relax \def\~beginroman{\rm\ignorespaces} \def\~beginitalic{\it\ignorespaces} \def\~begintypewriter{\tt\ignorespaces} \def\~beginboldface{\bf\ignorespaces} \def\~beginsansserif{\sf\ignorespaces} \def\~beginsmallcaps{\sc\ignorespaces} % type size commands \def\~beginnormal{\tenpoint\def\~parskip{4pt plus 1pt}\parskip\~parskip \ignorespaces} \def\tit{\twelvepoint\def\~parskip{5pt plus 2pt}\parskip\~parskip} \def\~begintitle{\tit\ignorespaces} \def\Tit{\eighteenpoint} \def\~beginTitle{\Tit\ignorespaces} \def\~beginsmall{\ninepoint\def\~parskip{3pt plus 1pt}\parskip\~parskip \ignorespaces} \def\~beginfootnotesize{\eightpoint \def\~parskip{3pt plus 1pt}\parskip\~parskip\ignorespaces} \def\~beginscriptsize{\sevenpoint \def\~parskip{3pt plus 1pt}\parskip\~parskip\ignorespaces} % **************************************** % * PAGE STYLES * % **************************************** % % To get heads and feet defined for different styles, the text % to be put on the left- or right-hand page heading is defined % by the macro \~lhead or \~rhead. (left-hand = even page number) % These can be set by the user commands \lhead, \rhead and % \head. % % The macros \~chapmark, \~secmark, etc. are called by \chapter, \section, % etc. to make appropriate changes to the running heads. % \~chapmark, etc. take a single argument, which is the argument of the % \chapter, etc. macro from which they're called. % The page style \~ps~... macros change the running heads by % redefining \~chapmark, etc. \def\lhead#1{\def\~lhead{#1}} \def\rhead#1{\def\~rhead{#1}} \def\head#1{\def\~lhead{#1}\def\~rhead{#1}} \def\~chapmark#1{} % INITIAL DEFAULT DEFINITIONS \def\~secmark#1{} \def\~subsecmark#1{} \def\~subsubsecmark#1{} \def\~lhead{} \def\~rhead{} % NOTE USE OF \hbox{} IN CASE OF EMPTY HEADING FIELDS IN THE % FOLLOWING DEFINITIONS OF \~ps~... \def\~ps~myheadings{\def\~oddhead{\sl\hbox{}\hfil\~rhead \hfil \rm\~pagenum}% \def\~oddfoot{}\def\~evenhead{\rm\~pagenum\hfil\sl\~lhead\hfil}% \def\~evenfoot{}\def\~chapmark##1{}\def\~secmark##1{}} % NOTE USE OF \tokens IN THE DEFINITION OF \~chapmark and \~secmark % \if\~twoside F% \def\~ps~headings{\def\~oddhead{\sl\hbox{}\firstmark \hfil \rm\~pagenum}% \def\~oddfoot{}\def\~chapmark##1{\tokens{\~cr~chapter}% \mark{{Chapter \the\tokens\~ca~chapter}}}% \def\~secmark##1{\tokens{\~cx~section}% \mark{{Section \the\tokens\~ca~section}}}}% \else \def\~ps~headings{\def\~oddfoot{}\def\~oddhead% {\sl\hbox{}\firstmark\hfil\rm\~pagenum}\def\~evenfoot{}% \def\~evenhead{\rm\~pagenum\hss\sl\~lhead\hss}\def% \~chapmark##1{\mark{}\def\~lhead{##1}}% \def\~secmark##1{\tokens{\~cx~section}% \mark{{\hfil\the\tokens\~ca~section}\hskip 1em##1}}}\fi \def\~ps~empty{\def\~oddhead{}\def\~oddfoot{}% \def\~evenhead{}\def\~evenfoot{}} \def\~ps~plain{\def\~oddhead{}\def\~oddfoot{\rm\hfil\~pagenum \hfil}\def\~evenhead{}\def\~evenfoot{\rm\hfil\~pagenum\hfil}} \let\~ps~newchapter=\~ps~plain \let\~ps~endchapter=\~ps~plain % **************************************** % * SUBSTYLES * % **************************************** % % SUBSTYLE heada CHANGES \pagestyle{headings} TO PRODUCE % 6 Chapter Title | Section Title 7 % IN TWO-SIDED PAGE LAYOUTS AND % Chapter Title 7 % IN SINGLE SIDE % \def\~ds~heada{\if\~twoside F\def\~ps~headings{\def\~oddhead{\sl\hfil\~rhead \hfil\rm\~pagenum}\def\~oddfoot{}\def\~chapmark####1{\def\~rhead{####1}}% \def\~secmark####1{}}\else\def\~ps~headings{\def\~oddfoot{}\def\~oddhead% {\sl\hfil\firstmark\hfil\rm\~pagenum}\def\~evenfoot{}% \def\~evenhead{\rm\~pagenum\hfil\sl\~lhead\hfil}\def% \~chapmark####1{\mark{}\def\~lhead{####1}}\def\~secmark####1{\mark{####1}}}\fi} % **************************************** % * ENVIRONMENTS * % **************************************** % % titlepage % \def\~begintitlepage{\newpage\thispagestyle{empty}} \def\~endtitlepage{\newpage} % DEFAULT VALUES FOR list ENVIRONMENT % \def\~d~leftmargin{15pt} \def\~d~labelwidth{11pt} \def\~d~labelsep{4pt} % PARAGRAPH-FORMATTING ENVIRONMENTS % --------------------------------- % VERSE % \CR ends line % Line continuations indented further. % Blank line makes new paragraph with \parskip space % \def\~beginverse{\def\CR{\item}\def\CRSP##1{\par\vskip ##1 \item}\~beginlist {}{\itemsep{0pt} \listparindent{-15pt}\leftmargin{30pt}\rightmargin{15pt}}\item} \let\~endverse=\~endlist % QUOTATION % Fills lines % Indents paragraph % \def\~beginquotation{\~beginlist{}{\listparindent{15pt}}\item} \let\~endquotation=\~endlist % QUOTE -- same as quotation except no paragraph indentation, \def\~beginquote{\~beginlist{}{}\item} \let\~endquote=\~endlist % LIST-MAKING ENVIRONMENTS % ------------------------ % % PARAMETERS FOR enumerate % \namedef{~co~enum1}{\~arabic{\backslash{~c~enum1}}.} \namedef{~co~enum2}{(\~alph{\backslash{~c~enum2}})} \namedef{~co~enum3}{\~roman{\backslash{~c~enum3}}.} \namedef{~co~enum4}{\~Alph{\backslash{~c~enum4}}.} \pnamedef{~cr~enum1}{#1}{\~arabic{#1}} \pnamedef{~cr~enum2}{#1#2}{\~arabic{#1}(\~alph{#2})} \pnamedef{~cr~enum3}{#1#2#3}{\~arabic{#1}(\~alph{#2})\~roman{#3}} \pnamedef{~cr~enum4}{#1#2#3#4}{\~arabic{#1}(\~alph{#2})\~roman{#3}-\~Alph{#4}} \namedef{~ca~enum1}{{\backslash{~c~enum1}}} \namedef{~ca~enum2}{{\backslash{~c~enum1}}{\backslash{~c~enum2}}} \namedef{~ca~enum3}{\backslash{~ca~enum2}{\backslash{~c~enum3}}} \namedef{~ca~enum4}{\backslash{~ca~enum3}{\backslash{~c~enum4}}} \namedef{~enum1margin}{26pt} \namedef{~enum2margin}{25pt} \namedef{~enum3margin}{25pt} \namedef{~enum4margin}{25pt} \~definecounter{enum1} \~definecounter{enum2} \~definecounter{enum3} \~definecounter{enum4} % PARAMETERS FOR itemize % \namedef{~item1}{$\bullet$} \namedef{~item2}{--} \namedef{~item3}{$\ast$} \namedef{~item4}{$\cdot$} \namedef{~item1margin}{26pt} \namedef{~item2margin}{25pt} \namedef{~item3margin}{25pt} \namedef{~item4margin}{25pt} % THEOREM ENVIRONMENTS % -------------------- % \def\~thmnumber#1{\~arabic{#1}} \def\~localthmnumber#1#2{\~cr~chapter{#1}.\~arabic{#2}} \def\~applocalthmnumber#1#2{\~cra~chapter{#1}.\~arabic{#2}} \def\~~beginthmenv#1#2{\~refstepcounter{#1}\par\noindent{\bf #2 \backslash{~co~#1}:}\hskip 3pt\it} \def\~~endthmenv{\rm\~parhack} \theoremdef{theorem}{Theorem} % BIBLIOGRAPHY % \def\~beginbibliography#1{\par\goodpagebreak\vskip 20pt \hbox to \the\hsize{\hss\~bibtitle\hss}\nobreak\vskip 10pt \~beginlist{\~bibitems}{\labelwidthof{#1}}} \let\~endbibliography=\~endlist \def\~bibtitle{REFERENCES} \def\~bibnumcite{[\arabic]} \def\~biblabelcite#1{[#1]} \def\~bibitems{\arabic.} \def\~biblabel#1{#1:} % THE index ENVIRONMENT % Produces double column format. % Each paragraph is a separate entry. % \def\~beginindex{\def\~columnseprule{.4pt}% \def\~columnsep{15pt}\~makedoublecolumn \~topnewpage{\vskip 30pt\hbox{\hss\tit INDEX\hss}\vskip 20pt} \pagestyle{myheadings}\head{Index}\thispagestyle{plain}\parindent0pt \everypar{\hangindent 20pt}\parskip0pt plus 1pt} \def\~endindex{\~makesinglecolumn\head{}} \def\indexspace{\vspace{10pt plus 5pt minus 3pt}} % array AND tabular ENVIRONMENT PARAMETERS % TEMPORARY DEFINITIONS \def\~ar~spacer{\hbox to 11pt{}} \def\~ar~rule{\hbox to 5.3pt{}\vrule width .4pt\hbox to 5.3pt{}} \def\~tb~spacer{\hbox to 11pt{}} \def\~tb~rule{\hbox to 5.3pt{}\vrule width .4pt\hbox to 5.3pt{}} \def\~tb~lrule{\vrule width .4pt\hbox to 5.3pt{}} \def\~tb~rrule{\hbox to 5.3pt{}\vrule width .4pt} \def\hline{\hrule height .4pt} % **************************************** % * MISCELLANEOUS * % **************************************** % % Spacing and rule width for \boxit % \def\~maxmsgs{24} \def\~boxitsep{.2em} \def\~boxitrule{.4pt} % Date % \def\today{\ifcase\the\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\the\day, \number\the\year} % **************************************** % * CHAPTERS AND SECTIONS * % **************************************** % % DEFINE COUNTERS \~definecounter{chapter} \~definecounter{section} \~definecounter{subsection} \~definecounter{subsubsection} \~addtoreset{section}{chapter} \~addtoreset{subsection}{section} \~addtoreset{subsubsection}{subsection} \def\~co~chapter{\~arabic{\~c~chapter}} \def\~co~section{\~co~chapter.\~arabic{\~c~section}} \def\~co~subsection{\~co~section .\~arabic{\~c~subsection}} \def\~co~subsubsection{\~co~subsection .\~arabic{\~c~subsubsection}} \def\~ca~chapter{{\~c~chapter}} \def\~ca~section{\~ca~chapter{\~c~section}} \def\~ca~subsection{\~ca~section{\~c~subsection}} \def\~ca~subsubsection{\~ca~subsection{\~c~subsubsection}} \def\~cr~chapter#1{\~arabic{#1}} \def\~cra~chapter#1{\~Alph{#1}} \def\~cr~section#1#2{\~cr~chapter{#1}.\~arabic{#2}} \let\~cx~section=\~cr~section %% USED FOR RUNNING HEADS \def\~cr~subsection#1#2#3{\~cr~chapter{#1}.\~arabic{#2}.\~arabic{#3}} \def\~cr~subsubsection#1#2#3#4{\~cr~chapter{#1}.\~arabic{#2}.\~arabic {#3}.\~arabic{#4}} \def\~cra~section#1#2{\~cra~chapter{#1}.\~arabic{#2}} \def\~cra~subsection#1#2#3{\~cra~chapter{#1}.\~arabic{#2}.\~arabic{#3}} \def\~cra~subsubsection#1#2#3#4{\~cra~chapter{#1}.\~arabic{#2}.\~arabic {#3}.\~arabic{#4}} % \chapter, \section, \subsection and \subsubsection % % NOTE USE OF \everypar AND \parskip TO GET PROPER SPACE BEFORE AND AFTER % \section EVEN WHEN FOLLOWED IMMEDIATELY BY \subsection OR PRECEDED BY % \chapter, AND SIMILARLY FOR \subsection and \subsubsection \def\~chapapp{Chapter} % reset to Appendix by \appendix \def\chapter#1{\clearpage % clear end of chapter \~refstepcounter{chapter} % step counter \warning{\~chapapp\space\~c~chapter.} % type message \thispagestyle{newchapter} % special page style \~chapmark{#1} \vspacer{50pt} % blank space at top of page \vbox % chapter heading {\noindent \Tit \~chapapp{} \~co~chapter.} \vspace{20pt} \vbox {\Tit \noindent #1} \~addtableentry{toc}{\string % add table of contents line \~chappage\~ca~chapter{#1}} \parskip40pt % space in front of first par. \def\~nobreak{T} \everypar{\parskip\~parskip\~everypar % first par will restore \parskip \def\~nobreak{F}\everypar{\~everypar}}} \def\section#1{\~refstepcounter{section} % step counter \par % end previous paragraph \vspace{25pt} % extra vertical space \if\~nobreak F\goodpagebreak\fi % good place for page break if \~secmark{#1} % not following \chapter \vbox % section heading {\~mainsize\bf\~hangfrom{\~co~section.\hskip 10pt}#1} \~addtableentry{toc}{\string % add table of contents line \~secpage\~ca~section{#1}} \nobreak % very bad place for page break \def\~nobreak{T} \parskip15pt % space in front of first par. \everypar{\parskip\~parskip\~everypar % first par will restore \parskip \def\~nobreak{F}\everypar{\~everypar}}} \def\subsection#1{\~refstepcounter{subsection} % step counter \par % end previous paragraph \vspace{15pt} % extra vertical space \if\~nobreak F\goodpagebreak\fi % good place for page break if \~subsecmark{#1} \vbox % subsection heading {\~mainsize\bf\~hangfrom{\~co~subsection.\hskip 10pt}#1} \~addtableentry{toc}{\string % add table of contents line \~subsecpage\~ca~subsection{#1}} \nobreak % very bad place for page break \def\~nobreak{T} \parskip10pt % space in front of first par. \everypar{\parskip\~parskip\~everypar % first par will restore \parskip \def\~nobreak{F}\everypar{\~everypar}}} \def\subsubsection#1{\~refstepcounter{subsubsection} % step counter \par % end previous paragraph \vspace{15pt} % extra vertical space \if\~nobreak F\goodpagebreak\fi % good place for page break if \~subsubsecmark{#1} \vbox % subsubsection heading {\~mainsize\bf\~hangfrom{\~co~subsubsection.\hskip 10pt}#1} \~addtableentry{toc}{\string % add table of contents line \~subsubsecpage\~ca~subsubsection{#1}} \nobreak % very bad place for page break \def\~nobreak{T} \parskip10pt % space in front of first par. \everypar{\parskip\~parskip\~everypar % first par will restore \parskip \def\~nobreak{F}\everypar{\~everypar}}} \def\~hangfrom#1{{\parindent 0pt \setbox\~tmpbox=\hbox{#1} \hangindent 1wd\~tmpbox\relax$ $\box\~tmpbox}} % INITIALIZATION \def\~nobreak{F} % TABLE OF CONTENTS \def\~t~toc{F} % must initialize \~t~toc in case \def\tableofcontents{ % there's no \tableofcontents \begin{center} {\tit CONTENTS} % write ``CONTENTS'' \end{center} \vspace{20pt} % vertical space \begingroup % input previous .TOC file \~input{\jobname.toc} % inside group so \def's local \endgroup \if\~tfilesw T\gdef\~t~toc{T} \newwrite\~tf~toc % open .TOC file (must come \openout\~tf~toc=\jobname.toc \fi} % after \~input % MACROS TO PRODUCE TABLE OF CONTENTS LINES % NOTE THE USE OF \~secsk TO PRODUCE AN EXTRA SPACE FOR A SECTION % ENTRY THAT COMES AFTER A SUBSECTION ENTRY. % FOR THE USER's \tabentry AND \tabmainentry COMMANDS % \def\~tabentry#1#2{\vskip 0pt plus .2pt\hbox to \columnwidth{#1\~lead\hbox to 1.25em{\hfil #2}}} \def\~tabmainentry#1#2{\goodpagebreak\vskip 1.0em plus 1pt\hbox to \columnwidth{\bf #1\hfill\hbox to 1.25em{\hfil #2}}} % COMMANDS WRITTEN BY \chapter, etc. ON TOC FILE % \def\~chappage#1#2#3{\goodpagebreak \vskip 1.0em plus 1pt\def\~secsk{T}\hbox to \columnwidth {\bf\hbox to 1.5em{\~cr~chapter{#1}.\hss}#2\hfill \hbox to 1.25em{\hfil #3}}\nobreak} \def\~secpage#1#2#3#4{\vskip 0pt plus .2pt\if \~secsk T\vskip .5em\def\~secsk{F}\fi \hbox to \columnwidth {\hbox to 1.5em{}\hbox to 2.3em{\~cr~chapter{#1}.#2.\hss}#3\~lead\hbox to 1.25em{\hfil #4}}} \def\~subsecpage#1#2#3#4#5{\vskip 0pt plus .2pt\def\~secsk{T}\hbox to \columnwidth {\hbox to 3.8em{}\hbox to 3.2em{\~cr~chapter{#1}.#2.#3.\hss}#4\~lead \hbox to 1.25em{\hfil #5}}} \def\~subsubsecpage#1#2#3#4#5#6{\vskip 0pt plus .2pt\hbox to \columnwidth {\hbox to 6em{}\hbox to 4.1em{\~cr~chapter{#1}.#2.#3.#4.\hss}#5\~lead \hbox to 1.25em{\hfil #6}}} \def\~lead{\leaders\hbox to .9em{\hfill.\hfill}\hfill} % **************************************** % * APPENDIX * % **************************************** % % The \appendix command must do the following: % -- reset the chapter counter to zero % -- set \~chapapp to Appendix (for messages) % -- redefine the chapter counter to produce appendix numbers % -- write an \~appdefs command on the .toc, .lof and .lot files % to redefine the chapter counter. % -- write a command on the .aux file to \def\~appsw{T} % -- reset the section counter to zero % -- redefine the \chapter command if appendix titles and headings are % to look different from chapter titles and headings. % -- redefine \~cx~section to \~cra~section for page headings \def\~appdefs{\def\~cr~chapter##1{\~Alph{##1}}} \def\appendix{\setcounter{chapter}{0}\setcounter{section}{0}\def\~chapapp% {Appendix}\def\~co~chapter{\~Alph{\~c~chapter}}\let\~cx~section=\~cra~section% \if\~afilesw T\immediate\write\~auxout% {\string\def\string\~appsw{T}}\fi \if \~t~toc T\write\~tf~toc{\string\~appdefs}\fi \if \~t~lof T\write\~tf~lof{\string\~appdefs}\fi \if \~t~lot T\write\~tf~lot{\string\~appdefs}\fi} % **************************************** % * FOOTNOTES * % **************************************** % \def\~footinsertskip{10pt plus2pt minus4pt} \def\~topinsertskip{20pt plus2pt minus4pt} \def\~topinsertskipdim{20pt} \def\~footruleheight{.4pt} \def\~footruleshift{4pt} \setdimen\~footinsert=\textheight \setskip\~footinsert=\~footinsertskip %TEMPORARY DEFINITION \splittopskip=9pt %broken footnotes will have this as the top baseline \~definecounter{footnote} \def\~co~footnote{\~arabic{\~c~footnote}} \def\~cr~footnote#1{\~arabic{#1}} \~addtoreset{footnote}{chapter} \def\~makefootnote#1#2{\eightpoint\par\noindent\hangindent 5pt\hbox to 5pt{\hss $^{#1}$}\strut #2\strut} % EQUATION -- must follow \chapter definition % \~definecounter{equation} \~addtoreset{equation}{chapter} \def\~co~equation{(\~co~chapter.\~arabic{\~c~equation})} \def\~ca~equation{{\~ca~chapter}{\~c~equation}} \def\~cr~equation#1#2{(\~cr~chapter{#1}.\~arabic{#2})} \def\~cra~equation#1#2{(\~cra~chapter{#1}.\~arabic{#2})} % **************************************** % * FIGURES AND TABLES * % **************************************** % \~definecounter{figure} \~addtoreset{figure}{chapter} \def\~co~figure{\~co~chapter.\~arabic{\~c~figure}} \def\~ca~figure{{\~c~chapter}{\~c~figure}} \def\~cr~figure#1#2{\~cr~chapter{#1}.\~arabic{#2}} \def\~cra~figure#1#2{\~cra~chapter{#1}.\~arabic{#2}} \def\~t~lof{F} % don'T produce .LOF file if no \listoffigures \def\~tr~lof#1#2#3#4{\ifnum#1>\~x~chap\relax % skip 10 pt between figures \vskip 10pt\fi\def% % for different chapters \~x~chap{#1}\hbox to \columnwidth {\hbox to 2.3em{#1.#2.\hss}#3\~lead\hbox to 1.25em{\hfil #4}}} \def\listoffigures{\begin{center} {\tit FIGURES} \end{center}\par\vskip 10pt\def\~x~chap{-1}\begingroup \~input{\jobname.lof}\endgroup\par \if\~tfilesw T\gdef\~t~lof{T}\newwrite\~tf~lof\openout\~tf~lof=\jobname.lof\fi} \~definecounter{table} \~addtoreset{table}{chapter} \def\~co~table{\~co~chapter.\~arabic{\~c~table}} \def\~ca~table{{\~c~chapter}{\~c~table}} \def\~cr~table#1#2{\~cr~chapter{#1}.\~arabic{#2}} \def\~cra~table#1#2{\~cra~chapter{#1}.\~arabic{#2}} \def\~t~lot{F} % don'T produce .LOT file if no \listoftables \let\~tr~lot=\~tr~lof \def\listoftables{\begin{center} {\tit TABLES} \end{center}\par\vskip 10pt\def\~x~chap{-1}\begingroup \~input{\jobname.lot}\endgroup\par \if\~tfilesw T\gdef\~t~lot{T}\newwrite\~tf~lot\openout\~tf~lot=\jobname.lot\fi} \def\~figsep{7pt} \def\~textfigsep{5pt} \def\~captionskip{6pt} \def\~caption#1#2{#1: #2} % **************************************** % * INITIALIZATION * % **************************************** % % Default initializations \~ps~plain \pagenumbering{arabic} \~makesinglecolumn