@@ -1,466 +1,466 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% The REDUCE Style option File --- LaTeX version. % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% The document should start with: -% \documentstyle[11pt,reduce,makeidx]{...} -% -% This style adds the following commands: -% \COMPATNOTE{...} For compatibility notes. -% \f{...} Sets function name is \tt. -% \k{...} Sets BNF keyword bold. -% \REDUCE REDUCE when needed as a word. -% \RLISP RLISP when needed as a word. -% \s{...} Sets BNF sentential form \em in <...> -% \meta An alternative for BNF italics in <...> -% \ttindex{...} Puts index entry in \tt font. -% -% -% -% Basic religion about REDUCE documentation. No paragraph indentation, -% bigger skip between lines, ragged bottom, and not as much vertical -% space. -%% RmS: setup of size dependent parameters. 11pt is assumed, so let's force it. - -\typeout{Document style option `reduce' -- released 5 Nov 1991.} - -% **************************************** -% * FONTS * -% **************************************** -% - -\lineskip 1pt % \lineskip is 1pt for all font sizes. -\normallineskip 1pt -\def\baselinestretch{1} - -% Each size-changing command \SIZE executes the command -% \@setsize\SIZE{BASELINESKIP}\FONTSIZE\@FONTSIZE -% where: -% BASELINESKIP = Normal value of \baselineskip for that size. (Actual -% value will be \baselinestretch * BASELINESKIP.) -% -% \FONTSIZE = Name of font-size command. The currently available -% (preloaded) font sizes are: \vpt (5pt), \vipt (6pt), -% \viipt (etc.), \viiipt, \ixpt, \xpt, \xipt, \xiipt, -% \xivpt, \xviipt, \xxpt, \xxvpt. -% \@FONTSIZE = The same as the font-size command except with an -% '@' in front---e.g., if \FONTSIZE = \xivpt then -% \@FONTSIZE = \@xivpt. -% -% For reasons of efficiency that needn't concern the designer, -% the document style defines \@normalsize instead of \normalsize. This -% is done only for \normalsize, not for any other size-changing -% commands. - -\def\@normalsize{\@setsize\normalsize{13.6pt}\xipt\@xipt -\abovedisplayskip .5\baselineskip -\belowdisplayskip \abovedisplayskip -\abovedisplayshortskip \z@ plus3\p@ -\belowdisplayshortskip 6.5\p@ plus3.5\p@ minus3\p@ -\let\@listi\@listI} % Setting of \@listi added 9 Jun 87 - -\def\small{\@setsize\small{12pt}\xpt\@xpt -\abovedisplayskip .5\baselineskip -\belowdisplayskip \abovedisplayskip -\abovedisplayshortskip \z@ plus3\p@ -\belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ -\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 -\topsep \z@\parsep 3\p@ plus2\p@ minus\p@ -\itemsep .5\baselineskip}} - -\def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt -\abovedisplayskip .5\baselineskip -\belowdisplayskip \abovedisplayskip -\abovedisplayshortskip \z@ plus\p@ -\belowdisplayshortskip 4\p@ plus2\p@ minus2\p@ -\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 -\topsep \z@ \parsep 2\p@ plus\p@ minus\p@ -\itemsep .5\baselineskip}} - -\def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt} -\def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} -\def\large{\@setsize\large{14pt}\xiipt\@xiipt} -\def\Large{\@setsize\Large{18pt}\xivpt\@xivpt} -\def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt} -\def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} -\def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} - -\normalsize % Choose the normalsize font. - - -% **************************************** -% * PAGE LAYOUT * -% **************************************** -% -% All margin dimensions measured from a point one inch from top and side -% of page. - -% SIDE MARGINS: -\if@twoside % Values for two-sided printing: - \oddsidemargin 36pt % Left margin on odd-numbered pages. - \evensidemargin 74pt % Left margin on even-numbered pages. - \marginparwidth 100pt % Width of marginal notes. -\else % Values for one-sided printing: - \oddsidemargin 54pt % Note that \oddsidemargin = \evensidemargin - \evensidemargin 54pt - \marginparwidth 83pt -\fi -\marginparsep 10pt % Horizontal space between outer margin and - % marginal note - - -% VERTICAL SPACING: - % Top of page: -\topmargin 27pt % Nominal distance from top of page to top - % of box containing running head. -\headheight 12pt % Height of box containing running head. -\headsep 25pt % Space between running head and text. -% \topskip = 10pt % '\baselineskip' for first line of page. - % Bottom of page: -\footskip 30pt % Distance from baseline of box containing - % foot to baseline of last line of text. - -% DIMENSION OF TEXT: -% 24 Jun 86: changed to explicitly compute \textheight to avoid -% roundoff. The value of the multiplier was calculated as the floor of -% the old \textheight minus \topskip, divided by \baselineskip for -% \normalsize. The old value of \textheight was 530.4pt. -% \textheight is the height of text (including footnotes and figures, -% excluding running head and foot). - -\textheight = 38\baselineskip -\advance\textheight by \topskip -\textwidth 360pt % Width of text line. - % For two-column mode: -\columnsep 10pt % Space between columns -\columnseprule 0pt % Width of rule between columns. - -% A \raggedbottom command causes 'ragged bottom' pages: pages set to -% natural height instead of being stretched to exactly \textheight. - -% FOOTNOTES: - -\footnotesep 7.7pt % Height of strut placed at the beginning of every - % footnote = height of normal \footnotesize strut, - % so no extra space between footnotes. - -\skip\footins 10pt plus 4pt minus 2pt % Space between last line of text - % and top of first footnote. - -% FLOATS: (a float is something like a figure or table) -% -% FOR FLOATS ON A TEXT PAGE: -% -% ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE: -\floatsep 12pt plus 2pt minus 2pt % Space between adjacent floats - % moved to top or bottom of - % text page. -\textfloatsep 20pt plus 2pt minus 4pt % Space between main text and - % floats at top or bottom of - % page. -\intextsep 12pt plus 2pt minus 2pt % Space between in-text figures - % and text. -\@maxsep 20pt % The maximum of \floatsep, - % \textfloatsep and \intextsep - % (minus the stretch and - % shrink). -% TWO-COLUMN FLOATS IN TWO-COLUMN MODE: -\dblfloatsep 12pt plus 2pt minus 2pt % Same as \floatsep for - % double-column figures in - % two-column mode. -\dbltextfloatsep 20pt plus 2pt minus 4pt % \textfloatsep for - % double-column floats. -\@dblmaxsep 20pt % The maximum of \dblfloatsep - % and \dbltexfloatsep. - -% FOR FLOATS ON A SEPARATE FLOAT PAGE OR COLUMN: -% ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE: -\@fptop 0pt plus 1fil % Stretch at top of float page/column. (Must - % be 0pt plus ...) -\@fpsep 8pt plus 2fil % Space between floats on float page/column. -\@fpbot 0pt plus 1fil % Stretch at bottom of float page/column. (Must - % be 0pt plus ... ) - -% DOUBLE-COLUMN FLOATS IN TWO-COLUMN MODE. -\@dblfptop 0pt plus 1fil % Stretch at top of float page. (Must be 0pt - % plus ...) -\@dblfpsep 8pt plus 2fil % Space between floats on float page. -\@dblfpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be - % 0pt plus ... ) -% MARGINAL NOTES: -% -\marginparpush 5pt % Minimum vertical separation between two - % marginal notes. - - -% **************************************** -% * PARAGRAPHING * -% **************************************** -% -\parskip 6pt plus 1pt %% RmS % Extra vertical space between - % paragraphs. -\parindent 0pt %% RmS % Width of paragraph indentation. -\topsep 0pt %% RmS % Extra vertical space, in addition - % to \parskip, added above and below - % list and paragraphing environments. -\partopsep 0pt %% RmS % Extra vertical space, in addition - % to \parskip and \topsep, added when - % user leaves blank line before - % environment. -\itemsep \topsep %% RmS % Extra vertical space, in addition - % to \parskip, added between list - % items. -% See \@listI for values of \topsep and \itemsep - -% The following page-breaking penalties are defined - -\@lowpenalty 51 % Produced by \nopagebreak[1] or \nolinebreak[1] -\@medpenalty 151 % Produced by \nopagebreak[2] or \nolinebreak[2] -\@highpenalty 301 % Produced by \nopagebreak[3] or \nolinebreak[3] - -\@beginparpenalty -\@lowpenalty % Before a list or paragraph - % environment. -\@endparpenalty -\@lowpenalty % After a list or paragraph - % environment. -\@itempenalty -\@lowpenalty % Between list items. - -% \clubpenalty % 'Club line' at bottom of page. -% \widowpenalty % 'Widow line' at top of page. -% \displaywidowpenalty % Math display widow line. -% \predisplaypenalty % Breaking before a math display. -% \postdisplaypenalty % Breaking after a math display. -% \interlinepenalty % Breaking at a line within a paragraph. -% \brokenpenalty % Breaking after a hyphenated line. - - -% **************************************** -% * SECTIONS * -% **************************************** -% - -% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} -% optional * [ALTHEADING]{HEADING} -% Generic command to start a section. -% NAME : e.g., 'subsection' -% LEVEL : a number, denoting depth of section -- i.e., -% section=1, subsection = 2, etc. A section number will -% be printed if and only if LEVEL < or = the value of -% the secnumdepth counter. -% INDENT : Indentation of heading from left margin -% BEFORESKIP : Absolute value = skip to leave above the heading. -% If negative, then paragraph indent of text following -% heading is suppressed. -% AFTERSKIP : if positive, then skip to leave below heading, -% else - skip to leave to right of run-in heading. -% STYLE : commands to set style -% If '*' missing, then increments the counter. If it is present, then -% there should be no [ALTHEADING] argument. A sectioning command -% is normally defined to \@startsection + its first six arguments. - -\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus-1ex minus - -.2ex}{2.3ex plus.2ex}{\reset@font\Large\bf}} -\def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus-1ex - minus-.2ex}{1.5ex plus.2ex}{\reset@font\large\bf}} -\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-3.25ex plus - -1ex minus-.2ex}{1.5ex plus.2ex}{\reset@font\normalsize\bf}} -\def\paragraph{\@startsection - {paragraph}{4}{\z@}{3.25ex plus1ex minus.2ex}{-1em}{\reset@font - \normalsize\bf}} -\def\subparagraph{\@startsection - {subparagraph}{4}{\parindent}{3.25ex plus1ex minus - .2ex}{-1em}{\reset@font\normalsize\bf}} - - -% Default initializations of \...mark commands. (See below for their -% use in defining page styles. -% - -% \def\sectionmark#1{} % Preloaded definitions -% \def\subsectionmark#1{} -% \def\subsubsectionmark#1{} -% \def\paragraphmark#1{} -% \def\subparagraphmark#1{} - -% The value of the counter secnumdepth gives the depth of the -% highest-level sectioning command that is to produce section numbers. -% - -\setcounter{secnumdepth}{3} - -% APPENDIX -% -% The \appendix command must do the following: -% -- reset the section and subsection counters to zero -% -- redefine the section counter to produce appendix numbers -% -- redefine the \section command if appendix titles and headings -% are to look different from section titles and headings. - -\def\appendix{\par - \setcounter{section}{0} - \setcounter{subsection}{0} - \def\thesection{\Alph{section}}} - - -% **************************************** -% * LISTS * -% **************************************** -% - -% The following commands are used to set the default values for the list -% environment's parameters. See the LaTeX manual for an explanation of -% the meanings of the parameters. Defaults for the list environment are -% set as follows. First, \rightmargin, \listparindent and \itemindent -% are set to 0pt. Then, for a Kth level list, the command \@listK is -% called, where 'K' denotes 'i', 'ii', ... , 'vi'. (I.e., \@listiii is -% called for a third-level list.) By convention, \@listK should set -% \leftmargin to \leftmarginK. -% - -\leftmargini 2.5em -\leftmarginii 2.2em % > \labelsep + width of '(m)' -\leftmarginiii 1.87em % > \labelsep + width of 'vii.' -\leftmarginiv 1.7em % > \labelsep + width of 'M.' -\leftmarginv 1em -\leftmarginvi 1em - -\leftmargin\leftmargini -\labelsep .5em -\labelwidth\leftmargini\advance\labelwidth-\labelsep -%\parsep 4.5pt plus 2pt minus 1pt %(Removed 9 Jun 87) - -% \@listI defines top level and \@listi values of -% \leftmargin, \topsep, \parsep, and \itemsep -% (Added 9 Jun 87) -\def\@listI{\leftmargin\leftmargini \parsep 4.5\p@ plus2\p@ minus\p@ -\topsep \z@ \itemsep \topsep} - -\let\@listi\@listI -\@listi - -\def\@listii{\leftmargin\leftmarginii - \labelwidth\leftmarginii\advance\labelwidth-\labelsep - \topsep \z@ \itemsep \topsep - \parsep 2\p@ plus\p@ minus\p@} - -\def\@listiii{\leftmargin\leftmarginiii - \labelwidth\leftmarginiii\advance\labelwidth-\labelsep - \topsep \z@ \itemsep \topsep - \parsep \z@ \partopsep\z@} - -\def\@listiv{\leftmargin\leftmarginiv - \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} - - - - - -%% RmS: which at the same time makes the vertical space in lists (verbatim...) -%% too large if not other precautions are taken. -\setlength{\parindent}{0pt} -\setlength{\parskip}{6pt} -\raggedbottom - - -% Various boxes. -\newlength{\reduceboxwidth} -\setlength{\reduceboxwidth}{4in} - -\newlength{\redboxwidth} -\setlength{\redboxwidth}{3.5in} - -\newlength{\rboxwidth} -\setlength{\rboxwidth}{2.6in} - -% These are here in case the name changes or we someday want a special -% font. -\newcommand{\REDUCE}{REDUCE} -\newcommand{\RLISP}{RLISP} - -% This is useful for putting function names in \tt format in the index. -\newcommand{\ttindex}[1]{\index{#1@{\tt #1}}} - -% Use this when you are speaking about problems across systems. -\newcommand{\COMPATNOTE}{{\em Compatibility Note:\ }} - -\pagestyle{headings} - -%% For BNF notation. - -% \s{...} is a sentential form in descriptions. Enclosed \em text in <...> -\newcommand{\s}[1] {$<${\em #1}$>$} - -% \meta{...} is an alternative sentential form in descriptions using \it. -\newcommand{\meta}[1]{\mbox{$\langle$\it#1\/$\rangle$}} - -% \k{...} is a keyword. Just do in bold for the moment. -\newcommand{\k}[1] {{\bf #1}} - -% \f is a function name. Just do this as tt. -\newcommand{\f}[1] {{\tt #1}} - -% An example macro for numbering and indenting examples. -\newcounter{examplectr} -\newcommand{\example}{\refstepcounter{examplectr} -\noindent{\bf Example \theexamplectr}} - -% The following are currently only used in the GENTRAN document. However, -% there's no objection to using them elsewhere. - -\begingroup - \catcode `|=0 - \catcode `[= 1 - \catcode`]=2 - \catcode `\{=12 - \catcode `\}=12 - \catcode`\\=12 - |gdef|@xframedverbatim#1\end{framedverbatim}[#1|end[framedverbatim]] - |gdef|@sxframedverbatim#1\end{framedverbatim*}[#1|end[framedverbatim*]] -|endgroup - -\newdimen\@mcdheight - -\def\@sframedverbatim{\obeyspaces\@framedverbatim} - -\def\@mcdrule{\@mcdheight=\baselineskip\advance\@mcdheight by-2pt -\setbox0=\hbox{\vrule height\@mcdheight depth 2pt width 1pt}% -\ht0=\@mcdheight\dp0=0pt\wd0=1pt\box0} - -\def\@mcdendrule{\@mcdheight=\baselineskip% -\setbox0=\hbox{\vrule height\@mcdheight depth 2pt width 1pt}% -\ht0=\@mcdheight\dp0=0pt\wd0=1pt\box0} - -\def\@framedverbatim{\trivlist \item[] -\parskip \z@ -\hrule \@height \p@ \@depth \z@ \@width\textwidth -\everypar{\global \@minipagefalse \global \@newlistfalse \if@inlabel -\global \@inlabelfalse \hskip -\parindent \box \@labels \penalty \z@ \fi -\hbox to6\p@{\rlap{\@mcdrule}\hskip\textwidth\llap{\@mcdrule}\hss}}% -\if@minipage\else\vskip\parskip\fi -\leftskip\@totalleftmargin\rightskip\z@ -\parindent\z@\parfillskip\@flushglue\parskip\z@ -\@tempswafalse \def\par{\if@tempswa\hbox{}\fi\@tempswatrue\@@par -\penalty\interlinepenalty}% % fix \samepage bug -\obeylines \tt \catcode``=13 \@noligs \let\do\@makeother \dospecials} - -\def\framedverbatim{\@framedverbatim \frenchspacing\@vobeyspaces - \@xframedverbatim} - -\def\endframedverbatim{\nointerlineskip -{\everypar{}\baselineskip 4\p@\vbox to4\p@{\par\noindent\hbox - to6pt{\rlap{\@mcdendrule}\hskip\textwidth\llap{\@mcdendrule}\hss}}% -\vskip\p@\hrule \@height \p@ \@depth \z@ \@width\textwidth}\endtrivlist} - -\@namedef{framedverbatim*}{\@framedverbatim\@sxframedverbatim} - -\expandafter\let\csname endframedverbatim*\endcsname =\endtrivlist - -% Will print out a heading in bold, and then indent the following text. -\def\indented{\list{}{ - \itemindent\listparindent - \rightmargin\leftmargin}\item[]} -\let\endindented=\endlist -\newenvironment{describe}[1]{\par{\bf #1}\begin{indented}}{\end{indented}} - -\@ifundefined{reset@font}{\let\reset@font\@empty}{} - -\endinput +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% The REDUCE Style option File --- LaTeX version. % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% The document should start with: +% \documentstyle[11pt,reduce,makeidx]{...} +% +% This style adds the following commands: +% \COMPATNOTE{...} For compatibility notes. +% \f{...} Sets function name is \tt. +% \k{...} Sets BNF keyword bold. +% \REDUCE REDUCE when needed as a word. +% \RLISP RLISP when needed as a word. +% \s{...} Sets BNF sentential form \em in <...> +% \meta An alternative for BNF italics in <...> +% \ttindex{...} Puts index entry in \tt font. +% +% +% +% Basic religion about REDUCE documentation. No paragraph indentation, +% bigger skip between lines, ragged bottom, and not as much vertical +% space. +%% RmS: setup of size dependent parameters. 11pt is assumed, so let's force it. + +\typeout{Document style option `reduce' -- released 5 Nov 1991.} + +% **************************************** +% * FONTS * +% **************************************** +% + +\lineskip 1pt % \lineskip is 1pt for all font sizes. +\normallineskip 1pt +\def\baselinestretch{1} + +% Each size-changing command \SIZE executes the command +% \@setsize\SIZE{BASELINESKIP}\FONTSIZE\@FONTSIZE +% where: +% BASELINESKIP = Normal value of \baselineskip for that size. (Actual +% value will be \baselinestretch * BASELINESKIP.) +% +% \FONTSIZE = Name of font-size command. The currently available +% (preloaded) font sizes are: \vpt (5pt), \vipt (6pt), +% \viipt (etc.), \viiipt, \ixpt, \xpt, \xipt, \xiipt, +% \xivpt, \xviipt, \xxpt, \xxvpt. +% \@FONTSIZE = The same as the font-size command except with an +% '@' in front---e.g., if \FONTSIZE = \xivpt then +% \@FONTSIZE = \@xivpt. +% +% For reasons of efficiency that needn't concern the designer, +% the document style defines \@normalsize instead of \normalsize. This +% is done only for \normalsize, not for any other size-changing +% commands. + +\def\@normalsize{\@setsize\normalsize{13.6pt}\xipt\@xipt +\abovedisplayskip .5\baselineskip +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3\p@ +\belowdisplayshortskip 6.5\p@ plus3.5\p@ minus3\p@ +\let\@listi\@listI} % Setting of \@listi added 9 Jun 87 + +\def\small{\@setsize\small{12pt}\xpt\@xpt +\abovedisplayskip .5\baselineskip +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3\p@ +\belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ +\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 +\topsep \z@\parsep 3\p@ plus2\p@ minus\p@ +\itemsep .5\baselineskip}} + +\def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt +\abovedisplayskip .5\baselineskip +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus\p@ +\belowdisplayshortskip 4\p@ plus2\p@ minus2\p@ +\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 +\topsep \z@ \parsep 2\p@ plus\p@ minus\p@ +\itemsep .5\baselineskip}} + +\def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt} +\def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} +\def\large{\@setsize\large{14pt}\xiipt\@xiipt} +\def\Large{\@setsize\Large{18pt}\xivpt\@xivpt} +\def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt} +\def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} +\def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} + +\normalsize % Choose the normalsize font. + + +% **************************************** +% * PAGE LAYOUT * +% **************************************** +% +% All margin dimensions measured from a point one inch from top and side +% of page. + +% SIDE MARGINS: +\if@twoside % Values for two-sided printing: + \oddsidemargin 36pt % Left margin on odd-numbered pages. + \evensidemargin 74pt % Left margin on even-numbered pages. + \marginparwidth 100pt % Width of marginal notes. +\else % Values for one-sided printing: + \oddsidemargin 54pt % Note that \oddsidemargin = \evensidemargin + \evensidemargin 54pt + \marginparwidth 83pt +\fi +\marginparsep 10pt % Horizontal space between outer margin and + % marginal note + + +% VERTICAL SPACING: + % Top of page: +\topmargin 27pt % Nominal distance from top of page to top + % of box containing running head. +\headheight 12pt % Height of box containing running head. +\headsep 25pt % Space between running head and text. +% \topskip = 10pt % '\baselineskip' for first line of page. + % Bottom of page: +\footskip 30pt % Distance from baseline of box containing + % foot to baseline of last line of text. + +% DIMENSION OF TEXT: +% 24 Jun 86: changed to explicitly compute \textheight to avoid +% roundoff. The value of the multiplier was calculated as the floor of +% the old \textheight minus \topskip, divided by \baselineskip for +% \normalsize. The old value of \textheight was 530.4pt. +% \textheight is the height of text (including footnotes and figures, +% excluding running head and foot). + +\textheight = 38\baselineskip +\advance\textheight by \topskip +\textwidth 360pt % Width of text line. + % For two-column mode: +\columnsep 10pt % Space between columns +\columnseprule 0pt % Width of rule between columns. + +% A \raggedbottom command causes 'ragged bottom' pages: pages set to +% natural height instead of being stretched to exactly \textheight. + +% FOOTNOTES: + +\footnotesep 7.7pt % Height of strut placed at the beginning of every + % footnote = height of normal \footnotesize strut, + % so no extra space between footnotes. + +\skip\footins 10pt plus 4pt minus 2pt % Space between last line of text + % and top of first footnote. + +% FLOATS: (a float is something like a figure or table) +% +% FOR FLOATS ON A TEXT PAGE: +% +% ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE: +\floatsep 12pt plus 2pt minus 2pt % Space between adjacent floats + % moved to top or bottom of + % text page. +\textfloatsep 20pt plus 2pt minus 4pt % Space between main text and + % floats at top or bottom of + % page. +\intextsep 12pt plus 2pt minus 2pt % Space between in-text figures + % and text. +\@maxsep 20pt % The maximum of \floatsep, + % \textfloatsep and \intextsep + % (minus the stretch and + % shrink). +% TWO-COLUMN FLOATS IN TWO-COLUMN MODE: +\dblfloatsep 12pt plus 2pt minus 2pt % Same as \floatsep for + % double-column figures in + % two-column mode. +\dbltextfloatsep 20pt plus 2pt minus 4pt % \textfloatsep for + % double-column floats. +\@dblmaxsep 20pt % The maximum of \dblfloatsep + % and \dbltexfloatsep. + +% FOR FLOATS ON A SEPARATE FLOAT PAGE OR COLUMN: +% ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE: +\@fptop 0pt plus 1fil % Stretch at top of float page/column. (Must + % be 0pt plus ...) +\@fpsep 8pt plus 2fil % Space between floats on float page/column. +\@fpbot 0pt plus 1fil % Stretch at bottom of float page/column. (Must + % be 0pt plus ... ) + +% DOUBLE-COLUMN FLOATS IN TWO-COLUMN MODE. +\@dblfptop 0pt plus 1fil % Stretch at top of float page. (Must be 0pt + % plus ...) +\@dblfpsep 8pt plus 2fil % Space between floats on float page. +\@dblfpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be + % 0pt plus ... ) +% MARGINAL NOTES: +% +\marginparpush 5pt % Minimum vertical separation between two + % marginal notes. + + +% **************************************** +% * PARAGRAPHING * +% **************************************** +% +\parskip 6pt plus 1pt %% RmS % Extra vertical space between + % paragraphs. +\parindent 0pt %% RmS % Width of paragraph indentation. +\topsep 0pt %% RmS % Extra vertical space, in addition + % to \parskip, added above and below + % list and paragraphing environments. +\partopsep 0pt %% RmS % Extra vertical space, in addition + % to \parskip and \topsep, added when + % user leaves blank line before + % environment. +\itemsep \topsep %% RmS % Extra vertical space, in addition + % to \parskip, added between list + % items. +% See \@listI for values of \topsep and \itemsep + +% The following page-breaking penalties are defined + +\@lowpenalty 51 % Produced by \nopagebreak[1] or \nolinebreak[1] +\@medpenalty 151 % Produced by \nopagebreak[2] or \nolinebreak[2] +\@highpenalty 301 % Produced by \nopagebreak[3] or \nolinebreak[3] + +\@beginparpenalty -\@lowpenalty % Before a list or paragraph + % environment. +\@endparpenalty -\@lowpenalty % After a list or paragraph + % environment. +\@itempenalty -\@lowpenalty % Between list items. + +% \clubpenalty % 'Club line' at bottom of page. +% \widowpenalty % 'Widow line' at top of page. +% \displaywidowpenalty % Math display widow line. +% \predisplaypenalty % Breaking before a math display. +% \postdisplaypenalty % Breaking after a math display. +% \interlinepenalty % Breaking at a line within a paragraph. +% \brokenpenalty % Breaking after a hyphenated line. + + +% **************************************** +% * SECTIONS * +% **************************************** +% + +% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} +% optional * [ALTHEADING]{HEADING} +% Generic command to start a section. +% NAME : e.g., 'subsection' +% LEVEL : a number, denoting depth of section -- i.e., +% section=1, subsection = 2, etc. A section number will +% be printed if and only if LEVEL < or = the value of +% the secnumdepth counter. +% INDENT : Indentation of heading from left margin +% BEFORESKIP : Absolute value = skip to leave above the heading. +% If negative, then paragraph indent of text following +% heading is suppressed. +% AFTERSKIP : if positive, then skip to leave below heading, +% else - skip to leave to right of run-in heading. +% STYLE : commands to set style +% If '*' missing, then increments the counter. If it is present, then +% there should be no [ALTHEADING] argument. A sectioning command +% is normally defined to \@startsection + its first six arguments. + +\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus-1ex minus + -.2ex}{2.3ex plus.2ex}{\reset@font\Large\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus-1ex + minus-.2ex}{1.5ex plus.2ex}{\reset@font\large\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-3.25ex plus + -1ex minus-.2ex}{1.5ex plus.2ex}{\reset@font\normalsize\bf}} +\def\paragraph{\@startsection + {paragraph}{4}{\z@}{3.25ex plus1ex minus.2ex}{-1em}{\reset@font + \normalsize\bf}} +\def\subparagraph{\@startsection + {subparagraph}{4}{\parindent}{3.25ex plus1ex minus + .2ex}{-1em}{\reset@font\normalsize\bf}} + + +% Default initializations of \...mark commands. (See below for their +% use in defining page styles. +% + +% \def\sectionmark#1{} % Preloaded definitions +% \def\subsectionmark#1{} +% \def\subsubsectionmark#1{} +% \def\paragraphmark#1{} +% \def\subparagraphmark#1{} + +% The value of the counter secnumdepth gives the depth of the +% highest-level sectioning command that is to produce section numbers. +% + +\setcounter{secnumdepth}{3} + +% APPENDIX +% +% The \appendix command must do the following: +% -- reset the section and subsection counters to zero +% -- redefine the section counter to produce appendix numbers +% -- redefine the \section command if appendix titles and headings +% are to look different from section titles and headings. + +\def\appendix{\par + \setcounter{section}{0} + \setcounter{subsection}{0} + \def\thesection{\Alph{section}}} + + +% **************************************** +% * LISTS * +% **************************************** +% + +% The following commands are used to set the default values for the list +% environment's parameters. See the LaTeX manual for an explanation of +% the meanings of the parameters. Defaults for the list environment are +% set as follows. First, \rightmargin, \listparindent and \itemindent +% are set to 0pt. Then, for a Kth level list, the command \@listK is +% called, where 'K' denotes 'i', 'ii', ... , 'vi'. (I.e., \@listiii is +% called for a third-level list.) By convention, \@listK should set +% \leftmargin to \leftmarginK. +% + +\leftmargini 2.5em +\leftmarginii 2.2em % > \labelsep + width of '(m)' +\leftmarginiii 1.87em % > \labelsep + width of 'vii.' +\leftmarginiv 1.7em % > \labelsep + width of 'M.' +\leftmarginv 1em +\leftmarginvi 1em + +\leftmargin\leftmargini +\labelsep .5em +\labelwidth\leftmargini\advance\labelwidth-\labelsep +%\parsep 4.5pt plus 2pt minus 1pt %(Removed 9 Jun 87) + +% \@listI defines top level and \@listi values of +% \leftmargin, \topsep, \parsep, and \itemsep +% (Added 9 Jun 87) +\def\@listI{\leftmargin\leftmargini \parsep 4.5\p@ plus2\p@ minus\p@ +\topsep \z@ \itemsep \topsep} + +\let\@listi\@listI +\@listi + +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep \z@ \itemsep \topsep + \parsep 2\p@ plus\p@ minus\p@} + +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep \z@ \itemsep \topsep + \parsep \z@ \partopsep\z@} + +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} + + + + + +%% RmS: which at the same time makes the vertical space in lists (verbatim...) +%% too large if not other precautions are taken. +\setlength{\parindent}{0pt} +\setlength{\parskip}{6pt} +\raggedbottom + + +% Various boxes. +\newlength{\reduceboxwidth} +\setlength{\reduceboxwidth}{4in} + +\newlength{\redboxwidth} +\setlength{\redboxwidth}{3.5in} + +\newlength{\rboxwidth} +\setlength{\rboxwidth}{2.6in} + +% These are here in case the name changes or we someday want a special +% font. +\newcommand{\REDUCE}{REDUCE} +\newcommand{\RLISP}{RLISP} + +% This is useful for putting function names in \tt format in the index. +\newcommand{\ttindex}[1]{\index{#1@{\tt #1}}} + +% Use this when you are speaking about problems across systems. +\newcommand{\COMPATNOTE}{{\em Compatibility Note:\ }} + +\pagestyle{headings} + +%% For BNF notation. + +% \s{...} is a sentential form in descriptions. Enclosed \em text in <...> +\newcommand{\s}[1] {$<${\em #1}$>$} + +% \meta{...} is an alternative sentential form in descriptions using \it. +\newcommand{\meta}[1]{\mbox{$\langle$\it#1\/$\rangle$}} + +% \k{...} is a keyword. Just do in bold for the moment. +\newcommand{\k}[1] {{\bf #1}} + +% \f is a function name. Just do this as tt. +\newcommand{\f}[1] {{\tt #1}} + +% An example macro for numbering and indenting examples. +\newcounter{examplectr} +\newcommand{\example}{\refstepcounter{examplectr} +\noindent{\bf Example \theexamplectr}} + +% The following are currently only used in the GENTRAN document. However, +% there's no objection to using them elsewhere. + +\begingroup + \catcode `|=0 + \catcode `[= 1 + \catcode`]=2 + \catcode `\{=12 + \catcode `\}=12 + \catcode`\\=12 + |gdef|@xframedverbatim#1\end{framedverbatim}[#1|end[framedverbatim]] + |gdef|@sxframedverbatim#1\end{framedverbatim*}[#1|end[framedverbatim*]] +|endgroup + +\newdimen\@mcdheight + +\def\@sframedverbatim{\obeyspaces\@framedverbatim} + +\def\@mcdrule{\@mcdheight=\baselineskip\advance\@mcdheight by-2pt +\setbox0=\hbox{\vrule height\@mcdheight depth 2pt width 1pt}% +\ht0=\@mcdheight\dp0=0pt\wd0=1pt\box0} + +\def\@mcdendrule{\@mcdheight=\baselineskip% +\setbox0=\hbox{\vrule height\@mcdheight depth 2pt width 1pt}% +\ht0=\@mcdheight\dp0=0pt\wd0=1pt\box0} + +\def\@framedverbatim{\trivlist \item[] +\parskip \z@ +\hrule \@height \p@ \@depth \z@ \@width\textwidth +\everypar{\global \@minipagefalse \global \@newlistfalse \if@inlabel +\global \@inlabelfalse \hskip -\parindent \box \@labels \penalty \z@ \fi +\hbox to6\p@{\rlap{\@mcdrule}\hskip\textwidth\llap{\@mcdrule}\hss}}% +\if@minipage\else\vskip\parskip\fi +\leftskip\@totalleftmargin\rightskip\z@ +\parindent\z@\parfillskip\@flushglue\parskip\z@ +\@tempswafalse \def\par{\if@tempswa\hbox{}\fi\@tempswatrue\@@par +\penalty\interlinepenalty}% % fix \samepage bug +\obeylines \tt \catcode``=13 \@noligs \let\do\@makeother \dospecials} + +\def\framedverbatim{\@framedverbatim \frenchspacing\@vobeyspaces + \@xframedverbatim} + +\def\endframedverbatim{\nointerlineskip +{\everypar{}\baselineskip 4\p@\vbox to4\p@{\par\noindent\hbox + to6pt{\rlap{\@mcdendrule}\hskip\textwidth\llap{\@mcdendrule}\hss}}% +\vskip\p@\hrule \@height \p@ \@depth \z@ \@width\textwidth}\endtrivlist} + +\@namedef{framedverbatim*}{\@framedverbatim\@sxframedverbatim} + +\expandafter\let\csname endframedverbatim*\endcsname =\endtrivlist + +% Will print out a heading in bold, and then indent the following text. +\def\indented{\list{}{ + \itemindent\listparindent + \rightmargin\leftmargin}\item[]} +\let\endindented=\endlist +\newenvironment{describe}[1]{\par{\bf #1}\begin{indented}}{\end{indented}} + +\@ifundefined{reset@font}{\let\reset@font\@empty}{} + +\endinput