% LaTeX style file for the Brooks/Cole Advanced Math Series % by Integre Technical Publishing Co. \typeout{Document Style `brooks/cole' <1 July 1994>.} \def\@ptsize{0} \@namedef{ds@11pt}{\def\@ptsize{1}} \@namedef{ds@12pt}{\def\@ptsize{2}} \@twosidetrue \@mparswitchtrue \def\ds@draft{\overfullrule 5pt} \@options \input bk10.sty \relax %% %% Pagination penalties %% %% NOTE: We will modify these penalties when doing the final pagination. %% The way it is currently set up, \raggedbottom overrides the stretch %% above the footnotes and around other inserts (figs and tables). \parskip=0pt % don't "fluff" pages by adding space between paragraphs \raggedbottom % set pages ragged bottom to preserve spacing of elements \brokenpenalty=500 % decrease likelihood of a page break after hyphenated line \widowpenalty=10000 % widows are verboten \clubpenalty=10000 % same for orphans \displaywidowpenalty=0 % don't mind single line before display equation \hsize=29pc \vsize=46pc \textwidth=\hsize \textheight=\vsize \frenchspacing \def\text{\parindent=24pt\xpt\rm} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% TRIM MARKS %% Trim marks added here. The default is to have the trim %% marks on, to turn them off call \trimmarksfalse somewhere %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newdimen\trimwidth \newdimen\trimheight \newdimen\fudgetrimdown \newdimen\fudgetrimright \newdimen\margwidth \newif\iftrimmarks \trimmarkstrue \newif\ifnarrow \narrowfalse \let\thmstyle=\rm \newif\ifvirtualfonts \virtualfontsfalse \newif\ifpsfonts \psfontsfalse %\input{options} \ifnarrow \trimheight=9.25in \trimwidth=6.375in \fudgetrimdown=-6pt \fudgetrimright=0pt \margwidth=3pc \else \trimheight=9.25in \trimwidth=7.375in \fudgetrimdown=-6pt \fudgetrimright=0pt \margwidth=8pc \fi %\reversemarginpar \def\tlmark{\hbox{\vrule height .5pt depth 0pt width 18pt% \hskip 5.5pt% \vrule height 24pt depth -6pt width .5pt}} \def\trmark{\hbox{\vrule height 24pt depth -6pt width .5pt \hskip 5.5pt% \vrule height .5pt depth 0pt width 18pt}}% \def\brmark{\hbox{\vrule height -6pt depth 24pt width .5pt \hskip 5.5pt% \vrule height .5pt depth 0pt width 18pt}}% \def\blmark{\hbox{\vrule height .5pt depth 0pt width 18pt% \hskip 5.5pt% \vrule height -6pt depth 24pt width .5pt}} \def\imagemarks{\vbox to 0pt{% \advance\trimwidth by 48pt% \advance\trimheight by 29pt% %% I'm not sure why the below fudges are needed \advance\trimwidth by -1pt% \hbox{\hskip-24pt\hskip\fudgetrimright% \vbox to 0pt{\vskip -18pt% \vskip\fudgetrimdown% \vbox to \trimheight{% \hbox to \trimwidth{\tlmark\hss\trmark}% \vss% \hbox to \trimwidth{\blmark\hss\brmark}% }% \vss}}}} % **************************************** % * PAGE LAYOUT * % **************************************** % % All margin dimensions measured from a point one inch from top and side % of page. % SIDE MARGINS: \ifnarrow % Values for two-sided printing: \oddsidemargin 80pt % Left margin on odd-numbered pages. \evensidemargin 67pt % Left margin on even-numbered pages. \marginparwidth 85pt % Width of marginal notes; not needed here. \else % Values for one-sided printing: \oddsidemargin 140pt % Note that \oddsidemargin = \evensidemargin39.5 \evensidemargin 138pt %39.5pt \marginparwidth 84pt %68pt \fi \marginparsep 12pt % Horizontal space between outer margin and % marginal note % VERTICAL SPACING: % Top of page: \topmargin 25pt % Nominal distance from top of page to top of % box containing running head. \headheight 12pt % Height of box containing running head. \headsep 13pt % Space between running head and text. % \topskip = 10pt % '\baselineskip' for first line of page. % Bottom of page: \footheight 12pt % Height of box containing running foot. \footskip 18pt % Distance from baseline of box containing foot % to baseline of last line of text. % **************************************** % * FONTS * % **************************************** % \lineskip 1pt % \lineskip is 1pt for all font sizes. \normallineskip 1pt \def\baselinestretch{1} %\def\@halfmag{scaled 1095} %\def\@magscale#1{% % scaled \ifcase#1 1000\or 1200\or 1440\or 1728\or 2074\or 2488\fi\relax %} \def\@magscale#1{ scaled \magstep #1} \def\@halfmag{ scaled \magstephalf} \def\@ptscale#1{ scaled #100} %\ifvirtualfonts % \input{brooks.fnt} %\else\ifpsfonts % \input{psfonts.fnt} %\else % \input{cmrfonts.fnt} %\fi\fi \newif\if@bold \font\sevrm = cmr7 % roman \font\sevmi = cmmi7 % math italic \skewchar\sevmi ='177 % for placement of accents \font\sevsy = cmsy7 % math symbols \skewchar\sevsy ='60 % for placement of math accents \font\sevit = cmti7 % text italic \font\sevbf = cmbx7 % bold \font\ninrm = cmr9 % roman \font\ninmi = cmmi9 % math italic \skewchar\ninmi ='177 % for placement of accents \font\ninsy = cmsy9 % math symbols \skewchar\ninsy ='60 % for placement of math accents \font\ninit = cmti9 % text italic \font\ninsl = cmti9 % slanted \font\ninbf = cmbx9 % bold %\font\ninsf = cmss9 % sans serif %\font\ninsfi = cmssi9 % italic sans serif %\font\ninsfb = cmssbx10 at 9pt % bold sans serif \font\ninsf = hvx at 9pt \font\ninsfi = hvo at 9pt \font\ninsfb = hvbx at 9pt \font\ninly = lasy9 % LaTeX symbols %\font\tensfb = cmssbx10 % bold sans serif \font\tensfb = hvbx \font\twlvsfb = hvbx at 12pt \font\thtnrm = cmssbx10 at 13pt % roman \font\thtnmi = cmmi10 at 13pt % math italic \skewchar\thtnmi ='177 % for placement of accents \font\thtnit = cmti10 at 13pt % text italic \font\thtnsl = cmsl10 at 13pt % slanted \font\thtnly = lasy10 \@magscale1 % LaTeX symbols \font\thtnbf = cmssbx10 at 13pt % extended bold \font\thtnsy = cmsy10 \@magscale1 % math symbols \skewchar\thtnsy ='60 % for placement of math accents \font\bigsfb = hvbx at 24pt %\font\thsxrm = cmssbx10 at 36pt % roman \font\thsxrm = hvbx at 36pt \def\@xiiipt{13} \newcommand\xiiipt {\edef\f@size{\@xiiipt}\rm} %% %% FROM bk10.sty, modified for Brooks/Cole style %% \parskip 0pt \parindent 24pt \partopsep 0pt \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty -\@lowpenalty \def\@makechapterhead#1{% \ifnarrow \vspace*{-28pt}% { \parindent 0pt \raggedright \ifnum \c@secnumdepth >\m@ne \thsxrm\thechapter %\par\vskip 6pt% \fi {\Huge\sffamily\bfseries #1\par} \nobreak \vskip 60pt% } \else \vspace*{-28pt}% { \parindent 0pt \raggedright \ifnum \c@secnumdepth > \m@ne \noindent \llap{\thsxrm\thechapter\hspace*{12pt}}% {\Huge\sffamily\bfseries #1\par} \nobreak \vskip 60pt \fi} \fi} \def\@makeschapterhead#1{\ifnarrow \vspace*{0pt}{\parindent 0pt \raggedright \Huge\sffamily\bfseries #1\par \nobreak \vskip 96pt } \else \vspace*{0pt}{\parindent 0pt \raggedright \Huge\sffamily\bfseries #1\par \nobreak\vskip 96pt } \fi} \def\chapter{% \newpage \ifodd\count0 \relax \else \null \thispagestyle{empty} \newpage \fi %\cleardoublepage% JCS added this for swug \thispagestyle{plain} \global\@topnum\z@ \@afterindentfalse \secdef\@chapter\@schapter} \def\@chapter[#1]#2{% \ifnum \c@secnumdepth >\m@ne \refstepcounter{chapter} \typeout{\@chapapp\space\thechapter.} \addcontentsline{toc}{chapter}{\protect \numberline{\thechapter}\ #1}\else \addcontentsline{toc}{chapter}{#1} \fi \chaptermark{#1} \addtocontents{lof}{\protect\addvspace{10pt}} \addtocontents{lot}{\protect\addvspace{10pt}} \if@twocolumn \@topnewpage[\@makechapterhead{#2}] \else \@makechapterhead{#2} \@afterheading \fi} \def\@schapter#1{\if@twocolumn \@topnewpage[\@makeschapterhead{#1}] \else \@makeschapterhead{#1} \@afterheading\fi} \def\@makessubchapter#1{\vspace{-56pt}{\parindent0pt\raggedright% \baselineskip=20pt\egtnrm#1\par\nobreak\vspace{101pt}}} %% We are not adding chapter subtitle to the table of contents, %% so those lines are commented out. If they are restored, then %% \l@subchapter needs to be added to the toc macros. \def\subchapter{\@subchapter}% \def\@subchapter#1{ \@makessubchapter{#1} \@afterheading} %% %% We need to change the behavior of the space between the section %% number and the head title. This is done in \@sect, which we %% redefine below. \@sectspaceskip is a dimen added to provide that %% skip. %% \newdimen\@sectspaceskip \@sectspaceskip1ex \def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth \def\@svsec{}\else %if asterisk, \@svsec set to null (no section number) \refstepcounter{#1}\edef\@svsec{% \csname the#1\endcsname\hskip\@sectspaceskip}\fi \@tempskipa #5\relax \ifdim \@tempskipa>\z@ \begingroup #6\relax \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par}% \endgroup \csname #1mark\endcsname{#7}\addcontentsline {toc}{#1}{\ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}\fi #7}\else \def\@svsechd{#6\hskip #3\@svsec #8%\csname #1mark\endcsname{#7} \addcontentsline {toc}{#1}{\ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}\fi #7}}\fi \@xsect{#5}} %there are six arguments to \@startsection. The first indicates %the counter that gets increased. The second indicates the level %of head this is (and thus which heads are included in the toc). %Third gives the paragraph indent (?). Fourth apparently changes %space above the head. Fifth is space below the head. %***NOTE*** Fourth argument should be negative to retain noindent %following the head. \def\section{\@startsection{section}{1}{-\margwidth}{-22pt}{12pt}% {\raggedright\tolerance=10000\@sectspaceskip12pt %\twlvsfb \large\sffamily\bfseries}} \def\subsection{\@startsection{subsection}{2}{\z@}{-17pt}{6pt}% {\@sectspaceskip6pt\large\sffamily\bfseries}} \def\subsubsection{% \@startsection{subsubsection}{3}{\z@}{-12pt}{.0001pt}{\normalsize\sffamily\bfseries}} %\def\subsubsubsection{% % \@startsection{subsubsubsection}{4}{\z@}{-12pt}{-10pt}{\normalsize\sffamily\bfseries}} \def\paragraph{% \@startsection{paragraph}{4}{\z@}{-12pt}{-10pt}{\normalsize\sffamily\bfseries}} %% Modify \@startsection so we can add the rule after exercise heads. %% Note also that \theexercise is same as \thesection, so numbered %% exercise heads simply take the section number. Modifications also %% require that the section number appear *after* the head rather than %% before it. %% NOTE: The following modifications work for the Exercise heads of %% the specified design. They have *not* been debugged for all %% variations of the parameters, although they will probably work. \def\exerciserule{\hrule height1pt depth0pt} \def\exercisemark#1{#1} \def\@exstartsection#1#2#3#4#5#6{\if@noskipsec \leavevmode \fi \par \@tempskipa #4\relax \@afterindenttrue \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi \if@nobreak \everypar{}\else \addpenalty{\@secpenalty}\addvspace{\@tempskipa}\fi \@ifstar {\@exssect{#3}{#4}{#5}{#6}}{\@dblarg{\@exsect{#1}{#2}{#3}{#4}{#5}{#6}}}} \def\@exsect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth \def\@svsec{}\else \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname}\fi \addcontentsline{toc}{#1}{#7\space\csname the#1\endcsname} \@tempskipa #5\relax \ifdim \@tempskipa>\z@ \begingroup #6\@hangfrom{\hskip #3}%\relax {\uppercase{#8}\space\@svsec\hskip6pt% \leaders\exerciserule\hfill\hbox{}}% \endgroup \else \def\@svsechd{#6\hskip #3\relax \uppercase{#8}\space% \@svsec\hskip6pt\leaders\exerciserule\hfill\hbox{}}\fi \@exxsect{#5}} \def\@exxsect#1{\@tempskipa #1\relax \ifdim \@tempskipa>\z@ \par \nobreak \vskip \@tempskipa \@afterheading \else \global\@nobreakfalse \global\@noskipsectrue \everypar{\if@noskipsec \global\@noskipsecfalse \clubpenalty\@M \hskip -\parindent \begingroup \@svsechd \endgroup \unskip \hskip -#1 \else \clubpenalty \@clubpenalty \everypar{}\fi}\fi\ignorespaces} \def\@exssect#1#2#3#4#5{\@tempskipa #3\relax \addcontentsline{toc}{exercises}{#5} \ifdim \@tempskipa>\z@ \begingroup #4\@hangfrom{\hskip #1}%{\interlinepenalty \@M #5\par} {\uppercase{#5}\hskip6pt\leaders\exerciserule\hfill\hbox{}} \endgroup \else \def\@svsechd{#4\hskip #1\relax \uppercase{#5}\hskip6pt\leaders\exerciserule\hfill\hbox{}}\fi \@exxsect{#3}} \def\exercises{\@exstartsection{exercises}{2}{0pt}{-18pt}{12pt} {\tensfb}} \def\summ@ry{\@startsection{summary}{2}{\z@}{-18pt}{6pt}% {\xiipt\twlrm}}%\@sectspaceskip6pt \def\summary#1{\let\\=\tempbreak% \addcontentsline{toc}{summary}{#1}% \summ@ry*{#1}} \def\chaptermark#1{} \setcounter{secnumdepth}{2} \def\@makeappendixhead#1{\vspace*{-0pt}{\parindent=0pt\raggedright \ifnum\c@secnumdepth >\m@ne \vspace*{-35pt}\xxivpt\relax \ifnarrow \llap{\hbox to 3pc{\tensfb APPENDIX\hss}}\par\vspace*{13pt} \noindent\llap{\hbox to 3pc{\thsxrm\thechapter\hss}}% #1\par \nobreak\vspace{138pt} \else \vspace*{8pt} \noindent\llap{\raise19.5pt\hbox{\tensfb APPENDIX}\hskip6pt% \hbox{\thsxrm\thechapter}\hskip12pt}%\par %\vspace*{-19pt} #1\par \nobreak\vspace{156pt} \fi \else\relax\fi }} \def\@makesappendixhead#1{\vspace*{-0pt}{\parindent0pt\raggedright \xxivpt#1\par \nobreak\vspace{138pt}}} \def\appendix{\newpage\ifodd\count\z@\relax \else\thispagestyle{empty}\mbox{}\newpage\fi%\cleardoublepage \thispagestyle{plain} \@afterindentfalse \setcounter{chapter}{0} \setcounter{section}{0} \def\@chapapp{Appendix} \def\thechapter{\Alph{chapter}} \let\@chapter=\@appendix %\secdef\@appendix\@sappendix } \def\@appendix[#1]#2{ \refstepcounter{chapter} \typeout{\@chapapp\space\thechapter.} \addcontentsline{toc}{chapter}{Appendix \protect\numberline{\thechapter}\ \ #1} \chaptermark{#1} \@makechapterhead{#2} % Changed from makeappendixhead \@afterheading} \def\@sappendix#1{\@makesappendixhead{#1} \@afterheading} %% %% THEOREM ENVIRONMENTS %% % If you want one of these environments to be numbered consecutively within % a chapter rather than within a section, simply replace [section] with % [chapter] for the relevant environment (see earlier). \def\@begintheorem#1#2{\vspace{-\lastskip}\vspace{12pt}% \ifnarrow \noindent{\tensfb #1\ #2\hspace{12pt}}\thmstyle \else \noindent\llap{\tensfb #1\ #2\hspace{12pt}}\thmstyle \fi}% \def\@opargbegintheorem#1#2#3{\vspace{-\lastskip}\vspace{12pt}% \ifnarrow \noindent{\tensfb #1\ #2\ #3\hspace{12pt}}\thmstyle \else \noindent\llap{\tensfb #1\ #2\ #3\hspace{12pt}}\thmstyle \fi} \global\def\@endtheorem{\vspace{-\lastskip}\vspace{12pt}} \def\hanghead{\hspace{-\margwidth}} % JCS took these out for SWUG style... %\newtheorem{theorem}{\hanghead THEOREM}[section] %\newtheorem{definition}{\hanghead\tensfb DEFINITION} %\newtheorem{example}{Example}[chapter] %\newtheorem{corollary}{COROLLARY} %\newtheorem{proposition}{PROPOSITION} %\newtheorem{algorithm}{ALGORITHM} %\newtheorem{application}{APPLICATION} % the \penalty-5 is inserted to have a "good" linebreak before the % closing box. An hspace of 9pt rather than 12pt is used because % users will be in the habit of ending the environment on a new line, % so a wordspace (approx. 3pt) will be added. TeX will squeeze the % line to keep the box on the last line, but only if it can do so % without shrinking the wordspace below the allowed tolerance. \newenvironment{proof}{% \vspace{-6pt}\noindent\rm% \ifnarrow {\tensfi Proof}\hspace{12pt}\ignorespaces \else \llap{\tensfi Proof\hspace{12pt}}\vspace*{0pt}\nobreak\noindent% \ignorespaces \fi}% {\hspace*{\fill}\penalty-5\hspace*{9pt}\hspace*{\fill}% \lower.8pt\hbox{$\Box$}\vspace{12pt}} \newenvironment{solution}{% \vspace{-6pt}\noindent\rm% \ifnarrow {\tensfi Solution}\hspace{12pt}\ignorespaces% \else \llap{\tensfi Solution\hspace{12pt}}\vspace*{0pt}\nobreak\noindent% \ignorespaces \fi}% {\hspace*{\fill}\penalty-5\hspace*{9pt}\hspace*{\fill}% \rule{6pt}{6pt}\vspace{12pt}} \newenvironment{hint}{% \vspace{-\lastskip}\vspace{12pt}\noindent\rm% {\tensf HINT:}\hspace{6pt}\ignorespaces}% {\vspace{-\lastskip}\vspace{12pt}} \newenvironment{hints}{% \vspace{-\lastskip}\vspace{12pt}\noindent\rm% {\tensf HINTS:}\hspace{6pt}}% {\vspace{-\lastskip}\vspace{12pt}} \newenvironment{note}{% \vspace{-\lastskip}\vspace{12pt}\noindent\rm% {\tensf NOTE:}\hspace{6pt}}% {\vspace{-\lastskip}\vspace{12pt}} \newenvironment{notes}{% \vspace{-\lastskip}\vspace{12pt}\noindent\rm% {\tensf NOTES:}\hspace{6pt}}% {\vspace{-\lastskip}\vspace{12pt}} \newenvironment{remark}{% \vspace{-\lastskip}\vspace{12pt}\noindent\rm% {\tensf REMARK:}\hspace{12pt}}% {\vspace{-\lastskip}\vspace{12pt}} \newenvironment{remarks}{% \vspace{-\lastskip}\vspace{12pt}\noindent\rm% {\tensf REMARKS:}\hspace{12pt}}% {\vspace{-\lastskip}\vspace{12pt}} \newenvironment{references}{% \ixpt\rm\parindent=0pt \everypar{\hangindent=24pt\hangafter=1}}{\newpage} \newenvironment{instructions}{% \vspace*{-6pt}\relax\noindent\it\ignorespaces}{\par} \newenvironment{answers}{% \everypar{\leftskip=-\margwidth\parindent=0pt}\ixpt\rm \baselineskip=9pt\raggedright\tolerance=10000}{\newpage} \def\answerhead#1#2{\vspace{15pt} \leftskip=-\margwidth{\ninsfb#1\hspace{12pt}#2\vspace{6pt}}} \def\answer#1#2{{\bf #1.}\nobreak\quad\nobreak#2\hspace{24pt}\ignorespaces} \def\ansfig#1#2{\hspace*{2pt}\vtop{\vphantom{0}\vspace{-7.5pt}#1\epsffile{#2}}} %% %% LIST ENVIRONMENTS (enumerate, itemize) %% % JCS - put these back to standard Latex sytax - remove parameter %\def\enumerate#1{% \def\enumerate{% \settowidth\labelwidth{999.} \ifnum \@enumdepth >3 \@toodeep\else \advance\@enumdepth \@ne \edef\@enumctr{enum\romannumeral\the\@enumdepth}% \list{\csname label\@enumctr\endcsname} {\usecounter{\@enumctr} \def\makelabel##1{\hss\llap{##1}}}\fi} \let\endenumerate =\endlist \def\itemize{% \settowidth\labelwidth{$\bullet$} \ifnum \@itemdepth >3 \@toodeep\else \advance\@itemdepth \@ne \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% \list{\csname\@itemitem\endcsname} {\def\makelabel##1{\hss\llap{##1}}}\fi} \let\enditemize =\endlist \labelsep 5pt \def\@listi{% \leftmargini\labelwidth \advance\leftmargini\labelsep \leftmargin\leftmargini \parsep 0pt\topsep 6pt \itemsep 0pt} \def\@listii{% \leftmarginii\labelwidth \advance\leftmarginii\labelsep \leftmargin\leftmarginii \topsep 0pt \parsep 0pt \itemsep \parsep} \def\@listiii{% \leftmarginiii\labelwidth \advance\leftmarginiii\labelsep \leftmargin\leftmarginiii \topsep 0pt \parsep 0pt \itemsep \parsep} \def\@listiv{% \leftmarginiv\labelwidth \advance\leftmarginiv\labelsep \leftmargin\leftmarginiv \topsep 0pt \parsep 0pt \itemsep \parsep} %%%%%%%%%%%%%%%% % DOUBLE AND TRIPLE COLUMNS FOR INDEX %%%%%%%%%%%%%%%% % % NOTES: % (1) Floats (figures, tables, footnotes) are not accommodated by % \twocolumn and \threecolumn, since the multiple columns are % used only in the index. % (2) One noticeable flaw in the multicolumn macros is that the % output routine is never called if there is nothing in the % last column. A hack has been added to \newenvironment{theindex} % below to solve this problem. A more optimal solution certainly % exists, and should probably be built into \@output[dbl/trpl]column. % (3) LaTeX's \twocolumn macros are rather deficient in two respects: % first, \twocolumn ordinarily clears the page and starts the two- % column layout on a fresh page (likewise when switching back to % one column); second, \twocolumn does not balance columns when % all columns are not full. The macros below are modifications % of LaTeX's \twocolumn macros, since this was most time efficient. % Future refinements should correct these deficiencies (see Berry's % eplain macros for examples of how to do this). % (4) To balance columns, or to break where desired, simply insert % a \pagebreak, \newpage, or \newcolumn at the appropriate place. \ifnarrow \columnsep=1pc \else \columnsep=2pc \fi \let\newcolumn=\pagebreak \newif\if@threecolumn \@threecolumnfalse \newif\if@secondcolumn \@secondcolumnfalse \newbox\@midcolumn \def\onecolumn{\clearpage\global\columnwidth\textwidth \global\hsize\columnwidth \global\linewidth\columnwidth \global\@twocolumnfalse \global\@threecolumnfalse\@floatplacement} \def\twocolumn{\global\columnwidth\textwidth \advance\columnwidth\margwidth \global\advance\columnwidth -2\columnsep \global\divide\columnwidth by3 \global\hsize\columnwidth \global\linewidth\columnwidth \global\@twocolumntrue \global\@firstcolumntrue \@dblfloatplacement} \def\threecolumn{\global\columnwidth\textwidth \advance\columnwidth\margwidth \global\advance\columnwidth -2\columnsep \global\divide\columnwidth by3 \global\hsize\columnwidth \global\linewidth\columnwidth \global\@threecolumntrue \global\@firstcolumntrue} \def\@opcol{\global\@mparbottom\z@ \if@twocolumn\@outputdblcol\else \if@threecolumn\@outputtrplcol\else \@outputpage \global\@colht\textheight \fi\fi} \def\@outputdblcol{\if@firstcolumn \global\@firstcolumnfalse \global\setbox\@leftcolumn\box\@outputbox \else \global\@firstcolumntrue \setbox\@outputbox\vbox{\hbox to\textwidth{\hbox to\columnwidth {\box\@leftcolumn \hss}\hskip\columnsep \hbox to\columnwidth{\box\@outputbox \hss}\hfill}} \global\@twocolumnfalse \global\@threecolumntrue \@outputpage \fi} \def\@outputtrplcol{\if@firstcolumn \global\@firstcolumnfalse \global\setbox\@leftcolumn\box\@outputbox \global\@secondcolumntrue \else \if@secondcolumn \global\@secondcolumnfalse \global\setbox\@midcolumn\box\@outputbox \else \global\@firstcolumntrue \setbox\@outputbox\vbox{\hbox{\hspace*{-\margwidth}\hbox to\columnwidth {\box\@leftcolumn \hss}\hskip\columnsep \hbox to\columnwidth{\box\@midcolumn \hss}\hskip\columnsep \hbox to\columnwidth{\box\@outputbox \hss}}} \@outputpage \fi\fi} %%%%%%%%%%%%%%%% % COUNTERS, INDEXES, LABELS %%%%%%%%%%%%%%%% \def\labelenumi{\theenumi} % \def\theenumi{\arabic{enumi}.} \def\labelenumii{\theenumii} \def\theenumii{\alph{enumii}.} \def\p@enumii{\theenumi} \def\labelenumiii{\theenumiii.} \def\theenumiii{\roman{enumiii}} \def\p@enumiii{\theenumi(\theenumii)} \def\labelenumiv{\theenumiv.} \def\theenumiv{\Alph{enumiv}} \def\p@enumiv{\p@enumiii\theenumiii} \def\labelitemi{$\bullet$} % bullets used for all levels of unnumbered lists \def\labelitemii{$\bullet$} \def\labelitemiii{$\bullet$} \def\labelitemiv{$\bullet$} %% %% See page 27 of the LaTeX book for instructions on using the verse %% environment. Each line of the verse ends with \\, except last line %% of a stanza, which is followed by one or more blank lines. %% Turnovers on long lines are indented. %% %% The \verse macro uses the item environment to set lines of verse. %% %% \@centercr \unskips if in hmode, else gives an error; i.e., \\ %% must be in horizontal mode. \z@ is simply 0pt. %% %% \itemsep is set to 0pt, so there is only a \parsep between items %% in the list. %% \itemindent leftskips the first line 1.5em. %% \listparindent sets the \parindent for the list to \itemindent (-1.5em). %% \rightmargin set equal to \leftmargin, then \leftmargin is increased %% to 1.5em (so that turnovers set indented) \def\verse{\let\\=\@centercr \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]} %% Since \verse is a \list, we want \endverse to be the same as \endlist. \let\endverse\endlist %% The \quotation environment, like \verse, uses the list environment. \def\quotation{\list{}{\listparindent 1.5em \itemindent\listparindent \rightmargin\leftmargin\parsep 0pt plus 1pt}\item[]} \let\endquotation=\endlist \def\quote{\list{}{\rightmargin\leftmargin}\item[]} \let\endquote=\endlist %% \descriptionlabel sets the description environment's label boldface. %% The width of the labels (\labelwidth) is set to 0pt, since we're %% going to use the widths of the description item. %% \itemindent here skips the first line of each entry to the left margin. %% \makelabel usually positions the label flush right in its box. Here %% \makelabel skips by an amount \labelsep from the left margin, then %% sets the label in boldface??? I don't understand; the labelsep is %% after the description label. \def\descriptionlabel#1{\hspace\labelsep \bf #1} \def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin \let\makelabel\descriptionlabel}} \let\enddescription\endlist %% I don't see that these next two lines do anything at all. \newdimen\descriptionmargin \descriptionmargin=3em \def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn \else \newpage \fi \thispagestyle{empty}\c@page\z@} \def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi} \arraycolsep 5pt \tabcolsep 6pt \arrayrulewidth .4pt \doublerulesep 2pt \tabbingsep \labelsep \skip\@mpfootins = \skip\footins \fboxsep = 3pt \fboxrule = .4pt %% The following are needed. The option resets the counter when encountered %% e.g., subsection is reset to 0 each time a section is encountered. %% By default use of \the with the counter puts the number in \arabic{}. \newcounter{part} \newcounter{chapter} \newcounter{section}[chapter] \newcounter{subsection}[section] \newcounter{subsubsection}[subsection] \newcounter{subsubsubsection}[subsubsection] \newcounter{exercises} \newcounter{entrynumber}[page] %% We may need to modify these to match the design, but they are trivial. \def\thepart {\Roman{part}} \def\thechapter {\arabic{chapter}} \def\thesection {\thechapter.\arabic{section}} \def\thesubsection {\thesection.\arabic{subsection}} \def\thesubsubsection {\thesubsection .\arabic{subsubsection}} \def\thesubsubsubsection {\thesubsubsection .\arabic{subsubsubsection}} \def\theexercises {\thesection} \def\@chapapp{Chapter} %% Since this style is two-sided, \cleardoublepage makes sure the next %% page is a right-hand page (in this case, the first page if \part is %% called to start a chapter). %% \thispagestyle{plain} clears the head and puts the folio in the foot, %% but only for the part (chapter) opening page. %\def\part{\cleardoublepage \thispagestyle{plain} \if@twocolumn \onecolumn %\@tempswatrue \else \@tempswafalse \fi \hbox{}\vfil \secdef\@part\@spart} \def\@pnumwidth{28pt} \def\@tocrmarg {30pt} \def\@dotsep{4.5} \setcounter{tocdepth}{2} %\def\tocnumfont{\relax} %\def\numberline#1{\llap{\hbox{\catcode`\~=13\def~{\hphantom{0}}% % \tocnumfont#1}\hskip\@tempdima}} \def\tempbreak{\hfill\break} \def\tableofcontents{\begingroup \makeatletter \if@filesw \expandafter\newwrite\csname tf@toc\endcsname \expandafter\openout \csname tf@toc\endcsname \jobname.toc\relax \fi \global\@nobreakfalse \endgroup} \def\l@chapter#1#2{% \let\\=\tempbreak \addpenalty{-\@highpenalty} \vskip 18pt \@tempdima 12pt \begingroup \parindent \z@ %\xivpt \leavevmode {\hskip -97.5pt\large\sffamily\bfseries #1% \nobreak\hfill \nobreak\hbox to\@pnumwidth{\hss #2}} \par\nobreak\vskip4pt \penalty\@highpenalty \endgroup} \def\l@section#1#2{% \let\\=\tempbreak \addpenalty{-\@highpenalty} \vskip 6pt %\@tempdima 12pt \@tempdima 24pt \begingroup \parindent \z@ %\hangindent=12pt \hangafter=1 % turnovers indenting 12pt % removed 10-10-92, -dwd %\xipt\rm \leavevmode {\normalsize\sffamily\bfseries #1% \nobreak\hskip12pt\nobreak #2} \par\vskip 0pt \penalty\@highpenalty \endgroup} \newdimen\@tempboxb \newskip\@tempdimb \def\l@subsection#1#2{\let\\=\tempbreak\addpenalty{-\@highpenalty} \@tempdima 12pt \begingroup \parindent \z@ \def\numberline##1{\catcode`\~=13\def~{\hphantom{0}}% \setbox\@tempboxb=\hbox{\tocnumfont##1\quad\ignorespaces}% \@tempdimb=\wd\@tempboxb \hangindent=\@tempdimb \hangafter=0 \llap{\tocnumfont##1\quad\ignorespaces}} \xpt\rm \leavevmode #1\nobreak\hskip12pt\nobreak#2\par\vskip0pt \penalty\@highpenalty \endgroup} \def\l@exercises#1#2{\let\\=\tempbreak%\addpenalty{-\@highpenalty} \@tempdima 12pt \begingroup \parindent \z@ \xipt\it \leavevmode #1\nobreak\hskip12pt\nobreak#2\par\vskip0pt \penalty\@highpenalty \endgroup} \def\l@summary#1#2{\let\\=\tempbreak\addpenalty{-\@highpenalty} \@tempdima 12pt \begingroup \parindent \z@ \xipt\it \leavevmode #1\nobreak\hskip12pt\nobreak#2\par\vskip0pt \penalty\@highpenalty \endgroup} \def\thebibliography#1{\chapter*{Bibliography\@mkboth {BIBLIOGRAPHY}{BIBLIOGRAPHY}}\list {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth \advance\leftmargin\labelsep \usecounter{enumi}} \def\newblock{\hskip .11em plus .33em minus .07em} \sloppy\clubpenalty4000\widowpenalty4000 \sfcode`\.=1000\relax} \let\endthebibliography=\endlist \newif\if@restonecol \def\@idxitem{\par\hangindent 40pt} \def\subitem{\par\hangindent 40pt \hspace*{20pt}} \def\subsubitem{\par\hangindent 40pt \hspace*{30pt}} \def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax} %% %% FOOTNOTES %% \def\footnoterule{\hbox{}} \@addtoreset{footnote}{chapter} \long\def\@makefntext#1{\parindent 0pt\noindent {\hbox{}$^{\@thefnmark}$}#1} \setcounter{topnumber}{2} \def\topfraction{.7} \setcounter{bottomnumber}{1} \def\bottomfraction{.3} \setcounter{totalnumber}{3} \def\textfraction{.2} \def\floatpagefraction{.5} \setcounter{dbltopnumber}{2} \def\dbltopfraction{.7} \def\dblfloatpagefraction{.5} \long\def\@makecaption#1#2{ \vskip 7pt {\ixpt\ninsf{\ninsfb#1}\hspace*{6pt}#2\par\vspace*{12pt}}} % {\refsize\ninsf{\ninsfb#1}\hspace*{6pt}#2\par\vspace*{12pt}}} \newcounter{figure}[chapter] \def\thefigure{\thechapter.\@arabic\c@figure} \def\fps@figure{tbp} \def\ftype@figure{1} \def\ext@figure{lof} \def\fnum@figure{Figure \thefigure} \def\figure{\@float{figure}} \let\endfigure\end@float \@namedef{figure*}{\@dblfloat{figure}} \@namedef{endfigure*}{\end@dblfloat} \newcounter{table}[chapter] \def\thetable{\thechapter.\@arabic\c@table} \def\fps@table{tbp} \def\ftype@table{2} \def\ext@table{lot} \def\fnum@table{Table \thetable} \def\table{\@float{table}} \let\endtable\end@float \@namedef{table*}{\@dblfloat{table}} \@namedef{endtable*}{\end@dblfloat} %% %% TABLES %% \def\tabline{\noalign{\hrule height1pt}} \def\hline{\noalign{\hrule height.5pt}} %\def\maketitle{\begin{titlepage} % \let\footnotesize\small \let\footnoterule\relax \setcounter{page}{0} % \null % \vfil % \vskip 60pt \begin{center} % {\LARGE \@title \par} \vskip 3em {\large \lineskip .75em % \begin{tabular}[t]{c}\@author % \end{tabular}\par} % \vskip 1.5em {\large \@date \par} \end{center} \par %\@thanks %\vfil %\null %%\end{titlepage} %\setcounter{footnote}{0} \let\thanks\relax %\gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\maketitle\relax} %% %% RUNNING HEADS %% \mark{{}{}} \def\ps@headings{\let\@mkboth\markboth \def\@oddfoot{}\def\@evenfoot{} \def\@evenhead{\hskip-\margwidth\ninsf\thepage\hskip12pt\leftmark\hfil} \def\@oddhead{\hbox{}\ninsf\hfil\rightmark\hskip12pt\thepage}% \def\chaptermark##1{% \markboth {\@chapapp\ \thechapter\hskip6pt##1}{}} % jcs - TOOK OUT CHECK FOR SECNUMDEPTH and removed section number \def\sectionmark##1{% \markright{##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\chaptermark##1{}\def\sectionmark##1{}% \def\subsectionmark##1{}} \def\ps@plain{\let\@mkboth\@gobbletwo% \def\@oddhead{}\def\@oddfoot{\ninsf\hfil\thepage}% \def\@evenhead{}\def\@evenfoot{\ninsf\hskip-\margwidth\thepage\hfil}} \def\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} \@addtoreset{equation}{chapter} \def\theequation{\thechapter.\arabic{equation}} % adapted from fleqn.sty of 26-Sep-89, used to set equations flush left % on an indent rather than centered \newdimen\mathsep \mathsep=12pt \def\[{\relax\ifmmode\@badmath\else \topsep\mathsep \begin{trivlist} \@beginparpenalty\predisplaypenalty \@endparpenalty\postdisplaypenalty \item[]\leavevmode \hbox to\linewidth\bgroup$ \displaystyle \hskip\mathindent\bgroup\fi} \def\]{\relax\ifmmode \egroup $\hfil \egroup \end{trivlist}\else \@badmath \fi} \def\equation{\@beginparpenalty\predisplaypenalty \@endparpenalty\postdisplaypenalty \refstepcounter{equation} \topsep\mathsep\trivlist \item[]\leavevmode \hbox to\linewidth\bgroup $ \displaystyle \hskip\mathindent} \def\endequation{$\hfil \displaywidth\linewidth\@eqnnum\egroup \endtrivlist} \def\eqnarray{\stepcounter{equation}\let\@currentlabel=\theequation \global\@eqnswtrue \global\@eqcnt\z@\tabskip\mathindent\let\\=\@eqncr \abovedisplayskip\mathsep%\ifvmode\advance\abovedisplayskip\partopsep\fi \belowdisplayskip\abovedisplayskip \belowdisplayshortskip\abovedisplayskip \abovedisplayshortskip\abovedisplayskip $$\halign to \linewidth\bgroup\@eqnsel\hskip\@centering$\displaystyle\tabskip\z@ {##}$&\global\@eqcnt\@ne \hfil$\mskip\thickmuskip{##}\mskip\thickmuskip$\hfil &\global\@eqcnt\tw@ $\displaystyle{##}$\hfil \tabskip\@centering&\llap{##}\tabskip\z@\cr} \def\endeqnarray{\@@eqncr\egroup \global\advance\c@equation\m@ne$$\global\@ignoretrue } \newdimen\mathindent \mathindent = \parindent %% To set wide equations flush left in the marginal area, enclose %% the equations in \begin{widemath} \end{widemath} \newenvironment{widemath}{\mathindent=-\margwidth}{\mathindent=\parindent} %% %% FRONT MATTER DEFINITIONS %% \def\title#1\par{\thispagestyle{empty}\let\\=\par% \vspace*{-22pt}\par% \baselineskip=24pt% \twfrrm\uppercase{#1}\par} \def\subtitle#1\par{\let\\=\par% \vspace*{4pt}% \baselineskip=20pt% \egtnrm#1\vskip4pt} \def\edition#1\par{\fftnrm#1\par} \def\serieshead#1\par{\thispagestyle{empty}% \vspace*{158pt}% \baselineskip=11pt\ixpt\rm{\tenbf #1}% \par\vspace{7pt}} \def\editorhead#1\par{{\bf #1}\par} \def\author#1\par{\vspace*{10pt}% \baselineskip=14pt\twlrm#1\par} \def\affiliation#1\par{{\tensfi#1}\par} \def\logoboxes\par{% \begin{picture}(28,26)(0,0) \put(0,0){\framebox(28,26){}} \end{picture} \par} \def\publisher#1\par{\let\\=\par \xpt\sf #1} \def\coa#1{\newpage\thispagestyle{empty} \cleardoublepage \vspace*{-6pt}\chapter*{#1}% \markboth{#1}{#1}\vspace*{42pt}\text} \def\coindex#1{%\newpage\thispagestyle{empty} \vspace*{-6pt} %\chapter*{\hskip\margwidth#1}% \chapter*{#1} \addcontentsline{toc}{chapter}{Index} \markboth{#1}{#1} \vspace*{42pt} %\text JCS took this out. What is it supposed to be? } %% Note that \copyright is already defined, so we use {copy} environment \newenvironment{copyrt}{\let\\=\par\thispagestyle{empty}% \vspace*{161pt}\parindent=0pt \baselineskip=9pt\viiipt\rm}% {\pagebreak} \newenvironment{preface}{\thispagestyle{plain}% \noindent\parindent=24pt \vspace*{-24pt}\noindent\rm% {\tensfi PREFACE}\hspace{12pt}}% {\hspace*{\fill}\penalty-5\hspace*{9pt}\hspace*{\fill}% $\Box$\vspace{12pt}} \def\ps@indexstyle{\let\@mkboth\markboth \def\@oddfoot{}\def\@evenfoot{} \def\@evenhead{\hskip-\margwidth\ninsf\thepage\hskip12pt\leftmark\hfil} \def\@oddhead{\hbox{}\ninsf\hfil\rightmark\hskip12pt\thepage}% \def\chaptermark##1{\markboth {\@chapapp\ \thechapter\hskip6pt##1}{}}\def\sectionmark##1{\markright {\ifnum \c@secnumdepth >\z@ \thesection\hskip6pt##1\fi}}} \newenvironment{theindex}{% \coindex{Index}% \thispagestyle{plain}% \viiipt\rm\baselineskip=9pt\parindent=0pt% \setcounter{topnumber}{1} \raggedright\tolerance=10000\threecolumn%\twocolumn %two-col first page changed to three, 10-10-92, -dwd \begin{figure}[t] %we've inserted two floats as fudges in the second \rule{0pt}{165pt} %and third columns of the first index page (which \end{figure} %work together with topnumber=1 above). These can \begin{figure}[t] %be deleted if the LaTeX output routine is rewritten \rule{0pt}{165pt} %to accommodate multiple columns *without* starting \end{figure} %a new page each time the number of columns changes. }{% \if@firstcolumn \pagebreak\mbox{}\vfill\pagebreak\mbox{}\vfill\pagebreak \else \if@secondcolumn \pagebreak\mbox{}\vfill\pagebreak\else \vfill\pagebreak\fi\fi \par } \newbox\argbox \setbox\argbox=\hbox{} \def\indexentry#1#2{\hangindent=2em\hangafter=1\raggedright% \setbox\argbox=\hbox{\ignorespaces#2}% \ifdim\wd\argbox>0pt #1\ignorespaces, #2\par \else #1\par\fi} \def\indexsubentry#1#2{\hangindent=1em\hangafter=0% \raggedright#1, #2\par} \def\newalpha{\vskip9pt} \ps@headings \pagenumbering{arabic} \onecolumn \def\@outputpage{\begingroup\catcode`\ =10 \let\-\@dischyph \let\'\@acci \let\`\@accii \let\=\@acciii \if@specialpage \global\@specialpagefalse\@nameuse{ps@\@specialstyle}\fi \if@twoside \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot \let\@themargin\oddsidemargin \else \let\@thehead\@evenhead \let\@thefoot\@evenfoot \let\@themargin\evensidemargin \fi\fi \shipout \vbox{\normalsize \baselineskip\z@ \lineskip\z@ \let\par\@@par %% 15 Sep 87 \iftrimmarks\imagemarks \global\voffset=-.25in \global\hoffset=-.25in \else \global\voffset=0in \global\hoffset=0in \vbox to 0pt{}\fi% \vskip \topmargin \moveright\@themargin \vbox{\setbox\@tempboxa \vbox to\headheight{\vfil \hbox to\textwidth {\let\label\@gobble \let\index\@gobble \@thehead}} %% 22 Feb 87 \dp\@tempboxa\z@ \box\@tempboxa \vskip \headsep \box\@outputbox \baselineskip\footskip \hbox to\textwidth{\let\label\@gobble \let\index\@gobble %% 22 Feb 87 \@thefoot}}}\global\@colht\textheight \endgroup\stepcounter{page}\let\firstmark\botmark} \setcounter{secnumdepth}{0}