% PREPRN DOCUMENT STYLE -- version 0.6 for LaTeX version 0.9 \warning{Document Style 'preprn' -- version 0.6 for LaTeX version 0.9} \warning{} % CHANGES THAT SHOULD BE MADE TO PREPRN: % % - change \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 * % **************************************** % % THESE DEFINITIONS ARE ALL TEMPORARY UNTIL MORE FONTS ARE % LOADED. \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} % 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. (\head = \rhead) The \section, \subsection, etc. macros % call \~secmark, \~subsecmark, etc. to set these macros. % These macros take a single argument -- which is the argument % of the \section, etc. macro from which they're called. The % different substyles set the way headings are created by % defining the \~secmark, etc. macros, as well as the page % style ~ps~... macros. % % Below are the style definitions for the default preprn style. % \def\lhead#1{\def\~lhead{#1}} \def\rhead#1{\def\~rhead{#1}} \def\head#1{\def\~lhead{#1}\def\~rhead{#1}} \def\~secmark#1{} \def\~subsecmark#1{} \def\~subsubsecmark#1{} \def\~lhead{} \def\~rhead{} % NOTE USE OF \hbox{} IN CASE OF EMPTY HEADING FIELDS \def\~ps~myheadings{\def\~oddhead{\it\hbox{}\hfil\~rhead \hfil \rm\~pagenum}% \def\~oddfoot{}\def\~evenhead{\rm\~pagenum\hfil\it\~lhead\hfil}% \def\~evenfoot{}\def\~secmark##1{}} \def\~ps~headings{\def\~oddhead{\it\hbox{}\hfil\firstmark \hfil \rm\~pagenum} \def\~oddfoot{}\def\~evenhead{\rm\~pagenum\hfil\it\firstmark\hfil\hbox{}}% \def\~evenfoot{}% \def\~secmark##1{\tokens{\~cx~section}\mark{{\the\tokens\~ca~section\hskip 1em##1}}}}% note use of \tokens \def\~ps~empty{\def\~oddhead{}\def\~oddfoot{}% \def\~evenhead{}\def\~evenfoot{}} \def\~ps~plain{\def\~oddfoot{}\def\~oddhead{\rm\hfil\~pagenum \hfil}\def\~evenfoot{}\def\~evenhead{\rm\hfil \~pagenum\hfil}} % **************************************** % * 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 % -------------------- % \let\localtheoremdef=\theoremdef% all theorem environments global \def\~thmnumber#1{\~arabic{#1}} \def\~~beginthmenv#1#2{\~refstepcounter{#1}\vspace{3pt}\par\noindent{\bf #2 \backslash{~co~#1}:}\hskip 3pt\it} \def\~~endthmenv{\vspace{3pt}\rm\~parhack} \theoremdef{theorem}{Theorem} % BIBLIOGRAPHY % Numbers entries % \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:} % 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} % **************************************** % * SECTIONS * % **************************************** % % DEFINE COUNTERS \~definecounter{section} \~definecounter{subsection} \~definecounter{subsubsection} \~addtoreset{subsection}{section} \~addtoreset{subsubsection}{subsection} \def\~co~section{II.\~arabic{\~c~section}} \def\~co~subsection{\~co~section .\~arabic{\~c~subsection}} \def\~co~subsubsection{\~co~subsection .\~arabic{\~c~subsubsection}} \def\~ca~section{{\~c~section}} \def\~ca~subsection{\~ca~section{\~c~subsection}} \def\~ca~subsubsection{\~ca~subsection{\~c~subsubsection}} \def\~cra~section#1{\~Alph{#1}} \def\~cr~section#1{II.\~arabic{#1}} \let\~cx~section=\~cr~section %% Initializing for running heads \def\~cr~subsection#1#2{II.\~arabic{#1}.\~arabic{#2}} \def\~cr~subsubsection#1#2#3{II.\~arabic{#1}.\~arabic{#2}.\~arabic{#3}} %\def\~cra~subsection#1#2{\~cra~section{#1}.\~arabic{#2}} %\def\~cra~subsubsection#1#2#3{\~cra~section{#1}.\~arabic{#2}.\~arabic % {#3}} % \section, \subsection and \subsubsection % \def\~secapp{Section} % reset to Appendix by \appendix \def\section#1{\~refstepcounter{section} % step counter \par % end previous paragraph \vspace{25pt} % extra vertical space \goodpagebreak % good place for page break \~secmark{#1} \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 % first par will restore \parskip \def\~nobreak{F}\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 % first par will restore \parskip \def\~nobreak{F}\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 % first par will restore \parskip \def\~nobreak{F}\everypar{}}} % initialization \def\~nobreak{F} % TABLE OF CONTENTS \def\~t~toc{F} % must initialize \~t~toc \def\tableofcontents{ \begin{center} {\tit CONTENTS} % write ``CONTENTS'' \end{center} \vspace{20pt} % vertical space \begingroup \~input{\jobname.toc} % input previous .TOC file \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 DEFINE TABLE OF CONTENTS LINES % NOTE THE USE OF \~secsk TO PRODUCE AN EXTRA SPACE FOR A SUBSECTION % ENTRY THAT COMES AFTER A SUBSUBSECTION ENTRY. \def\~tabentry#1#2{\vskip 0pt plus .2pt\hbox to \columnwidth{#1\~lead\hbox to 1.25em{\hfil #2}}} \let\~tabmainentry=\~tabentry \def\~secpage#1#2#3{\goodpagebreak \vskip 1.0em plus 1pt\def\~secsk{T}\hbox to \columnwidth {\bf\hbox to 1.5em{\~cr~section{#1}.\hss}#2\hfill \hbox to 1.25em{\hfil #3}}\nobreak} \def\~subsecpage#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~section{#1}.#2.\hss}#3\~lead\hbox to 1.25em{\hfil #4}}} \def\~subsubsecpage#1#2#3#4#5{\vskip 0pt plus .2pt\def\~secsk{T}\hbox to \columnwidth {\hbox to 3.8em{}\hbox to 3.2em{\~cr~section{#1}.#2.#3.\hss}#4\~lead \hbox to 1.25em{\hfil #5}}} \def\~lead{\leaders\hbox to .9em{\hfill.\hfill}\hfill} \def\~hangfrom#1{{\parindent 0pt \setbox\~tmpbox=\hbox{#1} \hangindent 1wd\~tmpbox\relax$ $\box\~tmpbox}} % **************************************** % * APPENDIX * % **************************************** % % The \appendix command must do the following: % -- reset the section counter to zero % -- set \~secapp to Appendix (for messages) % -- redefine the section counter to produce appendix numbers % -- set \~cx~section to \~cra~section [for running heads] % -- write commands on the .toc, .lof and .lot files % to redefine the section counter. % -- write a command on the .aux file to \def\~appsw{T} % -- reset the section counter to zero % -- redefine the \section command if appendix titles and headings are % to look different from section titles and headings. % \def\~appdefs{\def\~cr~section##1{\~Alph{##1}}} \def\appendix{\setcounter{section}{0}\setcounter{subsection}{0}\def\~secapp% {Appendix}\def\~co~section{\~Alph{\~c~section}}\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}} \def\~makefootnote#1#2{\eightpoint\par\noindent\hangindent 5pt\hbox to 5pt{\hss $^{#1}$}\strut #2\strut} % EQUATION % %\~addtoreset{equation}{chapter} \def\~co~equation{(\~arabic{\~c~equation})} \def\~ca~equation{{\~c~equation}} \def\~cr~equation#1{(\~arabic{#1})} %\def\~cra~equation#1#2{(\~cra~chapter{#1}.\~arabic{#2})} % **************************************** % * FIGURES AND TABLES * % **************************************** % \~definecounter{figure} \def\~co~figure{\~arabic{\~c~figure}} \def\~ca~figure{{\~c~figure}} \def\~cr~figure#1{\~arabic{#1}} \def\~t~lof{F} % don'T produce .LOF file if no \listoffigures \def\~tr~lof#1#2#3{\ifnum#1>\~x~sec\relax % skip 10 pt between figures \vskip 10pt\fi\def% % for different sections \~x~sec{#1}\hbox to \columnwidth {\hbox to 1.5em{\hss#1.}\hskip .8em #2\~lead\hbox to 1.25em{\hfil #3}}} \def\listoffigures{\begin{center} {\tit FIGURES} \end{center}\par\vskip 10pt\def\~x~sec{-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} \def\~co~table{\~arabic{\~c~table}} \def\~ca~table{{\~c~table}} \def\~cr~table#1{\~arabic{#1}} \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~sec{-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 \let\~mainsize=\twelvepoint \parindent 0pt % 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} % type size commands \def\~beginnormal{\twelvepoint\def\~parskip{10pt plus 1.3pt}\parskip\~parskip \baselineskip 15pt\ignorespaces} \def\tit{\twelvepoint\def\~parskip{5pt plus 2pt}\parskip\~parskip} \def\~begintitle{\tit\ignorespaces} \def\Tit{\eighteenpoint} \def\~beginTitle{\Tit\ignorespaces} \def\~beginsmall{\tenpoint\def\~parskip{4pt plus 1pt}\parskip\~parskip \ignorespaces} \def\~beginfootnotesize{\ninepoint \def\~parskip{3.5pt plus 1pt}\parskip\~parskip\ignorespaces} \def\~beginscriptsize{\eightpoint \def\~parskip{3.1pt plus 1pt}\parskip\~parskip\ignorespaces} \~beginnormal