oclh_doc.cls 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620
  1. %% based on extarticle.cls
  2. \NeedsTeXFormat{LaTeX2e}[1995/12/01]
  3. \ProvidesClass{oclh_doc}[Non Standard LaTeX document class]
  4. \newcommand\@ptsize{}
  5. \newif\if@restonecol
  6. \newif\if@titlepage
  7. \@titlepagefalse
  8. \DeclareOption{a4paper}
  9. {\setlength\paperheight {297mm}%
  10. \setlength\paperwidth {210mm}}
  11. \DeclareOption{a5paper}
  12. {\setlength\paperheight {210mm}%
  13. \setlength\paperwidth {148mm}}
  14. \DeclareOption{b5paper}
  15. {\setlength\paperheight {250mm}%
  16. \setlength\paperwidth {176mm}}
  17. \DeclareOption{letterpaper}
  18. {\setlength\paperheight {11in}%
  19. \setlength\paperwidth {8.5in}}
  20. \DeclareOption{legalpaper}
  21. {\setlength\paperheight {14in}%
  22. \setlength\paperwidth {8.5in}}
  23. \DeclareOption{executivepaper}
  24. {\setlength\paperheight {10.5in}%
  25. \setlength\paperwidth {7.25in}}
  26. \DeclareOption{landscape}
  27. {\setlength\@tempdima {\paperheight}%
  28. \setlength\paperheight {\paperwidth}%
  29. \setlength\paperwidth {\@tempdima}}
  30. \DeclareOption{8pt}{\renewcommand\@ptsize{8}}
  31. \DeclareOption{9pt}{\renewcommand\@ptsize{9}}
  32. \DeclareOption{10pt}{\renewcommand\@ptsize{10}}
  33. \DeclareOption{11pt}{\renewcommand\@ptsize{11}}
  34. \DeclareOption{12pt}{\renewcommand\@ptsize{12}}
  35. \DeclareOption{14pt}{\renewcommand\@ptsize{14}}
  36. \DeclareOption{17pt}{\renewcommand\@ptsize{17}}
  37. \DeclareOption{20pt}{\renewcommand\@ptsize{20}}
  38. \DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
  39. \DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
  40. \DeclareOption{draft}{\setlength\overfullrule{5pt}}
  41. \DeclareOption{final}{\setlength\overfullrule{0pt}}
  42. \DeclareOption{titlepage}{\@titlepagetrue}
  43. \DeclareOption{notitlepage}{\@titlepagefalse}
  44. \DeclareOption{onecolumn}{\@twocolumnfalse}
  45. \DeclareOption{twocolumn}{\@twocolumntrue}
  46. \DeclareOption{leqno}{\input{leqno.clo}}
  47. \DeclareOption{fleqn}{\input{fleqn.clo}}
  48. \DeclareOption{openbib}{%
  49. \AtEndOfPackage{%
  50. \renewcommand\@openbib@code{%
  51. \advance\leftmargin\bibindent
  52. \itemindent -\bibindent
  53. \listparindent \itemindent
  54. \parsep \z@
  55. }%
  56. \renewcommand\newblock{\par}}%
  57. }
  58. \ExecuteOptions{a4paper,12pt,oneside,onecolumn,final}
  59. \ProcessOptions
  60. \def\EC@family#1#2#3#4#5{%
  61. \DeclareFontShape{#1}{#2}{#3}{#4}%
  62. {<5><6><7><8><9><10><10.95><12><14.4>%
  63. <17.28><20.74><24.88><29.86><35.83><42.99><51.59>genb*#5}{}}
  64. \EC@family{T1}{cmr}{m}{n}{ecrm}
  65. \EC@family{T1}{cmr}{m}{sl}{ecsl}
  66. \EC@family{T1}{cmr}{m}{it}{ecti}
  67. \EC@family{T1}{cmr}{m}{sc}{eccc}
  68. \EC@family{T1}{cmr}{bx}{n}{ecbx}
  69. \EC@family{T1}{cmr}{b}{n}{ecrb}
  70. \EC@family{T1}{cmr}{bx}{it}{ecbi}
  71. \EC@family{T1}{cmr}{bx}{sl}{ecbl}
  72. \EC@family{T1}{cmr}{bx}{sc}{ecxc}
  73. \EC@family{T1}{cmr}{m}{ui}{ecui}
  74. \DeclareFontShape{OT1}{cmr}{m}{n}%
  75. {<5><6><7><8><9><10><12>gen*cmr%
  76. <10.95>cmr10%
  77. <14.4>cmr12%
  78. <17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmr17}{}
  79. \DeclareFontShape{OT1}{cmr}{m}{sl}%
  80. {<5><6><7>cmsl8%
  81. <8><9>gen*cmsl%
  82. <10><10.95>cmsl10%
  83. <12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmsl12%
  84. }{}
  85. \DeclareFontShape{OT1}{cmr}{m}{it}%
  86. {<5><6><7>cmti7%
  87. <8>cmti8%
  88. <9>cmti9%
  89. <10><10.95>cmti10%
  90. <12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmti12%
  91. }{}
  92. \DeclareFontShape{OT1}{cmr}{m}{sc}%
  93. {<5><6><7><8><9><10><10.95><12>%
  94. <14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmcsc10%
  95. }{}
  96. \DeclareFontShape{OT1}{cmr}{m}{ui}
  97. {<5><6><7><8><9><10><10.95><12>%
  98. <14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmu10%
  99. }{}
  100. \DeclareFontShape{OT1}{cmr}{b}{n}
  101. {<5><6><7><8><9><10><10.95><12>%
  102. <14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmb10%
  103. }{}
  104. \DeclareFontShape{OT1}{cmr}{bx}{n}
  105. {<5><6><7><8><9>gen*cmbx%
  106. <10><10.95>cmbx10%
  107. <12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmbx12%
  108. }{}
  109. \DeclareFontShape{OT1}{cmr}{bx}{sl}
  110. {<5><6><7><8><9>%
  111. <10><10.95><12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmbxsl10%
  112. }{}
  113. \DeclareFontShape{OT1}{cmr}{bx}{it}
  114. {<5><6><7><8><9>%
  115. <10><10.95><12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmbxti10%
  116. }{}
  117. \input{size\@ptsize.clo}
  118. \RequirePackage{exscale}
  119. \setlength\lineskip{1\p@}
  120. \setlength\normallineskip{1\p@}
  121. \renewcommand\baselinestretch{}
  122. \setlength\parskip{0\p@ \@plus \p@}
  123. \@lowpenalty 51
  124. \@medpenalty 151
  125. \@highpenalty 301
  126. \setcounter{topnumber}{2}
  127. \renewcommand\topfraction{.7}
  128. \setcounter{bottomnumber}{1}
  129. \renewcommand\bottomfraction{.3}
  130. \setcounter{totalnumber}{3}
  131. \renewcommand\textfraction{.2}
  132. \renewcommand\floatpagefraction{.5}
  133. \setcounter{dbltopnumber}{2}
  134. \renewcommand\dbltopfraction{.7}
  135. \renewcommand\dblfloatpagefraction{.5}
  136. \if@twoside
  137. \def\ps@headings{%
  138. \let\@oddfoot\@empty\let\@evenfoot\@empty
  139. \def\@evenhead{\thepage\hfil\slshape\leftmark}%
  140. \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
  141. \let\@mkboth\markboth
  142. \def\sectionmark##1{%
  143. \markboth {\MakeUppercase{%
  144. \ifnum \c@secnumdepth >\z@
  145. \thesection\quad
  146. \fi
  147. ##1}}{}}%
  148. \def\subsectionmark##1{%
  149. \markright {%
  150. \ifnum \c@secnumdepth >\@ne
  151. \thesubsection\quad
  152. \fi
  153. ##1}}}
  154. \else
  155. \def\ps@headings{%
  156. \let\@oddfoot\@empty
  157. \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
  158. \let\@mkboth\markboth
  159. \def\sectionmark##1{%
  160. \markright {\MakeUppercase{%
  161. \ifnum \c@secnumdepth >\m@ne
  162. \thesection\quad
  163. \fi
  164. ##1}}}}
  165. \fi
  166. \def\ps@myheadings{%
  167. \let\@oddfoot\@empty\let\@evenfoot\@empty
  168. \def\@evenhead{\thepage\hfil\slshape\leftmark}%
  169. \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
  170. \let\@mkboth\@gobbletwo
  171. \let\sectionmark\@gobble
  172. \let\subsectionmark\@gobble
  173. }
  174. \if@titlepage
  175. \newcommand\maketitle{\begin{titlepage}%
  176. \let\footnotesize\small
  177. \let\footnoterule\relax
  178. \let \footnote \thanks
  179. \null\vfil
  180. \vskip 60\p@
  181. \begin{center}%
  182. {\LARGE \@title \par}%
  183. \vskip 3em%
  184. {\large
  185. \lineskip .75em%
  186. \begin{tabular}[t]{c}%
  187. \@author
  188. \end{tabular}\par}%
  189. \vskip 1.5em%
  190. {\large \@date \par}% % Set date in \large size.
  191. \end{center}\par
  192. \@thanks
  193. \vfil\null
  194. \end{titlepage}%
  195. \setcounter{footnote}{0}%
  196. \global\let\thanks\relax
  197. \global\let\maketitle\relax
  198. \global\let\@thanks\@empty
  199. \global\let\@author\@empty
  200. \global\let\@date\@empty
  201. \global\let\@title\@empty
  202. \global\let\title\relax
  203. \global\let\author\relax
  204. \global\let\date\relax
  205. \global\let\and\relax
  206. }
  207. \else
  208. \newcommand\maketitle{\par
  209. \begingroup
  210. \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
  211. \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
  212. \long\def\@makefntext##1{\parindent 1em\noindent
  213. \hb@xt@1.8em{%
  214. \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
  215. \if@twocolumn
  216. \ifnum \col@number=\@ne
  217. \@maketitle
  218. \else
  219. \twocolumn[\@maketitle]%
  220. \fi
  221. \else
  222. \newpage
  223. \global\@topnum\z@ % Prevents figures from going at top of page.
  224. \@maketitle
  225. \fi
  226. \thispagestyle{fancy}\@thanks
  227. \endgroup
  228. \setcounter{footnote}{0}%
  229. \global\let\thanks\relax
  230. \global\let\maketitle\relax
  231. \global\let\@maketitle\relax
  232. \global\let\@thanks\@empty
  233. \global\let\@author\@empty
  234. \global\let\@date\@empty
  235. \global\let\@title\@empty
  236. \global\let\title\relax
  237. \global\let\author\relax
  238. \global\let\date\relax
  239. \global\let\and\relax
  240. }
  241. \def\@maketitle{%
  242. \newpage
  243. \null
  244. \vskip 2em%
  245. \begin{center}%
  246. \let \footnote \thanks
  247. {\LARGE \@title \par}%
  248. \vskip 1.5em%
  249. {\large
  250. \lineskip .5em%
  251. \begin{tabular}[t]{c}%
  252. \@author
  253. \end{tabular}\par}%
  254. \vskip 1em%
  255. {\large \@date}%
  256. \end{center}%
  257. \par
  258. \vskip 1.5em}
  259. \fi
  260. \setcounter{secnumdepth}{3}
  261. \newcounter {part}
  262. \newcounter {section}
  263. \newcounter {subsection}[section]
  264. \newcounter {subsubsection}[subsection]
  265. \newcounter {paragraph}[subsubsection]
  266. \newcounter {subparagraph}[paragraph]
  267. \renewcommand\thepart {\@Roman\c@part}
  268. \renewcommand\thesection {\@arabic\c@section}
  269. \renewcommand\thesubsection {\thesection.\@arabic\c@subsection}
  270. \renewcommand\thesubsubsection{\thesubsection .\@arabic\c@subsubsection}
  271. \renewcommand\theparagraph {\thesubsubsection.\@arabic\c@paragraph}
  272. \renewcommand\thesubparagraph {\theparagraph.\@arabic\c@subparagraph}
  273. \newcommand\part{%
  274. \if@noskipsec \leavevmode \fi\par
  275. \addvspace{4ex}%
  276. \@afterindentfalse
  277. \secdef\@part\@spart}
  278. \def\@part[#1]#2{%
  279. \ifnum \c@secnumdepth >\m@ne
  280. \refstepcounter{part}%
  281. \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
  282. \else
  283. \addcontentsline{toc}{part}{#1}%
  284. \fi
  285. {\parindent \z@ \raggedright
  286. \interlinepenalty \@M
  287. \normalfont
  288. \ifnum \c@secnumdepth >\m@ne
  289. \Large\bfseries \partname~\thepart
  290. \par\nobreak
  291. \fi
  292. \huge \bfseries #2%
  293. \markboth{}{}\par}%
  294. \nobreak
  295. \vskip 3ex
  296. \@afterheading}
  297. \def\@spart#1{%
  298. {\parindent \z@ \raggedright
  299. \interlinepenalty \@M
  300. \normalfont
  301. \huge \bfseries #1\par}%
  302. \nobreak
  303. \vskip 3ex
  304. \@afterheading}
  305. \newcommand\section{\@startsection {section}{1}{\z@}%
  306. {-3.5ex \@plus -1ex \@minus -.2ex}%
  307. {2.3ex \@plus.2ex}%
  308. {\normalfont\Large\bfseries}}
  309. \newcommand\subsection{\@startsection{subsection}{2}{\z@}%
  310. {-3.25ex\@plus -1ex \@minus -.2ex}%
  311. {1.5ex \@plus .2ex}%
  312. {\normalfont\large\bfseries}}
  313. \newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
  314. {-3.25ex\@plus -1ex \@minus -.2ex}%
  315. {1.5ex \@plus .2ex}%
  316. {\normalfont\normalsize\bfseries}}
  317. \newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
  318. {3.25ex \@plus1ex \@minus.2ex}%
  319. {-1em}%
  320. {\normalfont\normalsize\bfseries}}
  321. \newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
  322. {3.25ex \@plus1ex \@minus .2ex}%
  323. {-1em}%
  324. {\normalfont\normalsize\bfseries}}
  325. \if@twocolumn
  326. \setlength\leftmargini {2em}
  327. \else
  328. \setlength\leftmargini {2.5em}
  329. \fi
  330. \leftmargin \leftmargini
  331. \setlength\leftmarginii {2.2em}
  332. \setlength\leftmarginiii {1.87em}
  333. \setlength\leftmarginiv {1.7em}
  334. \if@twocolumn
  335. \setlength\leftmarginv {.5em}
  336. \setlength\leftmarginvi {.5em}
  337. \else
  338. \setlength\leftmarginv {1em}
  339. \setlength\leftmarginvi {1em}
  340. \fi
  341. \setlength \labelsep {.5em}
  342. \setlength \labelwidth{\leftmargini}
  343. \addtolength\labelwidth{-\labelsep}
  344. \@beginparpenalty -\@lowpenalty
  345. \@endparpenalty -\@lowpenalty
  346. \@itempenalty -\@lowpenalty
  347. \renewcommand\theenumi{\@arabic\c@enumi}
  348. \renewcommand\theenumii{\@alph\c@enumii}
  349. \renewcommand\theenumiii{\@roman\c@enumiii}
  350. \renewcommand\theenumiv{\@Alph\c@enumiv}
  351. \newcommand\labelenumi{\theenumi.}
  352. \newcommand\labelenumii{(\theenumii)}
  353. \newcommand\labelenumiii{\theenumiii.}
  354. \newcommand\labelenumiv{\theenumiv.}
  355. \renewcommand\p@enumii{\theenumi}
  356. \renewcommand\p@enumiii{\theenumi(\theenumii)}
  357. \renewcommand\p@enumiv{\p@enumiii\theenumiii}
  358. \newcommand\labelitemi{\textbullet}
  359. \newcommand\labelitemii{\normalfont\bfseries \textendash}
  360. \newcommand\labelitemiii{\textasteriskcentered}
  361. \newcommand\labelitemiv{\textperiodcentered}
  362. \newenvironment{description}
  363. {\list{}{\labelwidth\z@ \itemindent-\leftmargin
  364. \let\makelabel\descriptionlabel}}
  365. {\endlist}
  366. \newcommand*\descriptionlabel[1]{\hspace\labelsep
  367. \normalfont\bfseries #1}
  368. \if@titlepage
  369. \newenvironment{abstract}{%
  370. \titlepage
  371. \null\vfil
  372. \@beginparpenalty\@lowpenalty
  373. \begin{center}%
  374. \bfseries \abstractname
  375. \@endparpenalty\@M
  376. \end{center}}%
  377. {\par\vfil\null\endtitlepage}
  378. \else
  379. \newenvironment{abstract}{%
  380. \if@twocolumn
  381. \section*{\abstractname}%
  382. \else
  383. \small
  384. \begin{center}%
  385. {\bfseries \abstractname\vspace{-.5em}\vspace{\z@}}%
  386. \end{center}%
  387. \quotation
  388. \fi}
  389. {\if@twocolumn\else\endquotation\fi}
  390. \fi
  391. \newenvironment{verse}
  392. {\let\\\@centercr
  393. \list{}{\itemsep \z@
  394. \itemindent -1.5em%
  395. \listparindent\itemindent
  396. \rightmargin \leftmargin
  397. \advance\leftmargin 1.5em}%
  398. \item\relax}
  399. {\endlist}
  400. \newenvironment{quotation}
  401. {\list{}{\listparindent 1.5em%
  402. \itemindent \listparindent
  403. \rightmargin \leftmargin
  404. \parsep \z@ \@plus\p@}%
  405. \item\relax}
  406. {\endlist}
  407. \newenvironment{quote}
  408. {\list{}{\rightmargin\leftmargin}%
  409. \item\relax}
  410. {\endlist}
  411. \newenvironment{titlepage}
  412. {%
  413. \if@twocolumn
  414. \@restonecoltrue\onecolumn
  415. \else
  416. \@restonecolfalse\newpage
  417. \fi
  418. \thispagestyle{empty}%
  419. \setcounter{page}\@ne
  420. }%
  421. {\if@restonecol\twocolumn \else \newpage \fi
  422. \if@twoside\else
  423. \setcounter{page}\@ne
  424. \fi
  425. }
  426. \newcommand\appendix{\par
  427. \setcounter{section}{0}%
  428. \setcounter{subsection}{0}%
  429. \gdef\thesection{\@Alph\c@section}}
  430. \setlength\arraycolsep{5\p@}
  431. \setlength\tabcolsep{6\p@}
  432. \setlength\arrayrulewidth{.4\p@}
  433. \setlength\doublerulesep{2\p@}
  434. \setlength\tabbingsep{\labelsep}
  435. \skip\@mpfootins = \skip\footins
  436. \setlength\fboxsep{3\p@}
  437. \setlength\fboxrule{.4\p@}
  438. \renewcommand\theequation{\@arabic\c@equation}
  439. \newcounter{figure}
  440. \gdef\thefigure{\@arabic\c@figure}
  441. \def\fps@figure{tbp}
  442. \def\ftype@figure{1}
  443. \def\ext@figure{lof}
  444. \def\fnum@figure{\figurename~\thefigure}
  445. \newenvironment{figure}
  446. {\@float{figure}}
  447. {\end@float}
  448. \newenvironment{figure*}
  449. {\@dblfloat{figure}}
  450. {\end@dblfloat}
  451. \newcounter{table}
  452. \gdef\thetable{\@arabic\c@table}
  453. \def\fps@table{tbp}
  454. \def\ftype@table{2}
  455. \def\ext@table{lot}
  456. \def\fnum@table{\tablename~\thetable}
  457. \newenvironment{table}
  458. {\@float{table}}
  459. {\end@float}
  460. \newenvironment{table*}
  461. {\@dblfloat{table}}
  462. {\end@dblfloat}
  463. \newlength\abovecaptionskip
  464. \newlength\belowcaptionskip
  465. \setlength\abovecaptionskip{10\p@}
  466. \setlength\belowcaptionskip{0\p@}
  467. \long\def\@makecaption#1#2{%
  468. \vskip\abovecaptionskip
  469. \sbox\@tempboxa{#1: #2}%
  470. \ifdim \wd\@tempboxa >\hsize
  471. #1: #2\par
  472. \else
  473. \global \@minipagefalse
  474. \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
  475. \fi
  476. \vskip\belowcaptionskip}
  477. \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
  478. \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
  479. \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
  480. \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
  481. \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
  482. \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
  483. \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
  484. \DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
  485. \DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
  486. \newcommand\@pnumwidth{1.55em}
  487. \newcommand\@tocrmarg{2.55em}
  488. \newcommand\@dotsep{4.5}
  489. \setcounter{tocdepth}{3}
  490. \newcommand\tableofcontents{%
  491. \section*{\contentsname
  492. \@mkboth{%
  493. \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
  494. \@starttoc{toc}%
  495. }
  496. \newcommand*\l@part[2]{%
  497. \ifnum \c@tocdepth >-2\relax
  498. \addpenalty\@secpenalty
  499. \addvspace{2.25em \@plus\p@}%
  500. \begingroup
  501. \setlength\@tempdima{3em}%
  502. \parindent \z@ \rightskip \@pnumwidth
  503. \parfillskip -\@pnumwidth
  504. {\leavevmode
  505. \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par
  506. \nobreak
  507. \endgroup
  508. \fi}
  509. \newcommand*\l@section[2]{%
  510. \ifnum \c@tocdepth >\z@
  511. \addpenalty\@secpenalty
  512. \addvspace{1.0em \@plus\p@}%
  513. \setlength\@tempdima{1.5em}%
  514. \begingroup
  515. \parindent \z@ \rightskip \@pnumwidth
  516. \parfillskip -\@pnumwidth
  517. \leavevmode \bfseries
  518. \advance\leftskip\@tempdima
  519. \hskip -\leftskip
  520. #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
  521. \endgroup
  522. \fi}
  523. \newcommand*\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}}
  524. \newcommand*\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
  525. \newcommand*\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}}
  526. \newcommand*\l@subparagraph{\@dottedtocline{5}{10em}{5em}}
  527. \newcommand\listoffigures{%
  528. \section*{\listfigurename
  529. \@mkboth{\MakeUppercase\listfigurename}%
  530. {\MakeUppercase\listfigurename}}%
  531. \@starttoc{lof}%
  532. }
  533. \newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
  534. \newcommand\listoftables{%
  535. \section*{\listtablename
  536. \@mkboth{%
  537. \MakeUppercase\listtablename}{\MakeUppercase\listtablename}}%
  538. \@starttoc{lot}%
  539. }
  540. \let\l@table\l@figure
  541. \newdimen\bibindent
  542. \setlength\bibindent{1.5em}
  543. \newenvironment{thebibliography}[1]
  544. {\section*{\refname
  545. \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}%
  546. \list{\@biblabel{\@arabic\c@enumiv}}%
  547. {\settowidth\labelwidth{\@biblabel{#1}}%
  548. \leftmargin\labelwidth
  549. \advance\leftmargin\labelsep
  550. \@openbib@code
  551. \usecounter{enumiv}%
  552. \let\p@enumiv\@empty
  553. \renewcommand\theenumiv{\@arabic\c@enumiv}}%
  554. \sloppy\clubpenalty4000\widowpenalty4000%
  555. \sfcode`\.\@m}
  556. {\def\@noitemerr
  557. {\@latex@warning{Empty `thebibliography' environment}}%
  558. \endlist}
  559. \newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}
  560. \let\@openbib@code\@empty
  561. \newenvironment{theindex}
  562. {\if@twocolumn
  563. \@restonecolfalse
  564. \else
  565. \@restonecoltrue
  566. \fi
  567. \columnseprule \z@
  568. \columnsep 35\p@
  569. \twocolumn[\section*{\indexname}]%
  570. \@mkboth{\MakeUppercase\indexname}%
  571. {\MakeUppercase\indexname}%
  572. \thispagestyle{fancy}\parindent\z@
  573. \parskip\z@ \@plus .3\p@\relax
  574. \let\item\@idxitem}
  575. {\if@restonecol\onecolumn\else\clearpage\fi}
  576. \newcommand\@idxitem{\par\hangindent 40\p@}
  577. \newcommand\subitem{\@idxitem \hspace*{20\p@}}
  578. \newcommand\subsubitem{\@idxitem \hspace*{30\p@}}
  579. \newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
  580. \renewcommand\footnoterule{%
  581. \kern-3\p@
  582. \hrule\@width.4\columnwidth
  583. \kern2.6\p@}
  584. \newcommand\@makefntext[1]{%
  585. \parindent 1em%
  586. \noindent
  587. \hb@xt@1.8em{\hss\@makefnmark}#1}
  588. \newcommand\contentsname{Contents}
  589. \newcommand\listfigurename{List of Figures}
  590. \newcommand\listtablename{List of Tables}
  591. \newcommand\refname{References}
  592. \newcommand\indexname{Index}
  593. \newcommand\figurename{Figure}
  594. \newcommand\tablename{Table}
  595. \newcommand\partname{Part}
  596. \newcommand\appendixname{Appendix}
  597. \newcommand\abstractname{Abstract}
  598. \newcommand\today{\ifcase\month\or
  599. January\or February\or March\or April\or May\or June\or
  600. July\or August\or September\or October\or November\or December\fi
  601. \space\number\day, \number\year}
  602. \setlength\columnsep{10\p@}
  603. \setlength\columnseprule{0\p@}
  604. \pagestyle{plain}
  605. \pagenumbering{arabic}
  606. \if@twoside
  607. \else
  608. \raggedbottom
  609. \fi
  610. \if@twocolumn
  611. \twocolumn
  612. \sloppy
  613. \flushbottom
  614. \else
  615. \onecolumn
  616. \fi
  617. \endinput
  618. %%