Advertisement
Guest User

uicthesi.cls

a guest
Mar 21st, 2019
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Latex 42.11 KB | None | 0 0
  1. % UICTHESI DOCUMENT CLASS
  2. %       for LaTeX version 2e 02/01/96
  3. %==============================================================================
  4. % \section{A \LaTeX\ Style File for Thesis Formatting at UIC}
  5. %
  6. % This is the thesis style file to be used with \LaTeX .
  7. % To use it please enter the line \verb+\documentstyle{uicthesi}+.
  8. % This file an adoptation of the Report Document style for
  9. % \LaTeX\ version 2.09 Copyright (C) 1988 by Leslie Lamport and
  10. % for use with the new Font Selection Scheme that accompanied \TeX\
  11. % version 3.1 at UIC.
  12. %
  13. % First Edition:
  14. % Paul Davis, UIC Computer Center, 31 December 1991.
  15. %
  16. % Changes to this file:
  17. %  (should be described here)
  18. %  (remember to update the filedate and fileversion as needed.)
  19. %
  20. % Changed Acknowledgment to allow plurals and changed Cited Literature
  21. %   to avoid Appendix continued page headers.
  22. % Paul Davis, UIC Computer Center, 27 February 1992.(a)
  23. %
  24. % Changed xnumberline to allow section,subsection,etc. headings to
  25. %   line up.
  26. % Paul Davis, UIC Computer Center, 3 March 1992.(b)
  27. %
  28. % Changed formatting for table of contents.
  29. % Paul Davis, UIC Computer Center, 12 March 1992.(c)
  30. %
  31. % Fixed footnote counter
  32. % Paul Davis, UIC Computer Center, 14 May 1992.(d)
  33. %
  34. % Fixed footnote counter again, now it really does count correctly.
  35. % Paul Davis, UIC Computer Center, 4 June 1992.(e)
  36. %
  37. % Changes \@pnumwidth and \@tocrmarg parameters to avoid line overruns
  38. %   in TOC, LOF, LOT.  Added a new conditional, \ifabseqnumbering,
  39. %   to create absolute numbering of equtions as an option
  40. % Paul Davis, UIC Computer Center, 25 June 1992.(f)
  41. %
  42. % Added spacing between cited literature sections (\itemsep)
  43. %   and deleted extra page before the Vita.(g)
  44. %
  45. % Made minor revisions to be consistent with the Graduate College
  46. % requirements.
  47. % Nathan Bliss, UIC Departent of Mathematics, 30 October 2014 (h)
  48. %
  49. %
  50. % This file has been updated to work under \LaTeX\ version 2e.
  51. % Wherever possible or necessary I have substituted the appropriate
  52. % \LaTeX\ version 2e command for the old commands that didn't work.
  53. % As I started this project with little prior knowledge there may
  54. % be bugs or other mistakes, so please feel free to add corrections
  55. % and enhancements as seen fit. I used the University of California
  56. % thesis style class ucthesis.cls and associated files as guides in
  57. % this effort. Those are available from any CTAN archive.
  58. %
  59. % Thomas McKibben, UIC Dept. of Physics, January 1996.
  60. %
  61.  
  62. % First, let us announce ourselves.
  63. \NeedsTeXFormat{LaTeX2e}
  64. \ProvidesClass{uicthesi}[1996/01/31 v1.2 University of Illinois at Chicago Thesis Class]
  65. %
  66. % BEGIN OPTIONS
  67. %
  68. \newcommand\@ptsize{}
  69. \newcommand\@draftmark{}
  70. \DeclareOption{11pt}{\renewcommand\@ptsize{1}}
  71. \DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
  72. \DeclareOption{twoside}{\@twosidetrue  \@mparswitchtrue}
  73. \DeclareOption{draft}{\renewcommand\@draftmark{1}}
  74. \DeclareOption{final}{\renewcommand\@draftmark{0}}
  75. \ExecuteOptions{11pt,oneside,final} % default options
  76.  
  77. %
  78. % END OPTIONS
  79. %
  80.  
  81. %
  82. % CHOOSING THE TYPE SIZE
  83. %
  84.  
  85. %  Two-side or one-side printing.
  86. %
  87. % \@twosidefalse               %  Default is one-sided printing.
  88. \def\ds@twoside{\@twosidetrue  %  Defines twoside option.
  89.            \@mparswitchtrue}   %    Marginpars go on outside of page.
  90.  
  91. % This is a tricky solution to a tough bootstrapping problem.  The
  92. % "draft" option requires the definition of the \ssp macro.  However,
  93. % the \ssp macro requires that the uct1?.clo file has been loaded.  This
  94. % loading is done by the \@options command which also invokes the
  95. % \ds@draft macro.  This was a cyclic dependency in the previous
  96. % version.  To break this dependency, I have made \ds@draft set a marker
  97. % which is later tested to determine whether to actually do the draft
  98. % mode actions.
  99. %
  100. % Ethan Munson (October 16, 1992)
  101.  
  102. % FMi 91/03/30: made twocolum.sty a file and twocolumn an option.
  103.  
  104. % RmS 91/10/15: moved actual reading of twocolumn.sty
  105. %               to the end of this file.
  106. \def\ds@twocolumn{\@twocolumntrue}
  107.  
  108. % The \ProcessOptions command causes the execution of every option command
  109. % FOO which is declared and for which the user typed the FOO option in his
  110. % \documentclass.  For every undeclared option BAR there will be a warning
  111. % message. (BBF 10/31/94)
  112.  
  113. \ProcessOptions
  114.  
  115.  
  116. % The type size option is handled by reading uicth11.clo
  117. % There is no alternates to the default 11 point style.
  118.  
  119. \input uicth11.clo\relax
  120.  
  121. %
  122.  
  123. %
  124. % BEGIN FRONT MATTER
  125. %
  126. %
  127.  
  128. % \section{Title Page}
  129. %
  130. % In this section we will define the  title page. The only macros that
  131. % were added are the \verb+\degree+ macro that will be used to print the
  132. % degree that the student is pursuing and the\verb+\pdegrees+ macro that
  133. % will be used to print the prior degrees earned by the author.
  134. % \verb+\date+ is redefined so that it only prints the year.
  135. % The title should not be uppercase.
  136. %    \begin{macrocode}
  137. \def\title#1{\gdef\@title{#1}}
  138. \def\author#1{
  139.   \gdef\@author{#1}
  140.   \gdef\@upauthor{#1}}
  141.  
  142. \def\@date{\the\year}
  143. \def\degree#1{\def\@degree{#1}}
  144. \def\pdegrees#1{\def\@pdegrees{#1}}
  145. \def\committee#1{\def\@committee{#1}}
  146.  
  147. \def\titlepage{
  148.   \newpage
  149.   \c@page\z@
  150. }
  151.  
  152. \def\endtitlepage{\newpage}
  153.  
  154. \def\maketitle{%
  155.    \begin{titlepage}
  156.      \centering
  157.      \thispagestyle{empty}
  158.       \c@page=1
  159.       \vbox to 0pt{%
  160.          \begin{center}
  161.            \large\transparentbold\@title
  162.         \end{center}\vss}
  163.      \vfill
  164.      \begin{singlespace}
  165.         BY
  166.         \vskip\baselineskip
  167.         \begin{tabular}{c}
  168.            \@upauthor\\\@pdegrees
  169.         \end{tabular}
  170.         \vfill
  171.         \vbox to 0pt{\vss
  172.            \begin{center}
  173.              
  174.               \vskip \baselineskip
  175.               THESIS\\\vspace{12pt}
  176.               Submitted as partial fulfillment of the requirements \\
  177.               for the degree of \@degree\\
  178.               in the Graduate College of the\\
  179.               University of Illinois at Chicago, \@date
  180.               \vskip 3\baselineskip
  181.               Chicago, Illinois
  182.            \end{center}}
  183.         \begin{flushleft}
  184.         Defense Committee:\\
  185.         \@committee
  186.        \end{flushleft}
  187.      \end{singlespace}
  188.   \end{titlepage}}
  189. %    \end{macrocode}
  190. %
  191. % \section{Chapters and Sections}
  192. % By default, \LaTeX\ will only number thru the Subsections.
  193. % Paragraphs and subparagraphs are not numbered so we will change
  194. % the value of secnumdepth to a high number like 10 (5 will do).
  195. %    \begin{macrocode}
  196. \c@secnumdepth=10  % or  \setcounter{secnumdepth}{10}
  197.  
  198. \def\@sect#1#2#3#4#5#6[#7]#8{
  199.   \ifnum #2>\c@secnumdepth
  200.      \def\@svsec{}
  201.   \else
  202.      \refstepcounter{#1}
  203.      \edef\@svsec{\csname the#1\endcsname\hskip 1em }
  204.   \fi
  205.   \@tempskipa #5\relax
  206.   \ifdim \@tempskipa>\z@
  207.      \begingroup
  208.         #6\relax
  209.         \@hangfrom{\hskip #3\relax\@svsec}
  210.         {\interlinepenalty \@M \underl #8 & }%
  211.       \endgroup
  212.       \csname #1mark\endcsname{#7}
  213.      \if@startedappendices
  214.      \else
  215.         \addcontentsline
  216.            {toc}
  217.            {#1}
  218.            {\ifnum #2>\c@secnumdepth
  219.            \else
  220.               \protect\numberline{\csname the#1\endcsname}
  221.            \fi
  222.         #7}
  223.      \fi
  224.   \else
  225.      \def\@svsechd{#6\hskip #3\@svsec #8\csname #1mark\endcsname
  226.          {#7}
  227.      \if@startedappendices
  228.      \else
  229.         \addcontentsline
  230.            {toc}
  231.            {#1}
  232.            {\ifnum #2>\c@secnumdepth
  233.            \else
  234.               \protect\numberline{\csname the#1\endcsname}
  235.            \fi
  236.            #7}}
  237.         \fi
  238.      \fi
  239.   \@xsect{#5}}
  240. %    \end{macrocode}
  241. %
  242.  
  243.  
  244. % \section{Preliminary Sections}
  245. % If this is to be a preliminary section, this macro causes the
  246. % name designated by \verb+\section@mark+ to be used as the section
  247. % title and to use that title in the heading of the continued pages
  248. % of this section.
  249. %    \begin{macrocode}
  250. \def\@makeprelimhead{
  251.   \def\headmark{\vbox{
  252.        \hbox to \textwidth{\bfseries\large\hfil\section@mark{}
  253.         (Continued) \hfil}}}
  254.   \pagestyle{continued}
  255.   \thispagestyle{pageonbottom}
  256.   \@makeschapterhead{\section@mark}
  257.   \par}
  258. %    \end{macrocode}
  259. %
  260. % \subsection{Copyright Page}
  261. %    \begin{macrocode}
  262. \def\copyrightpage{
  263.   \newpage\thispagestyle{empty}
  264.   \c@page=2
  265.   \vspace*{2.5in}
  266.   \begin{center}
  267.      Copyright by\\\@author\\\@date
  268.   \end{center}
  269.   \vfill\eject}
  270. %    \end{macrocode}
  271. %
  272. % \subsection{Dedication}
  273. %    \begin{macrocode}
  274. \def\dedication{
  275.   \clearpage
  276.   \typeout{DEDICATION}
  277.   \chapter*{}}
  278. %    \end{macrocode}
  279. %
  280. % \subsection{Acknowledgment(s)}
  281. %    \begin{macrocode}
  282. \def\acknowledgment{
  283.   \clearpage
  284.   \typeout{ACKNOWLEDGMENT.}
  285.   \def\section@mark{ACKNOWLEDGMENT}
  286.   \@makeprelimhead}
  287. \let\acknowledgement\acknowledgment
  288.  
  289. \def\acknowledgments{
  290.   \clearpage
  291.   \typeout{ACKNOWLEDGMENTS.}
  292.   \def\section@mark{ACKNOWLEDGMENTS}
  293.   \@makeprelimhead}
  294. \let\acknowledgements\acknowledgments
  295.  
  296. \def\contributionofauthors{
  297.   \clearpage
  298.   \typeout{CONTRIBUTION OF AUTHORS.}
  299.   \def\section@mark{CONTRIBUTION OF AUTHORS}
  300.   \@makeprelimhead}
  301. \let\contributionofauthors\contributionofauthors
  302.  
  303. \def\initials#1{
  304.   \par\vspace{50pt}
  305.   \leftline{\hskip 5.5in #1 \hfil}}
  306. %    \end{macrocode}
  307. %
  308. % \subsection{Preface}
  309. %    \begin{macrocode}
  310. \def\preface{
  311.   \clearpage
  312.   \typeout{PREFACE.}
  313.   \def\section@mark{PREFACE}
  314.   \@makeprelimhead}
  315. %    \end{macrocode}
  316. %
  317. % \subsection{Summary}
  318. %    \begin{macrocode}
  319. \def\summary{
  320.   \clearpage
  321.   \typeout{SUMMARY.}
  322.   \def\section@mark{SUMMARY}
  323.   \@makeprelimhead}
  324. %    \end{macrocode}
  325. %
  326. % \subsection{List of Abbreviations}
  327. %    \begin{macrocode}
  328. \def\listofabbreviations{
  329.   \clearpage
  330.   \typeout{LIST OF ABBREVIATIONS.}
  331.   \def\section@mark{LIST OF ABBREVIATIONS}
  332.   \@makeprelimhead}
  333. %    \end{macrocode}
  334. %
  335. % \subsection{Vita}
  336. %    \begin{macrocode}
  337. \def\vita{
  338.    
  339.   \typeout{VITA.}
  340.    %\addtocontents{toc}{\protect\addvspace{\baselineskip}}
  341.    %\addcontentsline{toc}{chapter}
  342.       %{\protect\xnumberline{\ }VITA}
  343.    \def\section@mark{VITA}
  344.   \@makeschapterhead{\section@mark}\par}
  345. %    \end{macrocode}
  346. %
  347. % \section{Table of Contents}
  348. % Here we define \verb+\tableofcontents+, we create a page style for
  349. % the table of contents called \verb+\toc+. First let's define the name
  350. % for the table of contents.
  351. %    \begin{macrocode}
  352. \def\tocname{TABLE OF CONTENTS}
  353. %    \end{macrocode}
  354. %
  355. % Increase the heading level that will be included in the table of contents.
  356. % The default is 2. We will set it equal to \verb+\c@secnumdepth+
  357. %    \begin{macrocode}
  358. \c@tocdepth=\c@secnumdepth
  359. %    \end{macrocode}
  360. %
  361. % We change the \verb+\tableofcontents macro+
  362. %    \begin{macrocode}
  363. \def\@pnumwidth{3em}
  364. \def\@tocrmarg {4em}
  365. \def\@dotsep{4.0}
  366.  
  367. \def\tableofcontents{
  368.   \clearpage
  369.   \typeout{TABLE OF CONTENTS.}
  370.   \def\headmark{\vbox{
  371.        \hbox to \textwidth{\bfseries\large\hfil TABLE OF CONTENTS
  372.           (Continued) \hfil}
  373.        \vspace{\innerheadskip}
  374.        \hbox to \textwidth{\bfseries\normalsize
  375.           \underbar{CHAPTER}\hfil\underbar{PAGE}}}}
  376.   \pagestyle{continued}
  377.   \table@of@cont
  378.   \newpage
  379.   }
  380.  
  381. \def\table@of@cont{%
  382.    \begin{singlespace}
  383.   \thispagestyle{pageonbottom}
  384.   \@makeschapterhead{TABLE OF CONTENTS}
  385.   \par
  386.   \hbox to \textwidth{\bfseries\underbar{CHAPTER}
  387.       \hfil\underbar{PAGE}}
  388.   \@starttoc{toc}
  389.   \end{singlespace}}
  390. %    \end{macrocode}
  391. %
  392. % \section{Figures and Tables}
  393. % \subsection{Float placement parameters}
  394. % See LaTeX manual for their definition.
  395. %    \begin{macrocode}
  396. \setcounter{topnumber}{2}
  397. \def\topfraction{.7}
  398. \setcounter{bottomnumber}{1}
  399. \def\bottomfraction{.3}
  400. \setcounter{totalnumber}{3}
  401. \def\textfraction{.2}
  402. \def\floatpagefraction{.5}
  403. \setcounter{dbltopnumber}{2}
  404. \def\dbltopfraction{.7}
  405. \def\dblfloatpagefraction{.5}
  406. %    \end{macrocode}
  407. % The caption for a table is forced to uppercase, but that for a figure
  408. % is left in mixed case.
  409. %    \begin{macrocode}
  410. \long\def\@caption#1[#2]#3{
  411.   \par
  412.   \addtocontents
  413.      {\csname ext@#1\endcsname}
  414.      {\protect\addvspace{\baselineskip}}
  415.    \if@isatable
  416. \addcontentsline%
  417. {\csname ext@#1\endcsname}{#1}{\protect\xnumberline%
  418. {\csname the#1\endcsname\hskip 2em}%
  419. {\expandafter{\uppercase{\ignorespaces #2}}}}
  420.   \else
  421.      \addcontentsline
  422. {\csname ext@#1\endcsname}{#1}{\protect\xnumberline%
  423. {\csname the#1\endcsname\hskip 2em}%
  424. {\ignorespaces #2}}
  425.   \fi
  426.   \begingroup
  427.      \@parboxrestore
  428.      \normalsize
  429.   \if@isatable
  430.      \@makecaption{\csname fnum@#1\endcsname}
  431.      {\expandafter{\uppercase{\ignorespaces #3}}}\par
  432.   \else
  433.      \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
  434.   \fi
  435.   \endgroup}
  436.  
  437. \long\def\@makecaption#1#2{
  438.   {\vspace{10pt}\centering
  439.   \if@isatable
  440.      \hbox to \hsize{\hfil #1 \hfil}
  441.      \vspace{\baselineskip}
  442.      \setbox\@tempboxa\hbox{#2}
  443.      \ifdim \wd\@tempboxa >\hsize
  444.          #2\par
  445.      \else
  446.          \hbox to \hsize{\hfil\box\@tempboxa\hfil}
  447.      \fi
  448.   \else
  449.      \setbox\@tempboxa\hbox{#1. #2}
  450.       \ifdim \wd\@tempboxa >\hsize   % IF longer than one line:
  451.           #1. #2\par                 %   THEN set as ordinary paragraph.
  452.       \else                          %   ELSE  center.
  453.           \hbox to\hsize{\hfil\box\@tempboxa\hfil}
  454.      \fi
  455.   \fi}}
  456.  
  457. \def\tablerule{
  458.   \kern-3\p@
  459.   \hrule width \columnwidth
  460.   \kern 2.6\p@}
  461. %    \end{macrocode}
  462. %
  463. % \subsection{Figure}
  464. %    \begin{macrocode}
  465. \newcounter{figure}
  466. \def\thefigure{\arabic{figure}}
  467. \def\p@figure{Figure~}
  468. \def\fps@figure{tbp}
  469. \def\ftype@figure{1}
  470. \def\ext@figure{lof}
  471. \def\fnum@figure{Figure~\thefigure}
  472. \def\figure{\@isatablefalse\@float{figure}}
  473. \let\endfigure\end@float
  474. \@namedef{figure*}{\@dblfloat{figure}}
  475. \@namedef{endfigure*}{\end@dblfloat}
  476. %    \end{macrocode}
  477. %
  478. % \subsection{Table}
  479. %    \begin{macrocode}
  480. \newcounter{table}
  481. \def\thetable{\Roman{table}}
  482. \def\p@table{Table~}
  483. \def\fps@table{tbp}
  484. \def\ftype@table{2}
  485. \def\ext@table{lot}
  486. \def\fnum@table{TABLE~\thetable}
  487. \def\table{\@isatabletrue\@float{table}}
  488. \let\endtable\end@float
  489. \@namedef{table*}{\@dblfloat{table}}
  490. \@namedef{endtable*}{\end@dblfloat}
  491. %    \end{macrocode}
  492. %
  493. % \section{Lists of Figures and Tables}
  494. % \subsection{List of Figures}
  495. %    \begin{macrocode}
  496. \def\listoffigures{
  497.   \clearpage
  498.   \typeout{LIST OF FIGURES.}
  499.   \def\headmark{\vbox{
  500.        \hbox to \textwidth{\large\bfseries\hfil LIST OF FIGURES
  501.           (Continued) \hfil}
  502.        \vspace{\innerheadskip}
  503.        \hbox to \textwidth{\normalsize\bfseries
  504.           \underbar{FIGURE}\hfil\underbar{PAGE}}}}
  505.   \pagestyle{continued}
  506.   \list@of@figs
  507.   \newpage
  508.   }
  509.  
  510. \def\list@of@figs{
  511.   \begin{singlespace}
  512.   \thispagestyle{pageonbottom}
  513.   \@makeschapterhead{LIST OF FIGURES}
  514.   \par
  515.   \hbox to \textwidth{\normalsize\bfseries
  516.      \underbar{FIGURE}\hfil\underbar{PAGE}}
  517.   \@starttoc{lof}
  518.   \end{singlespace}}
  519.  
  520. \def\l@figure{
  521.   \@dottedtocline{1}{2.5em}{3.5em}}
  522. %    \end{macrocode}
  523. %
  524. % \subsection{List of Tables}
  525. %    \begin{macrocode}
  526. \def\listoftables{
  527.   \clearpage
  528.   \typeout{LIST OF TABLES.}
  529.   \def\headmark{\vbox{
  530.        \hbox to \textwidth{\large\bfseries \hfil LIST OF TABLES
  531.           (Continued) \hfil}
  532.        \vspace{\innerheadskip}
  533.        \hbox to \textwidth{\normalsize\bfseries
  534.           \underbar{TABLE}\hfil\underbar{PAGE}}}}
  535.   \pagestyle{continued}
  536.   \list@of@tabs
  537.   \newpage
  538.   }
  539.  
  540. \def\list@of@tabs{
  541.   \begin{singlespace}
  542.   \thispagestyle{pageonbottom}
  543.   \@makeschapterhead{LIST OF TABLES}
  544.   \par
  545.   \hbox to \textwidth{\normalsize\bfseries
  546.       \underbar{TABLE}\hfil\underbar{PAGE}}
  547.   \@starttoc{lot}
  548.   \end{singlespace}}
  549.  
  550. \def\l@table{
  551.   \@dottedtocline{1}{3.5em}{4.0em}}
  552. %    \end{macrocode}
  553.  
  554. %
  555. % END FRONT MATTER
  556. %
  557.  
  558. %
  559. % BEGIN LISTS
  560. %
  561. % \section{Lists}
  562. % \subsection{Enumerate}
  563. %  Enumeration is done with four counters: enumi, enumii, enumiii
  564. %  and enumiv, where enumN controls the numbering of the Nth level
  565. %  enumeration.  The label is generated by the commands
  566. %  \verb+\labelenumi+ ... \verb+\labelenumiv+.
  567. % The expansion of \verb+\p@enumN\theenumN+ defines the
  568. %  output of a \verb+\ref+ command.
  569. %    \begin{macrocode}
  570.  
  571. \def\labelenumi{\theenumi.}
  572. \def\theenumi{\arabic{enumi}}
  573.  
  574. \def\labelenumii{(\theenumii)}
  575. \def\theenumii{\alph{enumii}}
  576. \def\p@enumii{\theenumi}
  577.  
  578. \def\labelenumiii{\theenumiii.}
  579. \def\theenumiii{\roman{enumiii}}
  580. \def\p@enumiii{\theenumi(\theenumii)}
  581.  
  582. \def\labelenumiv{\theenumiv.}
  583. \def\theenumiv{\Alph{enumiv}}
  584. \def\p@enumiv{\p@enumiii\theenumiii}
  585. %    \end{macrocode}
  586. %
  587. % \subsection{Itemize}
  588. % Itemization is controlled by four commands:
  589. % \verb+\labelitemi+,
  590. % \verb+\labelitemii+,
  591. % \verb+\labelitemiii+, and
  592. % \verb+\labelitemiv+,
  593. % which define the labels of the various
  594. % itemization levels.
  595. %    \begin{macrocode}
  596. \def\labelitemi{$\bullet$}
  597. \def\labelitemii{\bfseries --}
  598. \def\labelitemiii{$\ast$}
  599. \def\labelitemiv{$\cdot$}
  600. %    \end{macrocode}
  601. %
  602. % \subsection{Verse}
  603. %   The verse environment is defined by making clever use of the
  604. %   list environment's parameters.  The user types \verb+\\+
  605. %   to end a line.
  606. %   This is implemented by \verb+\let'in \\ equal \@centercr+.
  607. %    \begin{macrocode}
  608. \def\verse{\let\\=\@centercr
  609.  \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent
  610.          \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]}
  611. \let\endverse\endlist
  612. %    \end{macrocode}
  613. %
  614. % \subsection{Quotation}
  615. %   Fills lines and indents paragraph.
  616. %    \begin{macrocode}
  617. \def\quotation{\list{}{\listparindent 1.5em
  618.    \itemindent\listparindent
  619.    \rightmargin\leftmargin\parsep 0pt plus 1pt}\item[]}
  620. \let\endquotation=\endlist
  621. %    \end{macrocode}
  622. %
  623. % \subsection{Quote}
  624. % Same as quotation except no paragraph indentation,
  625. %    \begin{macrocode}
  626. \def\quote{\list{}{\rightmargin\leftmargin}\item[]}
  627. \let\endquote=\endlist
  628. %    \end{macrocode}
  629. %
  630. % \subsection{Description}
  631. %  To change the formatting of the label, you must redefine
  632. %  \verb+\descriptionlabel+.
  633. %    \begin{macrocode}
  634. \def\descriptionlabel#1{\hspace\labelsep \bfseries #1}
  635.  
  636. \def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin
  637.    \let\makelabel\descriptionlabel}}
  638.  
  639. \let\enddescription\endlist
  640.  
  641. \newdimen\descriptionmargin
  642. \descriptionmargin=3em
  643. %    \end{macrocode}
  644.  
  645. %
  646. % END LISTS
  647. %
  648.  
  649. %
  650. % BEGIN OTHER ENVIRONMENTS
  651. %
  652. % \section{Other Environments}
  653. % \subsection{Equation numbering}
  654. % Equations are numbered as two arabic numbers, separated by a period.
  655. % The first number, to the left of the period, is the chapter number.
  656. % The second number is a counter that is initialized to start at 1
  657. % at the beginning of each chapter and is incremented for each new
  658. % equation.  As an option, the command \verb+\abseqnumberingtrue+ will
  659. % allow absolute rather than chapter-relative numbering.
  660. %    \begin{macrocode}
  661. \def\p@equation{Equation~}
  662. \def\theequation{\ifabseqnumbering\arabic{equation}
  663. \else\thechapter.\arabic{equation}\fi}
  664. %    \end{macrocode}
  665. %
  666. % \subsection{Array and Tabular}
  667. %    \begin{macrocode}
  668. \arraycolsep 5pt     % Half the space between columns in an array environment.
  669. \tabcolsep 6pt       % Half the space between columns in a tabular environment.
  670. \arrayrulewidth .4pt % Width of rules in array and tabular environment.
  671. \doublerulesep 2pt   % Space between adjacent rules in array or tabular env.
  672. %    \end{macrocode}
  673. %
  674. % \subsection{Tabbing}
  675. %    \begin{macrocode}
  676. \tabbingsep \labelsep   % Space used by the \' command.  (See LaTeX manual.)
  677. %    \end{macrocode}
  678. %
  679. % \subsection{Minipage}
  680. %  \verb+\@minipagerestore+
  681. %  is called upon entry to a minipage environment to
  682. %  set up things that are to be handled differently inside a minipage
  683. %  environment. In the current styles, it does nothing.
  684. %
  685. % \verb+\skip\@mpfootins+  plays same role for footnotes in a minipage as
  686. % \verb+\skip\footins+ does for ordinary footnotes
  687. %    \begin{macrocode}
  688. \skip\@mpfootins = \skip\footins
  689. %    \end{macrocode}
  690. %
  691. % \subsection{Framebox}
  692. %    \begin{macrocode}
  693. \fboxsep = 3pt % Space left between box and text by \fbox and \framebox.
  694. \fboxrule = .4pt % Width of rules in box made by \fbox and \framebox.
  695. %    \end{macrocode}
  696. %
  697.  
  698. %
  699. % END OTHER ENVIRONMENTS
  700. %
  701.  
  702. %
  703. % BEGIN CHAPTERS AND SECTIONS
  704. %
  705. % \subsection{Chapter}
  706. % This changes the way chapter headings are printed. The size was reduced
  707. % and it is centered instead of left justified.
  708. % \verb+\@makechapterhead+ is used by \verb+\chapter+ and
  709. % \verb+\@makeschapterhead+ is used by \verb+\chapter*+.
  710. % The \verb+\chapter+ macro calls the \verb+\@chapter+ if \verb+\chapter+
  711. % was used and calls the \verb+\@schapter+ if \verb+\chapter*+ was used.
  712. %    \begin{macrocode}
  713. \newcounter{chapter}                % The counter
  714. \def\thechapter{\arabic{chapter}}   % Printed representation of counter.
  715.  
  716. \def\chapter{
  717.    \clearpage              % Starts new page.
  718.    \if@startedappendices
  719.        \pagestyle{appendixcontinued}
  720.       \if@multappendices
  721.          \def\headmark{\vbox{
  722.                {\hbox to \textwidth{\rmfamily\normalsize\hfil\thepage}}
  723.                \vspace{\innerheadskip}
  724.                {\hbox to \textwidth
  725.                   {\hfil{\bfseries\large Appendix
  726.                       \thechapter{} (Continued)}\hfil}}}}
  727.       \else
  728.          \def\headmark{\vbox{
  729.                {\hbox to \textwidth{\rmfamily\normalsize\hfil\thepage}}
  730.                \vspace{\innerheadskip}
  731.                {\hbox to \textwidth
  732.                   {\hfil{\bfseries\large APPENDIX (Continued)}\hfil}}}}
  733.       \fi
  734.       \thispagestyle{pageontop}
  735.   \else
  736.       \thispagestyle{pageonbottom}
  737.                            % Page number of chapter page is on bottom
  738.                            % except for appendix chapters, where it
  739.                            % appears on top.
  740.    \fi
  741.    \global\@topnum\z@      % Prevents figures from going at top of page.
  742.    \ifabseqnumbering\relax\else\setcounter{equation}{0}\fi
  743.   \secdef\@chapter\@schapter}
  744.  
  745. \def\@schapter#1{
  746.   \typeout{Unnumbered Chapter.}
  747.   \@makeschapterhead{#1}
  748.   \@afterheading}
  749.  
  750. \def\@chapter[#1]#2{
  751.   \ifnum \c@secnumdepth > \m@ne
  752.       \refstepcounter{chapter}
  753.       \typeout{\@chapapp\space\thechapter.} % Msg to term
  754.    \fi
  755.    \if@startedappendices
  756.       \if@multappendices
  757. \addcontentsline{toc}{chapter}%
  758. {\protect\xnumberline{\ }\ \ \ \ \ Appendix \thechapter}
  759.      \else
  760. \addtocontents{toc}{\protect\addvspace{\baselineskip}}
  761. \addcontentsline{toc}{chapter}%
  762. {\protect\xnumberline{\ }APPENDIX }
  763.      \fi
  764.   \else
  765. \addtocontents{toc}{\protect\addvspace{\baselineskip}}
  766. \addcontentsline{toc}{chapter}%
  767. {\protect\xnumberline{\thechapter\hskip 2em}\uppercase{#1}}
  768.    \fi
  769.    \if@startedbodyyet         % Then do nothing
  770.    \else
  771.        \pagestyle{pageontop}
  772.       \pagenumbering{arabic}
  773.       \@startedbodyyettrue
  774.   \fi
  775.   \@makechapterhead{#2}
  776.   \@afterheading}
  777. %    \end{macrocode}
  778. %
  779. % The section of the code for \verb+\@chapter+ between
  780. % \verb+\if@startedbodyyet+ and \verb+\fi+ was added so that when we call
  781. % \verb+\chapter+ for the first time in the body of the macro, the
  782. % page number will be reset to one and to roman.
  783. % The \verb+\numberline+ command takes as an argument the section number
  784. % and we need to change it. As defined in the
  785. % \verb+report.sty+ is set so that the section numbers align to the left
  786. % instead of the right.
  787. %    \begin{macrocode}
  788. \def\chaptermark#1{}
  789.  
  790. %    \end{macrocode}
  791. %
  792. % \subsubsection{Make Chapter Heading}
  793. % \paragraph{Numbered Chapter Heading}
  794. %    \begin{macrocode}
  795. \def\@makechapterhead#1{
  796.     {\parindent 0pt \centering
  797.      \ifnum \c@secnumdepth > \m@ne     % If > -1 then write it
  798.        \if@startedappendices
  799.           \if@multappendices
  800.              \large\transparentbold \@chapapp{} \thechapter\par
  801.          \else
  802.             \large\transparentbold APPENDIX\par
  803.          \fi
  804.       \else
  805.          \large\transparentbold \@chapapp{} \thechapter\par
  806.       \fi
  807.       \vspace{20pt}
  808.     \fi
  809.       \large\transparentbold\uppercase{#1}\par
  810.       \nobreak
  811.       \vspace{20pt}}}
  812. %    \end{macrocode}
  813. %
  814. % \paragraph{Unnumbered Chapter Heading}
  815. %    \begin{macrocode}
  816. \def\@makeschapterhead#1{
  817.    {\parindent 0pt \centering
  818.      \large\transparentbold\uppercase{#1}\par
  819.      \nobreak
  820.      \vspace{20pt}}}
  821. %    \end{macrocode}
  822. %
  823. % \subsubsection{Appendix Chapters}
  824. % \verb+\@chapapp+ is initially defined to be ``CHAPTER''.
  825. % The \verb+\appendix+ command redefines it to be ``Appendix''.
  826. %    \begin{macrocode}
  827. \def\@chapapp{CHAPTER}
  828.  
  829. \def\appendix{\par
  830.  \@startedappendicestrue
  831.  \setcounter{chapter}{0}
  832.  \setcounter{section}{0}
  833.  \def\@chapapp{Appendix}
  834.  \def\thechapter{\Alph{chapter}}}
  835. %    \end{macrocode}
  836. %
  837. % If there are multiple appendix chapters, they are to be preceeded by
  838. % a page with the word ``APPENDICES'' centered horizontally
  839. % and vertically.
  840. %    \begin{macrocode}
  841. \def\appendices{
  842.   \clearpage
  843.   \thispagestyle{pageonbottom}
  844.   \vspace*{3in}
  845.   \begin{center}
  846.   {\bfseries APPENDICES}
  847.   \end{center}
  848.   \@multappendicestrue
  849.   \addtocontents{toc}{\protect\addvspace{\baselineskip}}
  850.   \addcontentsline{toc}{chapter}
  851.      {\protect\xnumberline{\ }APPENDICES}
  852.   \vfill\eject}
  853. %    \end{macrocode}
  854. %
  855. % \subsubsection{Table of Contents entry for Chapter}
  856. % The entry in the table of contents does not include a dotted line.
  857. % This is a change to remedy that.
  858. %    \begin{macrocode}
  859. \def\numberline#1{\hbox to 0.75in{#1\hss}}
  860. \def\xnumberline#1{\hbox to\@tempdima{#1\hss}}
  861.  
  862. \def\l@chapter#1#2{
  863.   \if@startedappendices
  864.      \if@multappendices
  865.         \@dottedtocline
  866.            {0}            % appendix chapter like a section
  867.             {8.0em}        % indentation of the entry in toc
  868.             {3.2em}
  869.            {Appendix \thechapter}
  870.            {#2}
  871.      \else
  872.         \@dottedtocline
  873.            {0}            % appendix chapter like a section
  874.             {0.75in}        % indentation of the entry in toc
  875.             {0.75in}
  876.            {APPENDIX}
  877.            {#2}
  878.      \fi
  879.   \else
  880.      \@dottedtocline
  881.         {0}            % chapter is level zero used by tocdepth
  882.          {0.4in}        % indentation of the entry in toc
  883.          {0.35in}        % width of the chapter number
  884.          {\transparentbold #1} % title
  885.          {#2}           % Page number
  886.    \fi}
  887. %    \end{macrocode}
  888. %
  889. % \subsection{Section}
  890. % \subsubsection{Section Headings}
  891. %    \begin{macrocode}
  892. \newcounter{section}[chapter]                  % The counter
  893. \def\thesection {\thechapter.\arabic{section}} %Printed representation.
  894.  
  895. \def\section{
  896.     \@startsection{section}      % name of section and also name of
  897.                                   % the counter.
  898.                    {1}            % level, level 0 is chapter
  899.                                   % (for report.sty)
  900.                    {0 pt}         % Indentation from left margin.
  901.                                   % It can be negative -$>$ moved into
  902.                                   % the left margin.
  903.                    {2 pt plus 3 pt minus 4 pt}
  904.                                   % Skip before heading is printed.
  905.                                   % see expl. above for neg. val.
  906.                    {5 pt plus 1 pt minus 2 pt}
  907.                                   % After heading skip. If negative
  908.                                   % The text will be printed next
  909.                                   % to the heading text leaving
  910.                                   % the space (absolute value)
  911.                                   % indicated. Don't use
  912.                                   % zero as it will be printed on
  913.                                   % the same line without any space
  914.                                   % If negative remove stretch.
  915.                     {\normalsize\bfseries}}
  916. %    \end{macrocode}
  917. %
  918. % \subsubsection{Table of Contents entry for Section}
  919. %    \begin{macrocode}
  920. \def\l@section{
  921.   \@dottedtocline
  922.      {1}               % chapter is level zero used by tocdepth
  923.       {0.75in}           % indentation of the entry in toc=
  924.       {0.82in}}          % Indent + Space of l@chapter
  925. %    \end{macrocode}
  926. %
  927. % \subsection{Subsection}
  928. % \subsubsection{Subsection Headings}
  929. %    \begin{macrocode}
  930. \newcounter{subsection}[section]                    % The counter
  931. \def\thesubsection{\thesection.\arabic{subsection}} % printed form
  932.  
  933. \def\subsection{%
  934.      \@startsection{subsection}   % name of section and also name of
  935.                                   % the counter.
  936.                    {2}            % level, level 0 is chapter
  937.                                   % (for report.sty)
  938.                    {0 pt}         % Indentation from left margin.
  939.                                   % It can be negative -$>$ moved into
  940.                                   % the left margin.
  941.                    {2 pt plus 3 pt minus 4 pt}
  942.                                   % Skip before heading is printed.
  943.                                   % see expl. above for neg. val.
  944.                    {5 pt plus 1 pt minus 2 pt}
  945.                                   % After heading skip. If negative
  946.                                   % The text will be printed next
  947.                                   % to the heading text leaving
  948.                                   % the space (absolute value)
  949.                                   % indicated. Don't use
  950.                                   % zero as it will be printed on
  951.                                   % the same line without any space
  952.                                   % If negative remove stretch.
  953.                     {\normalsize\bfseries}}
  954. %    \end{macrocode}
  955. %
  956. % \subsubsection{Table of Contents entry for Subsection}
  957. %    \begin{macrocode}
  958. \def\l@subsection{
  959.   \@dottedtocline
  960.      {2}               % chapter is level zero used by tocdepth
  961.       {0.75in}           % indentation of the entry in toc=
  962.       {0.82in}}          % Indent + Space of l@section
  963. %    \end{macrocode}
  964. %
  965. % \subsection{Subsubection}
  966. % \subsubsection{Subsubsection Headings}
  967. %    \begin{macrocode}
  968. \newcounter{subsubsection}[subsection]        % The counter
  969. \def\thesubsubsection{\thesubsection .\arabic{subsubsection}}
  970.  
  971. \def\subsubsection{%
  972.      \@startsection{subsubsection} % name of section and also name of
  973.                                   % the counter.
  974.                    {3}            % level, level 0 is chapter
  975.                                   % (for report.sty)
  976.                    {0 pt}         % Indentation from left margin.
  977.                                   % It can be negative -$>$ moved into
  978.                                   % the left margin.
  979.                    {2 pt plus 3 pt minus 4 pt}
  980.                                   % Skip before heading is printed.
  981.                                   % see expl. above for neg. val.
  982.                    {5 pt plus 1 pt minus 2 pt}
  983.                                   % After heading skip. If negative
  984.                                   % The text will be printed next
  985.                                   % to the heading text leaving
  986.                                   % the space (absolute value)
  987.                                   % indicated. Don't use
  988.                                   % zero as it will be printed on
  989.                                   % the same line without any space
  990.                                   % If negative remove stretch.
  991.                     {\normalsize\bfseries}}
  992. %    \end{macrocode}
  993. %
  994. % \subsubsection{Table of Contents entry for Subsubsection}
  995. %    \begin{macrocode}
  996. \def\l@subsubsection{
  997.   \@dottedtocline
  998.      {3}               % chapter is level zero used by tocdepth
  999.       {0.75in}           % indentation of the entry in toc=
  1000.       {0.82in}}          % Indent + Space of l@subsection
  1001. %    \end{macrocode}
  1002. % \subsection{Paragraph}
  1003. % \subsubsection{Paragraph Headings}
  1004. %    \begin{macrocode}
  1005. \newcounter{paragraph}[subsubsection]       % The counter.
  1006. \def\theparagraph{\thesubsubsection.\arabic{paragraph}}
  1007.  
  1008. \def\paragraph{%
  1009.      \@startsection{paragraph}    % name of section and also name of
  1010.                                   % the counter.
  1011.                    {4}            % level, level 0 is chapter
  1012.                                   % (for report.sty)
  1013.                    {0 pt}         % Indentation from left margin.
  1014.                                   % It can be negative -$>$ moved into
  1015.                                   % the left margin.
  1016.                    {2 pt plus 3 pt minus 4 pt}
  1017.                                   % Skip before heading is printed.
  1018.                                   % see expl. above for neg. val.
  1019.                    {5 pt plus 1 pt minus 2 pt}
  1020.                                   % After heading skip. If negative
  1021.                                   % The text will be printed next
  1022.                                   % to the heading text leaving
  1023.                                   % the space (absolute value)
  1024.                                   % indicated. Don't use
  1025.                                   % zero as it will be printed on
  1026.                                   % the same line without any space
  1027.                                   % If negative remove stretch.
  1028.                     {\normalsize\bfseries}}
  1029. %    \end{macrocode}
  1030. %
  1031. % \subsubsection{Table of Contents entry for Paragraph}
  1032. %    \begin{macrocode}
  1033. \def\l@paragraph{
  1034.   \@dottedtocline
  1035.      {4}               % chapter is level zero used by tocdepth
  1036.       {0.75in}           % indentation of the entry in toc=
  1037.       {0.82in}}            % Indent + Space of l@subsubsection
  1038. %    \end{macrocode}
  1039. %
  1040. % \subsection{Subparagraph}
  1041. % \subsubsection{Subparagraph Headings}
  1042. %    \begin{macrocode}
  1043. \newcounter{subparagraph}[paragraph]        % The counter
  1044. \def\thesubparagraph{\theparagraph.\arabic{subparagraph}}
  1045.  
  1046. \def\subparagraph{%
  1047.      \@startsection{subparagraph} % name of section and also name of
  1048.                                   % the counter.
  1049.                    {5}            % level, level 0 is chapter
  1050.                                   % (for report.sty)
  1051.                    {0 pt}         % Indentation from left margin.
  1052.                                   % It can be negative -$>$ moved into
  1053.                                   % the left margin.
  1054.                    {2 pt plus 3 pt minus 4 pt}
  1055.                                   % Skip before heading is printed.
  1056.                                   % see expl. above for neg. val.
  1057.                    {5 pt plus 1 pt minus 2 pt}
  1058.                                   % After heading skip. If negative
  1059.                                   % The text will be printed next
  1060.                                   % to the heading text leaving
  1061.                                   % the space (absolute value)
  1062.                                   % indicated. Don't use
  1063.                                   % zero as it will be printed on
  1064.                                   % the same line without any space
  1065.                                   % If negative remove stretch.
  1066.                     {\normalsize\bfseries}}
  1067. %    \end{macrocode}
  1068. %
  1069. % \subsubsection{Table of Contents entry for Subparagraph}
  1070. %    \begin{macrocode}
  1071. \def\l@subparagraph{
  1072.   \@dottedtocline
  1073.      {5}               % chapter is level zero used by tocdepth
  1074.       {0.75in}           % indentation of the entry in toc=
  1075.       {0.82in}}          % Indent + Space of l@paragraph
  1076. %    \end{macrocode}
  1077. %
  1078.  
  1079. %
  1080. % END CHAPTERS AND SECTIONS
  1081. %
  1082.  
  1083. %
  1084. % BEGIN BIBLIOGRAPHY
  1085. %
  1086. %    \begin{macrocode}
  1087.    \def\bibforma{\@bibformatrue\bibliographystyle{forma}}
  1088.   \def\bibformb{\@bibformafalse\bibliographystyle{formb}}
  1089.   \def\bibformc{\@bibformafalse\bibliographystyle{formc}}
  1090.    
  1091.   \def\bibob{(}\def\bibcb{)}
  1092.   \def\roundbrackets{\def\bibob{(}\def\bibcb{)}}
  1093.   \def\squarebrackets{\def\bibob{[}\def\bibcb{]}}
  1094.   \def\nobrackets{\def\bibob{}\def\bibcb{}}
  1095.   \def\bibdatesep{,\ }
  1096.   \def\bibmultisep{;}
  1097.   \def\egrp/{\egroup}
  1098.    
  1099.    \def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
  1100.     \def\@citea{}\@cite{\@for\@citeb:=#2\do
  1101.       {\@citea\def\@citea{\bibmultisep\penalty\@m\ }\@ifundefined
  1102.          {b@\@citeb}{{\bfseries ?}\@warning
  1103.          {Citation `\@citeb' on page \thepage \space undefined}}%
  1104.    {\csname b@\@citeb\endcsname}}}{#1}}
  1105.    
  1106.   \def\@cite#1#2{{#1\if@tempswa \bibdatesep #2\fi}}
  1107.    
  1108.   \let\@internalcite\@citex
  1109.    
  1110.   \def\cite{\@ifnextchar[{\@tempswatrue\@namecite}%
  1111.        {\@tempswafalse\@namecite[]}}
  1112.    
  1113.   \def\@namecite[#1]#2{\bibob\def\citename##1{##1\bibdatesep}%
  1114.        \@internalcite[#1]{#2}\bibcb}
  1115.    
  1116.   \def\@lbibitem[#1]#2{\item[]\if@filesw
  1117.         { \def\protect##1{\string ##1\space}\immediate
  1118.           \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
  1119.    
  1120.   \def\bibliography#1{
  1121.      \clearpage
  1122.      \typeout{CITED LITERATURE.}
  1123.      \addtocontents{toc}{\protect\addvspace{\baselineskip}}
  1124.      \addcontentsline{toc}{chapter}
  1125.         {\protect\xnumberline{\ }CITED LITERATURE}
  1126.      \def\section@mark{CITED LITERATURE}
  1127.      \pagestyle{bibliographycontinued}
  1128.      \thispagestyle{pageonbottom}
  1129.      \@makeschapterhead{\section@mark}\par
  1130.      \begin{singlespace}
  1131.      \if@filesw\immediate\write\@auxout{\string\bibdata{#1}}\fi
  1132.      \@input{\jobname.bbl}
  1133.      \end{singlespace}}
  1134.    
  1135.   \def\thebibliography#1{
  1136.      \if@bibforma
  1137.         \list{\relax}
  1138.            {\setlength{\labelsep}{0em}
  1139.             \setlength{\itemsep}{12pt}
  1140.             \setlength{\itemindent}{-2em}
  1141.             \setlength{\leftmargin}{2em}}
  1142.      \else
  1143.         \list{\arabic{enumi}.}
  1144.            {\settowidth\labelwidth{#1.}\leftmargin\labelwidth
  1145.             \advance\leftmargin\labelsep
  1146.             \advance\leftmargin 0.5in
  1147.             \setlength{\itemsep}{12pt}
  1148.             \itemindent -0.5in
  1149.             \usecounter{enumi}}
  1150.      \fi
  1151.      \def\newblock{\hskip .11em plus .33em minus .07em}
  1152.      \sloppy\clubpenalty4000\widowpenalty4000
  1153.      \sfcode`\.=1000\relax
  1154.      }
  1155.    
  1156.   \def\endthebibliography{\endlist\pagestyle{pageontop}}
  1157.    %    \end{macrocode}
  1158. %
  1159. % \subsection{Indexing}
  1160. %    \begin{macrocode}
  1161. \newif\if@restonecol
  1162. \def\theindex{
  1163.   \@restonecoltrue
  1164.   \if@twocolumn\@restonecolfalse\fi
  1165.   \columnseprule \z@
  1166.   \columnsep 35pt
  1167.   \clearpage
  1168.   \begin{singlespace}
  1169.   \def\section@mark{Index}
  1170.   \twocolumn[\@makeprelimhead]
  1171.   \parindent\z@
  1172.   \parskip\z@ plus .3pt\relax
  1173.   \let\item\@idxitem}
  1174.  
  1175. \def\@idxitem{\par\hangindent 40pt}
  1176. \def\subitem{\par\hangindent 40pt \hspace*{20pt}}
  1177. \def\subsubitem{\par\hangindent 40pt \hspace*{30pt}}
  1178. \def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi}
  1179. \def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax}
  1180. %    \end{macrocode}
  1181.  
  1182. %
  1183. % END BIBLIOGRAPHY
  1184. %
  1185.  
  1186. % \subsection{Footnotes}
  1187. %    \begin{macrocode}
  1188. \def\footnoterule{
  1189.   \kern-3\p@
  1190.   \hrule width \columnwidth
  1191.   \kern 2.6\p@}
  1192.  
  1193. \@addtoreset{footnote}{chapter}
  1194.  
  1195. \long\def\@makefntext#1{\parindent 1em\noindent%
  1196. \hbox to 1.8em{\hss$^{\@thefnmark}$}#1}
  1197.  
  1198. \def\footnotesep{\baselineskip}
  1199.  
  1200. \def\footnote{\@ifnextchar[{\@xfootnote}%
  1201. {\@pagefn\xdef\@thefnmark{\thefootnote}\@footnotemark\@footnotetext}}
  1202.  
  1203. \def\footnotemark{%
  1204. \@ifnextchar[{\@xfootnotemark}%
  1205. {\@pagefn\xdef\@thefnmark{\thefootnote}\@footnotemark}}
  1206.  
  1207. \long\def\@footnotetext#1{%
  1208. \insert\footins{\singlespace\small%
  1209. \interlinepenalty\interfootnotelinepenalty%
  1210. \splittopskip\footnotesep%
  1211. \splitmaxdepth \dp\strutbox \floatingpenalty \@MM%
  1212. \hsize\columnwidth \@parboxrestore%
  1213. \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}%
  1214. \@makefntext{\rule{\z@}{\footnotesep}\ignorespaces#1\strut}%
  1215. \endsinglespace}}
  1216.  
  1217. \def\@pagefn{%
  1218. \stepcounter{fnref}%
  1219. \@ifnewpage{\setcounter{footnote}{1}}%
  1220. {\stepcounter{footnote}}}
  1221.  
  1222. \def\@ifnewpage#1#2{\if@filesw {\let\thepage\relax
  1223.   \def\protect{\noexpand\noexpand\noexpand}%
  1224. \xdef\@tempg{\write\@auxout{\string\fnref{\the\c@fnref}
  1225.   {\thepage}}}\@tempg
  1226. \@iflastfnsamepage{#2}{#1}\else#2
  1227.   \if@nobreak \ifvmode\nobreak\fi\fi\fi}}
  1228. %    \end{macrocode}
  1229. %
  1230. % make sure that we are writing to an aux file
  1231. % thec@page is a macro not a counter it is not missing a '\'
  1232. % If they are not writing to an aux file simply
  1233. % increase the counter throughout the documents
  1234. %    \begin{macrocode}
  1235. \def\fnref#1#2{\expandafter\gdef\csname fn@#1\endcsname{#2}}
  1236.  
  1237. \def\@iflastfnsamepage#1#2{%
  1238. \edef\@tempa{fn@\the\c@fnref}%
  1239. \edef\this@fnpage{\expandafter\csname\@tempa\endcsname}%
  1240. \@tempcnta=\c@fnref%
  1241. \advance\@tempcnta by -1%
  1242. \edef\@tempa{fn@\the\@tempcnta}%
  1243. \edef\last@fnpage{\expandafter\csname\@tempa\endcsname}%
  1244. \ifx\last@fnpage\this@fnpage #1%
  1245. \else #2%
  1246. \fi}
  1247.  
  1248. \fnref{0}{-1}
  1249.  
  1250. \def\@fnfinish{%
  1251. \def\fnref##1##2{%
  1252. \def\@tempa{##2}%
  1253. \edef\@tempb{\csname fn@##1\endcsname}
  1254. \if\@tempa\@tempb
  1255. \else
  1256. \if@nowarning\@warning{Some of the footnotes might have moved.
  1257.                                  Rerun to fix the output}
  1258. \@nowarningfalse\fi\fi}}
  1259. %    \end{macrocode}
  1260. %
  1261. % In order to be able to check if the footnotes have moved, and to print
  1262. % the warning, we need to redefine the \verb+\enddocument+ environment.
  1263. %    \begin{macrocode}
  1264. \let\fn@save@enddocument=\enddocument      % save a copy of enddocument
  1265. \def\enddocument{\@fnfinish\fn@save@enddocument}
  1266. %    \end{macrocode}
  1267. %
  1268. % Increase the space between last line of text and footnote rule.
  1269. %   This is a very untidy way to do it!
  1270. %    \begin{macrocode}
  1271. \skip\footins 20pt plus4pt minus4pt
  1272. %    \end{macrocode}
  1273. %
  1274. % Reset baselinestretch within footnotes and floats.
  1275. %    \begin{macrocode}
  1276. % \def\@xfloat#1[#2]{
  1277. %   \ifhmode \@bsphack\@floatpenalty -\@Mii
  1278. %   \else \@floatpenalty-\@Miii\fi
  1279. %   \def\@captype{#1}
  1280. %   \ifinner
  1281. %       \@parmoderr\@floatpenalty\z@
  1282. %   \else\@next\@currbox\@freelist{\@tempcnta\csname ftype@#1\endcsname
  1283. %       \multiply\@tempcnta\@xxxii\advance\@tempcnta\sixt@@n
  1284. %          \@tfor \@tempa :=#2\do
  1285. %                      {\if\@tempa h\advance\@tempcnta \@ne\fi
  1286. %                       \if\@tempa t\advance\@tempcnta \tw@\fi
  1287. %                       \if\@tempa b\advance\@tempcnta 4\relax\fi
  1288. %                       \if\@tempa p\advance\@tempcnta 8\relax\fi}
  1289. %          \global\count\@currbox\@tempcnta}\@fltovf\fi
  1290. %   \global\setbox\@currbox\vbox\bgroup
  1291. %   \def\baselinestretch{1}\small\normalsize
  1292. %   \hsize\columnwidth \@parboxrestore}
  1293.  %   \end{macrocode}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement