bookknrrus.cls 23 KB

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