bookvvmrus.cls 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951
  1. %% This is file `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{bookvvmrus}
  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. \newif\if@frontmatter \@frontmattertrue
  16. \DeclareOption{f70x100_16}
  17. {\setlength\paperheight {240mm}%
  18. \setlength\paperwidth {170mm}}
  19. \DeclareOption{a4paper}
  20. {\setlength\paperheight {297mm}%
  21. \setlength\paperwidth {210mm}}
  22. \DeclareOption{a5paper}
  23. {\setlength\paperheight {210mm}%
  24. \setlength\paperwidth {148mm}}
  25. \DeclareOption{b5paper}
  26. {\setlength\paperheight {250mm}%
  27. \setlength\paperwidth {176mm}}
  28. \DeclareOption{letterpaper}
  29. {\setlength\paperheight {11in}%
  30. \setlength\paperwidth {8.5in}}
  31. \DeclareOption{legalpaper}
  32. {\setlength\paperheight {14in}%
  33. \setlength\paperwidth {8.5in}}
  34. \DeclareOption{executivepaper}
  35. {\setlength\paperheight {10.5in}%
  36. \setlength\paperwidth {7.25in}}
  37. \DeclareOption{landscape}
  38. {\setlength\@tempdima {\paperheight}%
  39. \setlength\paperheight {\paperwidth}%
  40. \setlength\paperwidth {\@tempdima}}
  41. \DeclareOption{8pt}{\renewcommand\@ptsize{8}}
  42. \DeclareOption{9pt}{\renewcommand\@ptsize{9}}
  43. \DeclareOption{10pt}{\renewcommand\@ptsize{0}}
  44. \DeclareOption{11pt}{\renewcommand\@ptsize{1}}
  45. \DeclareOption{12pt}{\renewcommand\@ptsize{2}}
  46. \DeclareOption{14pt}{\renewcommand\@ptsize{14}}
  47. \DeclareOption{17pt}{\renewcommand\@ptsize{17}}
  48. \DeclareOption{20pt}{\renewcommand\@ptsize{20}}
  49. \DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
  50. \DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
  51. \DeclareOption{draft}{\setlength\overfullrule{5pt}}
  52. \DeclareOption{final}{\setlength\overfullrule{0pt}}
  53. \DeclareOption{titlepage}{\@titlepagetrue}
  54. \DeclareOption{notitlepage}{\@titlepagefalse}
  55. \DeclareOption{openright}{\@openrighttrue}
  56. \DeclareOption{openany}{\@openrightfalse}
  57. \DeclareOption{onecolumn}{\@twocolumnfalse}
  58. \DeclareOption{twocolumn}{\@twocolumntrue}
  59. \DeclareOption{leqno}{\input{leqno.clo}}
  60. \DeclareOption{fleqn}{\input{fleqn.clo}}
  61. \DeclareOption{openbib}{%
  62. \AtEndOfPackage{%
  63. \renewcommand\@openbib@code{%
  64. \advance\leftmargin\bibindent
  65. \itemindent -\bibindent
  66. \listparindent \itemindent
  67. \parsep \z@
  68. }%
  69. \renewcommand\newblock{\par}}%
  70. }
  71. \ExecuteOptions{letterpaper,10pt,twoside,onecolumn,final,openright}
  72. \ProcessOptions
  73. \def\EC@family#1#2#3#4#5{%
  74. \DeclareFontShape{#1}{#2}{#3}{#4}%
  75. {<5><6><7><8><9><10><10.95><12><14.4>%
  76. <17.28><20.74><24.88><29.86><35.83><42.99><51.59>genb*#5}{}}
  77. \EC@family{T1}{cmr}{m}{n}{ecrm}
  78. \EC@family{T1}{cmr}{m}{sl}{ecsl}
  79. \EC@family{T1}{cmr}{m}{it}{ecti}
  80. \EC@family{T1}{cmr}{m}{sc}{eccc}
  81. \EC@family{T1}{cmr}{bx}{n}{ecbx}
  82. \EC@family{T1}{cmr}{b}{n}{ecrb}
  83. \EC@family{T1}{cmr}{bx}{it}{ecbi}
  84. \EC@family{T1}{cmr}{bx}{sl}{ecbl}
  85. \EC@family{T1}{cmr}{bx}{sc}{ecxc}
  86. \EC@family{T1}{cmr}{m}{ui}{ecui}
  87. \DeclareFontShape{OT1}{cmr}{m}{n}%
  88. {<5><6><7><8><9><10><12>gen*cmr%
  89. <10.95>cmr10%
  90. <14.4>cmr12%
  91. <17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmr17}{}
  92. \DeclareFontShape{OT1}{cmr}{m}{sl}%
  93. {<5><6><7>cmsl8%
  94. <8><9>gen*cmsl%
  95. <10><10.95>cmsl10%
  96. <12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmsl12%
  97. }{}
  98. \DeclareFontShape{OT1}{cmr}{m}{it}%
  99. {<5><6><7>cmti7%
  100. <8>cmti8%
  101. <9>cmti9%
  102. <10><10.95>cmti10%
  103. <12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmti12%
  104. }{}
  105. \DeclareFontShape{OT1}{cmr}{m}{sc}%
  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>cmcsc10%
  108. }{}
  109. \DeclareFontShape{OT1}{cmr}{m}{ui}
  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>cmu10%
  112. }{}
  113. \DeclareFontShape{OT1}{cmr}{b}{n}
  114. {<5><6><7><8><9><10><10.95><12>%
  115. <14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmb10%
  116. }{}
  117. \DeclareFontShape{OT1}{cmr}{bx}{n}
  118. {<5><6><7><8><9>gen*cmbx%
  119. <10><10.95>cmbx10%
  120. <12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmbx12%
  121. }{}
  122. \DeclareFontShape{OT1}{cmr}{bx}{sl}
  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>cmbxsl10%
  125. }{}
  126. \DeclareFontShape{OT1}{cmr}{bx}{it}
  127. {<5><6><7><8><9>%
  128. <10><10.95><12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmbxti10%
  129. }{}
  130. \ifnum\@ptsize<3
  131. \input{bk1\@ptsize.clo}
  132. \else
  133. \input{size\@ptsize.clo}
  134. \fi
  135. %%==============================================================================
  136. \RequirePackage{exscale}
  137. \RequirePackage{calc}
  138. \RequirePackage{fontspec}
  139. \newlength{\WoLongestChNm}\setlength{\WoLongestChNm}{1.5em}
  140. \newlength{\WoLongestApxNm}\setlength{\WoLongestApxNm}{1.5em}
  141. \newlength{\AsterixLen}\setlength{\AsterixLen}{2.75em}
  142. \newlength{\ParagrLen}\setlength{\ParagrLen}{2.75em}
  143. \newlength{\SectTocMarkIndent}\setlength{\SectTocMarkIndent}{2.75em}
  144. \newlength{\WoLongestSeNm}\setlength{\WoLongestSeNm}{2.3em}
  145. \newlength{\TotlWoLongestSect}\setlength{\TotlWoLongestSect}{2.3em}
  146. \def\@SectPrefix{\textsection}%
  147. %%==============================================================================
  148. \setlength\lineskip{1\p@}
  149. \setlength\normallineskip{1\p@}
  150. \renewcommand\baselinestretch{}
  151. \setlength\parskip{0\p@ \@plus \p@}
  152. \@lowpenalty 51
  153. \@medpenalty 151
  154. \@highpenalty 301
  155. \setcounter{topnumber}{2}
  156. \renewcommand\topfraction{.7}
  157. \setcounter{bottomnumber}{1}
  158. \renewcommand\bottomfraction{.3}
  159. \setcounter{totalnumber}{3}
  160. \renewcommand\textfraction{.2}
  161. \renewcommand\floatpagefraction{.5}
  162. \setcounter{dbltopnumber}{2}
  163. \renewcommand\dbltopfraction{.7}
  164. \renewcommand\dblfloatpagefraction{.5}
  165. \if@twoside
  166. \def\ps@headings{%
  167. \let\@oddfoot\@empty\let\@evenfoot\@empty
  168. \def\@evenhead{\thepage\hfil\slshape\leftmark}%
  169. \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
  170. \let\@mkboth\markboth
  171. \def\chaptermark##1{%
  172. \markboth {\MakeUppercase{%
  173. \ifnum \c@secnumdepth >\m@ne
  174. \if@mainmatter
  175. \@chapapp\ \thechapter. \ %
  176. \fi
  177. \fi
  178. ##1}}{}}%
  179. \def\sectionmark##1{%
  180. \markright {\MakeUppercase{%
  181. \ifnum \c@secnumdepth >\z@
  182. \thesection. \ %
  183. \fi
  184. ##1}}}}
  185. \else
  186. \def\ps@headings{%
  187. \let\@oddfoot\@empty
  188. \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
  189. \let\@mkboth\markboth
  190. \def\chaptermark##1{%
  191. \markright {\MakeUppercase{%
  192. \ifnum \c@secnumdepth >\m@ne
  193. \if@mainmatter
  194. \@chapapp\ \thechapter. \ %
  195. \fi
  196. \fi
  197. ##1}}}}
  198. \fi
  199. \def\ps@myheadings{%
  200. \let\@oddfoot\@empty\let\@evenfoot\@empty
  201. \def\@evenhead{\thepage\hfil\slshape\leftmark}%
  202. \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
  203. \let\@mkboth\@gobbletwo
  204. \let\chaptermark\@gobble
  205. \let\sectionmark\@gobble
  206. }
  207. \if@titlepage
  208. \newcommand\maketitle{\begin{titlepage}%
  209. \let\footnotesize\small
  210. \let\footnoterule\relax
  211. \let \footnote \thanks
  212. \null\vfil
  213. \vskip 60\p@
  214. \begin{center}%
  215. {\LARGE \@title \par}%
  216. \vskip 3em%
  217. {\large
  218. \lineskip .75em%
  219. \begin{tabular}[t]{c}%
  220. \@author
  221. \end{tabular}\par}%
  222. \vskip 1.5em%
  223. {\large \@date \par}% % Set date in \large size.
  224. \end{center}\par
  225. \@thanks
  226. \vfil\null
  227. \end{titlepage}%
  228. \setcounter{footnote}{0}%
  229. \global\let\thanks\relax
  230. \global\let\maketitle\relax
  231. \global\let\@thanks\@empty
  232. \global\let\@author\@empty
  233. \global\let\@date\@empty
  234. \global\let\@title\@empty
  235. \global\let\title\relax
  236. \global\let\author\relax
  237. \global\let\date\relax
  238. \global\let\and\relax
  239. }
  240. \else
  241. \newcommand\maketitle{\par
  242. \begingroup
  243. \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
  244. \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
  245. \long\def\@makefntext##1{\parindent 1em\noindent
  246. \hb@xt@1.8em{%
  247. \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
  248. \if@twocolumn
  249. \ifnum \col@number=\@ne
  250. \@maketitle
  251. \else
  252. \twocolumn[\@maketitle]%
  253. \fi
  254. \else
  255. \newpage
  256. \global\@topnum\z@ % Prevents figures from going at top of page.
  257. \@maketitle
  258. \fi
  259. \thispagestyle{plain}\@thanks
  260. \endgroup
  261. \setcounter{footnote}{0}%
  262. \global\let\thanks\relax
  263. \global\let\maketitle\relax
  264. \global\let\@maketitle\relax
  265. \global\let\@thanks\@empty
  266. \global\let\@author\@empty
  267. \global\let\@date\@empty
  268. \global\let\@title\@empty
  269. \global\let\title\relax
  270. \global\let\author\relax
  271. \global\let\date\relax
  272. \global\let\and\relax
  273. }
  274. \def\@maketitle{%
  275. \newpage
  276. \null
  277. \vskip 2em%
  278. \begin{center}%
  279. \let \footnote \thanks
  280. {\LARGE \@title \par}%
  281. \vskip 1.5em%
  282. {\large
  283. \lineskip .5em%
  284. \begin{tabular}[t]{c}%
  285. \@author
  286. \end{tabular}\par}%
  287. \vskip 1em%
  288. {\large \@date}%
  289. \end{center}%
  290. \par
  291. \vskip 1.5em}
  292. \fi
  293. \newcommand*\partmark[1]{}
  294. \newcommand*\chaptermark[1]{}
  295. \setcounter{secnumdepth}{2}
  296. \newcounter {part}
  297. \newcounter {chapter}
  298. \newcounter {section}
  299. \newcounter {subsection}[section]
  300. \newcounter {subsubsection}[subsection]
  301. \newcounter {paragraph}[subsubsection]
  302. \newcounter {subparagraph}[paragraph]
  303. \renewcommand \thepart {\@Roman\c@part}
  304. \renewcommand \thechapter {\@Roman\c@chapter}
  305. \renewcommand \thesection {\@arabic\c@section}
  306. \renewcommand\thesubsection {\thesection.\@arabic\c@subsection}
  307. \renewcommand\thesubsubsection{\thesubsection .\@arabic\c@subsubsection}
  308. \renewcommand\theparagraph {\thesubsubsection.\@arabic\c@paragraph}
  309. \renewcommand\thesubparagraph {\theparagraph.\@arabic\c@subparagraph}
  310. \newcommand\@partapp{\partname}
  311. \newcommand\@chapapp{\chaptername}
  312. \newcommand\frontmatter{%
  313. \cleardoublepage
  314. \@mainmatterfalse
  315. \pagenumbering{arabic}%
  316. \renewcommand{\partmark}[1]{}%
  317. \renewcommand{\chaptermark}[1]{\markboth{{\small ##1}}{{\small ##1}}}%
  318. \renewcommand{\sectionmark}[1]{}%
  319. \fancyhead[CE]{\itshape\nouppercase{\leftmark}}%
  320. \fancyhead[CO]{\itshape\nouppercase{\rightmark}}%
  321. }
  322. \newcommand\mainmatter{%
  323. \cleardoublepage
  324. \@mainmattertrue
  325. \renewcommand{\partmark}[1]{}%
  326. \renewcommand{\chaptermark}[1]{%
  327. \markboth{{\small Ч. \thepart, гл. \thechapter. ##1}}{}}%
  328. \renewcommand{\sectionmark}[1]{%
  329. \markright{{\small \textsection\ \thesection. ##1}}}%
  330. \fancyhead[CE]{\itshape\nouppercase{\leftmark}}%
  331. \fancyhead[CO]{\itshape\nouppercase{\rightmark}}%
  332. }
  333. \newcommand\backmatter{%
  334. \if@openright
  335. \cleardoublepage
  336. \else
  337. \clearpage
  338. \fi
  339. \@mainmatterfalse
  340. \renewcommand{\partmark}[1]{}%
  341. \renewcommand{\chaptermark}[1]{\markboth{{\small ##1}}{{\small ##1}}}%
  342. \renewcommand{\sectionmark}[1]{}%
  343. \fancyhead[CE]{\itshape\nouppercase{\leftmark}}%
  344. \fancyhead[CO]{\itshape\nouppercase{\rightmark}}%
  345. }
  346. \newcommand\part{%
  347. \if@openright
  348. \cleardoublepage
  349. \else
  350. \clearpage
  351. \fi
  352. \thispagestyle{empty}%
  353. \if@twocolumn
  354. \onecolumn
  355. \@tempswatrue
  356. \else
  357. \@tempswafalse
  358. \fi
  359. \null\vfil
  360. \secdef\@part\@spart}
  361. \def\@part[#1]#2{%
  362. \ifnum \c@secnumdepth >-2\relax
  363. \refstepcounter{part}%
  364. \addcontentsline{toc}{part}{%
  365. \texorpdfstring{%
  366. {\sparseFnt\partname\hspace*{.5em}}\thepart\\*
  367. \vskip 1ex
  368. {\bfseries\MakeUppercase{#1}}
  369. }{Ч.\thepart. #1}%
  370. }%
  371. %{\thepart\hspace{1em}#1}%
  372. \else
  373. \addcontentsline{toc}{part}{#1}%
  374. \fi
  375. \markboth{}{}%
  376. {\centering
  377. \interlinepenalty \@M
  378. \normalfont
  379. \ifnum \c@secnumdepth >-2\relax
  380. \large {\sparseFnt\MakeUppercase{\partname}\hspace*{1em}}\thepart%
  381. \par
  382. \vskip 20\p@
  383. \fi
  384. \Large \bfseries \MakeUppercase{#2}\par}%
  385. \@endpart}
  386. \def\@spart#1{%
  387. \addcontentsline{toc}{part}{%
  388. \texorpdfstring{\bfseries\MakeUppercase{#1}}{#1}}
  389. \partmark{#1}%
  390. {\centering
  391. \interlinepenalty \@M
  392. \normalfont
  393. \Large \bfseries \MakeUppercase{#1}\par}%
  394. \@endpart}
  395. \def\@endpart{\vfil\newpage
  396. \if@twoside
  397. \null
  398. \thispagestyle{empty}%
  399. \newpage
  400. \fi
  401. \if@tempswa
  402. \twocolumn
  403. \fi}
  404. \newcommand\chapter{
  405. \if@mainmatter%
  406. \if@openright\cleardoublepage\else\clearpage\fi%
  407. \else%
  408. \ifx\YouAreInAppendix\undefined%
  409. \newpage\fi%
  410. \fi%
  411. \thispagestyle{empty}%
  412. \global\@topnum\z@%
  413. \@afterindentfalse%
  414. \secdef\@chapter\@schapter%
  415. }
  416. \def\@chapter[#1]#2{%
  417. \ifnum \c@secnumdepth >\m@ne
  418. \if@mainmatter
  419. \refstepcounter{chapter}%
  420. \typeout{\@chapapp\space\thechapter.}%
  421. \addcontentsline{toc}{chapter}{%
  422. \texorpdfstring{%
  423. \hbox to \WoLongestChNm {%
  424. {\sparseFnt\chaptername}\hfil\thechapter.\hfil}%
  425. \bfseries #1}{гл.\thechapter. #1}%
  426. }
  427. \else
  428. \refstepcounter{chapter}%
  429. \typeout{\@chapapp\space\thechapter.}%
  430. \addcontentsline{toc}{appendix}{%
  431. \texorpdfstring{%
  432. \hbox to \WoLongestApxNm {%
  433. {\sparseFnt\chaptername}\hfil\thechapter.\hfil}%
  434. \bfseries #1}{доб.\thechapter. #1}%
  435. }
  436. \fi
  437. \else
  438. \addcontentsline{toc}{appendix}{#1}%
  439. \fi
  440. \chaptermark{#1}%
  441. \addtocontents{lof}{\protect\addvspace{10\p@}}%
  442. \addtocontents{lot}{\protect\addvspace{10\p@}}%
  443. \if@twocolumn
  444. \@topnewpage[\@makechapterhead{#2}]%
  445. \else
  446. \@makechapterhead{#2}%
  447. \@afterheading
  448. \fi%
  449. \setcounter{footnote}{0}%
  450. }
  451. \def\@makechapterhead#1{%
  452. \if@mainmatter
  453. \vspace*{50\p@}%
  454. {\parindent \z@ \centering \normalfont
  455. \ifnum \c@secnumdepth >\m@ne
  456. \large
  457. {\itshape {\sparseFnt\chaptername} \space \thechapter}
  458. \par\nobreak
  459. \vskip 1.5ex
  460. \fi
  461. \interlinepenalty\@M
  462. \bfseries\MakeUppercase{#1}\par\nobreak
  463. \vskip 1.5ex
  464. }%
  465. \else
  466. \vspace*{3ex}%
  467. {
  468. \parindent \z@
  469. \centering\normalfont
  470. \interlinepenalty\@M
  471. \normalsize
  472. {\itshape {\sparseFnt\MakeUppercase{\chaptername}}\space\thechapter}
  473. %
  474. % грязный хак
  475. %
  476. \ifnum \c@chapter =1 %
  477. \footnote[1]{%
  478. Редактор перевода не принимал участия
  479. в редактировании этих добавлений.
  480. --- \textit{Прим. ред.}}
  481. \fi
  482. \par\nobreak\vskip 1.5ex%
  483. \bfseries%
  484. \MakeUppercase{#1}\par\nobreak
  485. \vskip 1.5ex
  486. }%
  487. \fi
  488. }
  489. \def\@schapter#1{%
  490. \ifx\YouAreInToC\undefined
  491. \addcontentsline{toc}{chapter}{%
  492. \texorpdfstring{%
  493. {\sparseFnt#1}}{#1}%
  494. }%
  495. \fi
  496. \chaptermark{#1}%
  497. \if@twocolumn
  498. \@topnewpage[\@makeschapterhead{#1}]%
  499. \else
  500. \@makeschapterhead{#1}%
  501. \@afterheading
  502. \fi}
  503. \def\@makeschapterhead#1{\vspace*{50\p@}%
  504. {\parindent \z@ \centering
  505. \normalfont
  506. \interlinepenalty\@M
  507. \normalsize%
  508. {\sparseFnt\MakeUppercase{#1}}%
  509. \par\nobreak
  510. \vskip 3ex
  511. }}
  512. \newcommand\section{\secdef\@section\@ssection}
  513. \def\@section[#1]#2{%
  514. \ifnum \c@secnumdepth >\m@ne
  515. \if@mainmatter
  516. \refstepcounter{section}%
  517. \ifnum%
  518. \ifnum \c@section=4 1\else
  519. \ifnum \c@section=5 1\else
  520. \ifnum \c@section=9 1\else
  521. \ifnum \c@section=24 1\else
  522. \ifnum \c@section=34 1\else
  523. \ifnum \c@section=37 1\else
  524. \ifnum \c@section=40 1\else
  525. \ifnum \c@section=47 1\else
  526. \ifnum \c@section=53 1\else
  527. \ifnum \c@section=59 1\else
  528. \ifnum \c@section=71 1\else
  529. \ifnum \c@section=74 1\else
  530. \ifnum \c@section=79 1\else 0\fi
  531. \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
  532. =1 \def\@SectPrefix{{\bfseries *}\textsection}%
  533. \else \def\@SectPrefix{\hspace*{\AsterixLen}\textsection}%
  534. \fi
  535. \typeout{\@SectPrefix \thesection. #1}%
  536. \addcontentsline{toc}{section}{%
  537. \texorpdfstring{%
  538. \@SectPrefix %
  539. \hbox to \WoLongestSeNm {\hfil\thesection.\hspace*{0.25em}}%
  540. #1}%
  541. {\@SectPrefix\thesection. #1}%
  542. }%
  543. \else
  544. \addcontentsline{toc}{section}{#1}%
  545. \fi
  546. \else
  547. \addcontentsline{toc}{section}{#1}%
  548. \fi
  549. \sectionmark{#1}%
  550. \addtocontents{lof}{\protect\addvspace{10\p@}}%
  551. \addtocontents{lot}{\protect\addvspace{10\p@}}%
  552. \if@twocolumn
  553. \@topnewpage[\@makesectionhead{#2}]%
  554. \else
  555. \@makesectionhead{#2}%
  556. \@afterheading
  557. \fi}
  558. \def\@makesectionhead#1{%
  559. \vspace*{3ex}%
  560. {\parindent \z@
  561. \centering\normalfont
  562. \interlinepenalty\@M
  563. \normalsize\bfseries%
  564. \@SectPrefix\hspace*{.25em}\thesection.\hspace*{.25em}%
  565. \MakeUppercase{#1}\par\nobreak
  566. \vskip 1.5ex
  567. }}
  568. \def\@ssection#1{\if@twocolumn
  569. \@topnewpage[\@makessectionhead{#1}]%
  570. \else
  571. \@makessectionhead{#1}%
  572. \@afterheading
  573. \fi}
  574. \def\@makessectionhead#1{%
  575. \vspace*{3ex}%
  576. {\parindent \z@ \centering
  577. \normalfont
  578. \interlinepenalty\@M
  579. \normalsize\bfseries%
  580. \hspace*{.25em}\thesection.\hspace*{.25em}%
  581. \MakeUppercase{#1}\par\nobreak
  582. \vskip 1ex
  583. }}
  584. \newcommand\subsection{\@startsection{subsection}{2}{\z@}%
  585. {-3.25ex\@plus -1ex \@minus -.2ex}%
  586. {1.5ex \@plus .2ex}%
  587. {\normalfont\large\bfseries}}
  588. \newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
  589. {-3.25ex\@plus -1ex \@minus -.2ex}%
  590. {1.5ex \@plus .2ex}%
  591. {\normalfont\normalsize\bfseries}}
  592. \newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
  593. {3.25ex \@plus1ex \@minus.2ex}%
  594. {-1em}%
  595. {\normalfont\normalsize\bfseries}}
  596. \newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
  597. {3.25ex \@plus1ex \@minus .2ex}%
  598. {-1em}%
  599. {\normalfont\normalsize\bfseries}}
  600. \if@twocolumn
  601. \setlength\leftmargini {2em}
  602. \else
  603. \setlength\leftmargini {2.5em}
  604. \fi
  605. \leftmargin \leftmargini
  606. \setlength\leftmarginii {2.2em}
  607. \setlength\leftmarginiii {1.87em}
  608. \setlength\leftmarginiv {1.7em}
  609. \if@twocolumn
  610. \setlength\leftmarginv {.5em}
  611. \setlength\leftmarginvi {.5em}
  612. \else
  613. \setlength\leftmarginv {1em}
  614. \setlength\leftmarginvi {1em}
  615. \fi
  616. \setlength \labelsep {.5em}
  617. \setlength \labelwidth{\leftmargini}
  618. \addtolength\labelwidth{-\labelsep}
  619. \@beginparpenalty -\@lowpenalty
  620. \@endparpenalty -\@lowpenalty
  621. \@itempenalty -\@lowpenalty
  622. \renewcommand\theenumi{\@arabic\c@enumi}
  623. \renewcommand\theenumii{\@alph\c@enumii}
  624. \renewcommand\theenumiii{\@roman\c@enumiii}
  625. \renewcommand\theenumiv{\@Alph\c@enumiv}
  626. \newcommand\labelenumi{\theenumi.}
  627. \newcommand\labelenumii{(\theenumii)}
  628. \newcommand\labelenumiii{\theenumiii.}
  629. \newcommand\labelenumiv{\theenumiv.}
  630. \renewcommand\p@enumii{\theenumi}
  631. \renewcommand\p@enumiii{\theenumi(\theenumii)}
  632. \renewcommand\p@enumiv{\p@enumiii\theenumiii}
  633. \newcommand\labelitemi{\textbullet}
  634. \newcommand\labelitemii{\normalfont\bfseries \textendash}
  635. \newcommand\labelitemiii{\textasteriskcentered}
  636. \newcommand\labelitemiv{\textperiodcentered}
  637. \newenvironment{description}
  638. {\list{}{\labelwidth\z@ \itemindent-\leftmargin
  639. \let\makelabel\descriptionlabel}}
  640. {\endlist}
  641. \newcommand*\descriptionlabel[1]{\hspace\labelsep
  642. \normalfont\bfseries #1}
  643. \newenvironment{verse}
  644. {\let\\\@centercr
  645. \list{}{\itemsep \z@
  646. \itemindent -1.5em%
  647. \listparindent\itemindent
  648. \rightmargin \leftmargin
  649. \advance\leftmargin 1.5em}%
  650. \item\relax}
  651. {\endlist}
  652. \newenvironment{quotation}
  653. {\list{}{\listparindent 1.5em%
  654. \itemindent \listparindent
  655. \rightmargin \leftmargin
  656. \parsep \z@ \@plus\p@}%
  657. \item\relax}
  658. {\endlist}
  659. \newenvironment{quote}
  660. {\list{}{\rightmargin\leftmargin}%
  661. \item\relax}
  662. {\endlist}
  663. \newenvironment{titlepage}
  664. {%
  665. \cleardoublepage
  666. \if@twocolumn
  667. \@restonecoltrue\onecolumn
  668. \else
  669. \@restonecolfalse\newpage
  670. \fi
  671. \thispagestyle{empty}%
  672. \setcounter{page}\@ne
  673. }%
  674. {\if@restonecol\twocolumn \else \newpage \fi
  675. \if@twoside\else
  676. \setcounter{page}\@ne
  677. \fi
  678. }
  679. \newcommand\appendix{\par
  680. \@mainmatterfalse
  681. \def\YouAreInAppendix{1}%
  682. \setcounter{chapter}{0}%
  683. \setcounter{section}{0}%
  684. \renewcommand{\chaptername}{Добавление}%
  685. \gdef\@chapapp{\appendixname}%
  686. \gdef\thechapter{\@Roman\c@chapter}%
  687. \renewcommand{\partmark}[1]{\markboth{{\small Добавления}}{}}%
  688. \renewcommand{\chaptermark}[1]{%
  689. \markright{{\small\chaptername\hspace*{0.5em}\thechapter}}}%
  690. \renewcommand{\sectionmark}[1]{}%
  691. \fancyhead[CE]{\itshape\nouppercase{\leftmark}}%
  692. \fancyhead[CO]{\itshape\nouppercase{\rightmark}}%
  693. }
  694. \setlength\arraycolsep{5\p@}
  695. \setlength\tabcolsep{6\p@}
  696. \setlength\arrayrulewidth{.4\p@}
  697. \setlength\doublerulesep{2\p@}
  698. \setlength\tabbingsep{\labelsep}
  699. \skip\@mpfootins = \skip\footins
  700. \setlength\fboxsep{3\p@}
  701. \setlength\fboxrule{.4\p@}
  702. \@addtoreset {equation}{chapter}
  703. \renewcommand\theequation
  704. {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@equation}
  705. \newcounter{figure}[chapter]
  706. \renewcommand \thefigure
  707. {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@figure}
  708. \def\fps@figure{tbp}
  709. \def\ftype@figure{1}
  710. \def\ext@figure{lof}
  711. \def\fnum@figure{\figurename~\thefigure}
  712. \newenvironment{figure}
  713. {\@float{figure}}
  714. {\end@float}
  715. \newenvironment{figure*}
  716. {\@dblfloat{figure}}
  717. {\end@dblfloat}
  718. \newcounter{table}[chapter]
  719. \renewcommand \thetable
  720. {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@table}
  721. \def\fps@table{tbp}
  722. \def\ftype@table{2}
  723. \def\ext@table{lot}
  724. \def\fnum@table{\tablename~\thetable}
  725. \newenvironment{table}
  726. {\@float{table}}
  727. {\end@float}
  728. \newenvironment{table*}
  729. {\@dblfloat{table}}
  730. {\end@dblfloat}
  731. \newlength\abovecaptionskip
  732. \newlength\belowcaptionskip
  733. \setlength\abovecaptionskip{10\p@}
  734. \setlength\belowcaptionskip{0\p@}
  735. \long\def\@makecaption#1#2{%
  736. \vskip\abovecaptionskip
  737. \sbox\@tempboxa{#1: #2}%
  738. \ifdim \wd\@tempboxa >\hsize
  739. #1: #2\par
  740. \else
  741. \global \@minipagefalse
  742. \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
  743. \fi
  744. \vskip\belowcaptionskip}
  745. \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
  746. \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
  747. \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
  748. \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
  749. \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
  750. \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
  751. \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
  752. \DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
  753. \DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
  754. \newcommand\@pnumwidth{1.55em}
  755. \newcommand\@tocrmarg{2.55em}
  756. \newcommand\@dotsep{4.5}
  757. \setcounter{tocdepth}{2}
  758. \newcommand\tableofcontents{%
  759. \def\YouAreInToC{1}
  760. \if@twocolumn
  761. \@restonecoltrue\onecolumn
  762. \else
  763. \@restonecolfalse
  764. \fi
  765. \chapter*{\contentsname}%
  766. \@mkboth{{\small\contentsname}}{{\small\contentsname}}
  767. \@starttoc{toc}%
  768. \if@restonecol\twocolumn\fi}
  769. \newcommand*\l@part[2]{%
  770. \ifnum \c@tocdepth >-2\relax
  771. {\centering \parindent \z@ \relax
  772. \vskip 1.5ex
  773. #1 \nopagebreak
  774. \vskip 1.5ex
  775. \par}
  776. \fi}
  777. \newcommand*\l@chapter[2]{%
  778. \ifnum \c@tocdepth >\m@ne
  779. \vskip \z@ \@plus.2\p@
  780. {\leftskip \z@ \relax
  781. \rightskip \@tocrmarg \parfillskip -\rightskip
  782. \parindent \z@ \relax\@afterindenttrue
  783. \interlinepenalty\@M
  784. \leavevmode
  785. \@tempdima \WoLongestChNm\relax
  786. \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
  787. {#1}\nobreak
  788. \leaders\hbox{$\m@th
  789. \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
  790. mu$}\hfill
  791. \nobreak
  792. \hb@xt@\@pnumwidth{{\hfil\normalfont \normalcolor #2}}%
  793. \par\nopagebreak%
  794. }%
  795. \fi}
  796. %% ======= Section ToC =======
  797. \newcommand*\l@section[2]{
  798. \ifnum \c@tocdepth >\m@ne
  799. \vskip \z@ \@plus.2\p@
  800. {\leftskip \SectTocMarkIndent\relax %\SectTocIndent\relax
  801. \rightskip \@tocrmarg \parfillskip -\rightskip
  802. \parindent \SectTocMarkIndent \relax\@afterindenttrue
  803. \interlinepenalty\@M
  804. \leavevmode
  805. \@tempdima \TotlWoLongestSect\relax%\WoLongestSeNm\relax
  806. \advance\leftskip \@tempdima
  807. \null\nobreak\hskip -\leftskip
  808. {#1}\nobreak
  809. \leaders\hbox{$\m@th
  810. \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
  811. mu$}\hfill
  812. \nobreak
  813. \hb@xt@\@pnumwidth{{\hfil\normalfont \normalcolor #2}}%
  814. \par%
  815. }%
  816. \fi}
  817. \newcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}}
  818. \newcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
  819. \newcommand*\l@paragraph{\@dottedtocline{4}{10em}{5em}}
  820. \newcommand*\l@subparagraph{\@dottedtocline{5}{12em}{6em}}
  821. \newcommand*\l@appendix[2]{%
  822. \ifnum \c@tocdepth >\m@ne
  823. \vskip \z@ \@plus.2\p@
  824. {\leftskip \z@\relax
  825. \rightskip \@tocrmarg \parfillskip -\rightskip
  826. \parindent \z@ \relax\@afterindenttrue
  827. \interlinepenalty\@M
  828. \leavevmode
  829. \@tempdima \WoLongestApxNm\relax
  830. \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
  831. {#1}\nobreak
  832. \leaders\hbox{$\m@th
  833. \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
  834. mu$}\hfill
  835. \nobreak
  836. \hb@xt@\@pnumwidth{{\hfil\normalfont \normalcolor #2}}%
  837. \par\nopagebreak%
  838. }%
  839. \fi}
  840. \newcommand\listoffigures{%
  841. \if@twocolumn
  842. \@restonecoltrue\onecolumn
  843. \else
  844. \@restonecolfalse
  845. \fi
  846. \chapter*{\listfigurename
  847. \@mkboth{{\small\MakeUppercase\listfigurename}}%
  848. {{\small\MakeUppercase\listfigurename}}}%
  849. \@starttoc{lof}%
  850. \if@restonecol\twocolumn\fi
  851. }
  852. \newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
  853. \newcommand\listoftables{%
  854. \if@twocolumn
  855. \@restonecoltrue\onecolumn
  856. \else
  857. \@restonecolfalse
  858. \fi
  859. \chapter*{\listtablename
  860. \@mkboth{{\small\MakeUppercase\listtablename}}%
  861. {{\small\MakeUppercase\listtablename}}}%
  862. \@starttoc{lot}%
  863. \if@restonecol\twocolumn\fi
  864. }
  865. \let\l@table\l@figure
  866. \newdimen\bibindent
  867. \setlength\bibindent{1.5em}
  868. \newenvironment{thebibliography}[1]
  869. {\chapter*{\bibname }%
  870. \@mkboth{{\small\bibname}}{{\small\bibname}}
  871. \list{\@biblabel{\@arabic\c@enumiv}}%
  872. {\settowidth\labelwidth{\@biblabel{#1}}%
  873. \leftmargin\labelwidth
  874. \advance\leftmargin\labelsep
  875. \@openbib@code
  876. \usecounter{enumiv}%
  877. \let\p@enumiv\@empty
  878. \renewcommand\theenumiv{\@arabic\c@enumiv}}%
  879. \sloppy
  880. \clubpenalty4000
  881. \@clubpenalty \clubpenalty
  882. \widowpenalty4000%
  883. \sfcode`\.\@m}
  884. {\def\@noitemerr
  885. {\@latex@warning{Empty `thebibliography' environment}}%
  886. \endlist}
  887. \newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}
  888. \let\@openbib@code\@empty
  889. \newenvironment{theindex}
  890. {\if@twocolumn
  891. \@restonecolfalse
  892. \else
  893. \@restonecoltrue
  894. \fi
  895. \columnseprule \z@
  896. \columnsep 35\p@
  897. \twocolumn[\@makeschapterhead{\indexname}]%
  898. \@mkboth{{\small\MakeUppercase\indexname}}%
  899. {{\small\MakeUppercase\indexname}}%
  900. \thispagestyle{plain}\parindent\z@
  901. \parskip\z@ \@plus .3\p@\relax
  902. \let\item\@idxitem}
  903. {\if@restonecol\onecolumn\else\clearpage\fi}
  904. \newcommand\@idxitem{\par\hangindent 40\p@}
  905. \newcommand\subitem{\@idxitem \hspace*{20\p@}}
  906. \newcommand\subsubitem{\@idxitem \hspace*{30\p@}}
  907. \newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
  908. \renewcommand\footnoterule{%
  909. \kern-3\p@
  910. \hrule\@width.4\columnwidth
  911. \kern2.6\p@}
  912. \@addtoreset{footnote}{chapter}
  913. \newcommand\@makefntext[1]{%
  914. \parindent 1em%
  915. \noindent
  916. \hb@xt@1.8em{\hss\@makefnmark}#1}
  917. \newcommand\contentsname{Contents}
  918. \newcommand\listfigurename{List of Figures}
  919. \newcommand\listtablename{List of Tables}
  920. \newcommand\bibname{Bibliography}
  921. \newcommand\indexname{Index}
  922. \newcommand\figurename{Figure}
  923. \newcommand\tablename{Table}
  924. \newcommand\partname{Part}
  925. \newcommand\chaptername{Chapter}
  926. \newcommand\appendixname{Appendix}
  927. \def\today{\ifcase\month\or
  928. January\or February\or March\or April\or May\or June\or
  929. July\or August\or September\or October\or November\or December\fi
  930. \space\number\day, \number\year}
  931. \setlength\columnsep{10\p@}
  932. \setlength\columnseprule{0\p@}
  933. \pagestyle{headings}
  934. \pagenumbering{arabic}
  935. \if@twoside
  936. \else
  937. \raggedbottom
  938. \fi
  939. \if@twocolumn
  940. \twocolumn
  941. \sloppy
  942. \flushbottom
  943. \else
  944. \onecolumn
  945. \fi
  946. \endinput
  947. %%
  948. %% End of file `book.cls'.