bookvvmrus.cls 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950
  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. }
  450. \def\@makechapterhead#1{%
  451. \if@mainmatter
  452. \vspace*{50\p@}%
  453. {\parindent \z@ \centering \normalfont
  454. \ifnum \c@secnumdepth >\m@ne
  455. \large
  456. {\itshape {\sparseFnt\chaptername} \space \thechapter}
  457. \par\nobreak
  458. \vskip 1.5ex
  459. \fi
  460. \interlinepenalty\@M
  461. \bfseries\MakeUppercase{#1}\par\nobreak
  462. \vskip 1.5ex
  463. }%
  464. \else
  465. \vspace*{3ex}%
  466. {
  467. \parindent \z@
  468. \centering\normalfont
  469. \interlinepenalty\@M
  470. \normalsize
  471. {\itshape {\sparseFnt\MakeUppercase{\chaptername}}\space\thechapter}
  472. %
  473. % грязный хак
  474. %
  475. \ifnum \c@chapter =1 %
  476. \footnote[1]{%
  477. Редактор перевода не принимал участия
  478. в редактировании этих добавлений.
  479. --- \textit{Прим. ред.}}
  480. \fi
  481. \par\nobreak\vskip 1.5ex%
  482. \bfseries%
  483. \MakeUppercase{#1}\par\nobreak
  484. \vskip 1.5ex
  485. }%
  486. \fi
  487. }
  488. \def\@schapter#1{%
  489. \ifx\YouAreInToC\undefined
  490. \addcontentsline{toc}{chapter}{%
  491. \texorpdfstring{%
  492. {\sparseFnt#1}}{#1}%
  493. }%
  494. \fi
  495. \chaptermark{#1}%
  496. \if@twocolumn
  497. \@topnewpage[\@makeschapterhead{#1}]%
  498. \else
  499. \@makeschapterhead{#1}%
  500. \@afterheading
  501. \fi}
  502. \def\@makeschapterhead#1{\vspace*{50\p@}%
  503. {\parindent \z@ \centering
  504. \normalfont
  505. \interlinepenalty\@M
  506. \normalsize%
  507. {\sparseFnt\MakeUppercase{#1}}%
  508. \par\nobreak
  509. \vskip 3ex
  510. }}
  511. \newcommand\section{\secdef\@section\@ssection}
  512. \def\@section[#1]#2{%
  513. \ifnum \c@secnumdepth >\m@ne
  514. \if@mainmatter
  515. \refstepcounter{section}%
  516. \ifnum%
  517. \ifnum \c@section=4 1\else
  518. \ifnum \c@section=5 1\else
  519. \ifnum \c@section=9 1\else
  520. \ifnum \c@section=24 1\else
  521. \ifnum \c@section=34 1\else
  522. \ifnum \c@section=37 1\else
  523. \ifnum \c@section=40 1\else
  524. \ifnum \c@section=47 1\else
  525. \ifnum \c@section=53 1\else
  526. \ifnum \c@section=59 1\else
  527. \ifnum \c@section=71 1\else
  528. \ifnum \c@section=74 1\else
  529. \ifnum \c@section=79 1\else 0\fi
  530. \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
  531. =1 \def\@SectPrefix{{\bfseries *}\textsection}%
  532. \else \def\@SectPrefix{\hspace*{\AsterixLen}\textsection}%
  533. \fi
  534. \typeout{\@SectPrefix \thesection. #1}%
  535. \addcontentsline{toc}{section}{%
  536. \texorpdfstring{%
  537. \@SectPrefix %
  538. \hbox to \WoLongestSeNm {\hfil\thesection.\hspace*{0.25em}}%
  539. #1}%
  540. {\@SectPrefix\thesection. #1}%
  541. }%
  542. \else
  543. \addcontentsline{toc}{section}{#1}%
  544. \fi
  545. \else
  546. \addcontentsline{toc}{section}{#1}%
  547. \fi
  548. \sectionmark{#1}%
  549. \addtocontents{lof}{\protect\addvspace{10\p@}}%
  550. \addtocontents{lot}{\protect\addvspace{10\p@}}%
  551. \if@twocolumn
  552. \@topnewpage[\@makesectionhead{#2}]%
  553. \else
  554. \@makesectionhead{#2}%
  555. \@afterheading
  556. \fi}
  557. \def\@makesectionhead#1{%
  558. \vspace*{3ex}%
  559. {\parindent \z@
  560. \centering\normalfont
  561. \interlinepenalty\@M
  562. \normalsize\bfseries%
  563. \@SectPrefix\hspace*{.25em}\thesection.\hspace*{.25em}%
  564. \MakeUppercase{#1}\par\nobreak
  565. \vskip 1.5ex
  566. }}
  567. \def\@ssection#1{\if@twocolumn
  568. \@topnewpage[\@makessectionhead{#1}]%
  569. \else
  570. \@makessectionhead{#1}%
  571. \@afterheading
  572. \fi}
  573. \def\@makessectionhead#1{%
  574. \vspace*{3ex}%
  575. {\parindent \z@ \centering
  576. \normalfont
  577. \interlinepenalty\@M
  578. \normalsize\bfseries%
  579. \hspace*{.25em}\thesection.\hspace*{.25em}%
  580. \MakeUppercase{#1}\par\nobreak
  581. \vskip 1ex
  582. }}
  583. \newcommand\subsection{\@startsection{subsection}{2}{\z@}%
  584. {-3.25ex\@plus -1ex \@minus -.2ex}%
  585. {1.5ex \@plus .2ex}%
  586. {\normalfont\large\bfseries}}
  587. \newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
  588. {-3.25ex\@plus -1ex \@minus -.2ex}%
  589. {1.5ex \@plus .2ex}%
  590. {\normalfont\normalsize\bfseries}}
  591. \newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
  592. {3.25ex \@plus1ex \@minus.2ex}%
  593. {-1em}%
  594. {\normalfont\normalsize\bfseries}}
  595. \newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
  596. {3.25ex \@plus1ex \@minus .2ex}%
  597. {-1em}%
  598. {\normalfont\normalsize\bfseries}}
  599. \if@twocolumn
  600. \setlength\leftmargini {2em}
  601. \else
  602. \setlength\leftmargini {2.5em}
  603. \fi
  604. \leftmargin \leftmargini
  605. \setlength\leftmarginii {2.2em}
  606. \setlength\leftmarginiii {1.87em}
  607. \setlength\leftmarginiv {1.7em}
  608. \if@twocolumn
  609. \setlength\leftmarginv {.5em}
  610. \setlength\leftmarginvi {.5em}
  611. \else
  612. \setlength\leftmarginv {1em}
  613. \setlength\leftmarginvi {1em}
  614. \fi
  615. \setlength \labelsep {.5em}
  616. \setlength \labelwidth{\leftmargini}
  617. \addtolength\labelwidth{-\labelsep}
  618. \@beginparpenalty -\@lowpenalty
  619. \@endparpenalty -\@lowpenalty
  620. \@itempenalty -\@lowpenalty
  621. \renewcommand\theenumi{\@arabic\c@enumi}
  622. \renewcommand\theenumii{\@alph\c@enumii}
  623. \renewcommand\theenumiii{\@roman\c@enumiii}
  624. \renewcommand\theenumiv{\@Alph\c@enumiv}
  625. \newcommand\labelenumi{\theenumi.}
  626. \newcommand\labelenumii{(\theenumii)}
  627. \newcommand\labelenumiii{\theenumiii.}
  628. \newcommand\labelenumiv{\theenumiv.}
  629. \renewcommand\p@enumii{\theenumi}
  630. \renewcommand\p@enumiii{\theenumi(\theenumii)}
  631. \renewcommand\p@enumiv{\p@enumiii\theenumiii}
  632. \newcommand\labelitemi{\textbullet}
  633. \newcommand\labelitemii{\normalfont\bfseries \textendash}
  634. \newcommand\labelitemiii{\textasteriskcentered}
  635. \newcommand\labelitemiv{\textperiodcentered}
  636. \newenvironment{description}
  637. {\list{}{\labelwidth\z@ \itemindent-\leftmargin
  638. \let\makelabel\descriptionlabel}}
  639. {\endlist}
  640. \newcommand*\descriptionlabel[1]{\hspace\labelsep
  641. \normalfont\bfseries #1}
  642. \newenvironment{verse}
  643. {\let\\\@centercr
  644. \list{}{\itemsep \z@
  645. \itemindent -1.5em%
  646. \listparindent\itemindent
  647. \rightmargin \leftmargin
  648. \advance\leftmargin 1.5em}%
  649. \item\relax}
  650. {\endlist}
  651. \newenvironment{quotation}
  652. {\list{}{\listparindent 1.5em%
  653. \itemindent \listparindent
  654. \rightmargin \leftmargin
  655. \parsep \z@ \@plus\p@}%
  656. \item\relax}
  657. {\endlist}
  658. \newenvironment{quote}
  659. {\list{}{\rightmargin\leftmargin}%
  660. \item\relax}
  661. {\endlist}
  662. \newenvironment{titlepage}
  663. {%
  664. \cleardoublepage
  665. \if@twocolumn
  666. \@restonecoltrue\onecolumn
  667. \else
  668. \@restonecolfalse\newpage
  669. \fi
  670. \thispagestyle{empty}%
  671. \setcounter{page}\@ne
  672. }%
  673. {\if@restonecol\twocolumn \else \newpage \fi
  674. \if@twoside\else
  675. \setcounter{page}\@ne
  676. \fi
  677. }
  678. \newcommand\appendix{\par
  679. \@mainmatterfalse
  680. \def\YouAreInAppendix{1}%
  681. \setcounter{chapter}{0}%
  682. \setcounter{section}{0}%
  683. \renewcommand{\chaptername}{Добавление}%
  684. \gdef\@chapapp{\appendixname}%
  685. \gdef\thechapter{\@Roman\c@chapter}%
  686. \renewcommand{\partmark}[1]{\markboth{{\small Добавления}}{}}%
  687. \renewcommand{\chaptermark}[1]{%
  688. \markright{{\small\chaptername\hspace*{0.5em}\thechapter}}}%
  689. \renewcommand{\sectionmark}[1]{}%
  690. \fancyhead[CE]{\itshape\nouppercase{\leftmark}}%
  691. \fancyhead[CO]{\itshape\nouppercase{\rightmark}}%
  692. }
  693. \setlength\arraycolsep{5\p@}
  694. \setlength\tabcolsep{6\p@}
  695. \setlength\arrayrulewidth{.4\p@}
  696. \setlength\doublerulesep{2\p@}
  697. \setlength\tabbingsep{\labelsep}
  698. \skip\@mpfootins = \skip\footins
  699. \setlength\fboxsep{3\p@}
  700. \setlength\fboxrule{.4\p@}
  701. \@addtoreset {equation}{chapter}
  702. \renewcommand\theequation
  703. {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@equation}
  704. \newcounter{figure}[chapter]
  705. \renewcommand \thefigure
  706. {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@figure}
  707. \def\fps@figure{tbp}
  708. \def\ftype@figure{1}
  709. \def\ext@figure{lof}
  710. \def\fnum@figure{\figurename~\thefigure}
  711. \newenvironment{figure}
  712. {\@float{figure}}
  713. {\end@float}
  714. \newenvironment{figure*}
  715. {\@dblfloat{figure}}
  716. {\end@dblfloat}
  717. \newcounter{table}[chapter]
  718. \renewcommand \thetable
  719. {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@table}
  720. \def\fps@table{tbp}
  721. \def\ftype@table{2}
  722. \def\ext@table{lot}
  723. \def\fnum@table{\tablename~\thetable}
  724. \newenvironment{table}
  725. {\@float{table}}
  726. {\end@float}
  727. \newenvironment{table*}
  728. {\@dblfloat{table}}
  729. {\end@dblfloat}
  730. \newlength\abovecaptionskip
  731. \newlength\belowcaptionskip
  732. \setlength\abovecaptionskip{10\p@}
  733. \setlength\belowcaptionskip{0\p@}
  734. \long\def\@makecaption#1#2{%
  735. \vskip\abovecaptionskip
  736. \sbox\@tempboxa{#1: #2}%
  737. \ifdim \wd\@tempboxa >\hsize
  738. #1: #2\par
  739. \else
  740. \global \@minipagefalse
  741. \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
  742. \fi
  743. \vskip\belowcaptionskip}
  744. \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
  745. \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
  746. \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
  747. \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
  748. \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
  749. \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
  750. \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
  751. \DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
  752. \DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
  753. \newcommand\@pnumwidth{1.55em}
  754. \newcommand\@tocrmarg{2.55em}
  755. \newcommand\@dotsep{4.5}
  756. \setcounter{tocdepth}{2}
  757. \newcommand\tableofcontents{%
  758. \def\YouAreInToC{1}
  759. \if@twocolumn
  760. \@restonecoltrue\onecolumn
  761. \else
  762. \@restonecolfalse
  763. \fi
  764. \chapter*{\contentsname}%
  765. \@mkboth{{\small\contentsname}}{{\small\contentsname}}
  766. \@starttoc{toc}%
  767. \if@restonecol\twocolumn\fi}
  768. \newcommand*\l@part[2]{%
  769. \ifnum \c@tocdepth >-2\relax
  770. {\centering \parindent \z@ \relax
  771. \vskip 1.5ex
  772. #1 \nopagebreak
  773. \vskip 1.5ex
  774. \par}
  775. \fi}
  776. \newcommand*\l@chapter[2]{%
  777. \ifnum \c@tocdepth >\m@ne
  778. \vskip \z@ \@plus.2\p@
  779. {\leftskip \z@ \relax
  780. \rightskip \@tocrmarg \parfillskip -\rightskip
  781. \parindent \z@ \relax\@afterindenttrue
  782. \interlinepenalty\@M
  783. \leavevmode
  784. \@tempdima \WoLongestChNm\relax
  785. \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
  786. {#1}\nobreak
  787. \leaders\hbox{$\m@th
  788. \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
  789. mu$}\hfill
  790. \nobreak
  791. \hb@xt@\@pnumwidth{{\hfil\normalfont \normalcolor #2}}%
  792. \par\nopagebreak%
  793. }%
  794. \fi}
  795. %% ======= Section ToC =======
  796. \newcommand*\l@section[2]{
  797. \ifnum \c@tocdepth >\m@ne
  798. \vskip \z@ \@plus.2\p@
  799. {\leftskip \SectTocMarkIndent\relax %\SectTocIndent\relax
  800. \rightskip \@tocrmarg \parfillskip -\rightskip
  801. \parindent \SectTocMarkIndent \relax\@afterindenttrue
  802. \interlinepenalty\@M
  803. \leavevmode
  804. \@tempdima \TotlWoLongestSect\relax%\WoLongestSeNm\relax
  805. \advance\leftskip \@tempdima
  806. \null\nobreak\hskip -\leftskip
  807. {#1}\nobreak
  808. \leaders\hbox{$\m@th
  809. \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
  810. mu$}\hfill
  811. \nobreak
  812. \hb@xt@\@pnumwidth{{\hfil\normalfont \normalcolor #2}}%
  813. \par%
  814. }%
  815. \fi}
  816. \newcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}}
  817. \newcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
  818. \newcommand*\l@paragraph{\@dottedtocline{4}{10em}{5em}}
  819. \newcommand*\l@subparagraph{\@dottedtocline{5}{12em}{6em}}
  820. \newcommand*\l@appendix[2]{%
  821. \ifnum \c@tocdepth >\m@ne
  822. \vskip \z@ \@plus.2\p@
  823. {\leftskip \z@\relax
  824. \rightskip \@tocrmarg \parfillskip -\rightskip
  825. \parindent \z@ \relax\@afterindenttrue
  826. \interlinepenalty\@M
  827. \leavevmode
  828. \@tempdima \WoLongestApxNm\relax
  829. \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
  830. {#1}\nobreak
  831. \leaders\hbox{$\m@th
  832. \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
  833. mu$}\hfill
  834. \nobreak
  835. \hb@xt@\@pnumwidth{{\hfil\normalfont \normalcolor #2}}%
  836. \par\nopagebreak%
  837. }%
  838. \fi}
  839. \newcommand\listoffigures{%
  840. \if@twocolumn
  841. \@restonecoltrue\onecolumn
  842. \else
  843. \@restonecolfalse
  844. \fi
  845. \chapter*{\listfigurename
  846. \@mkboth{{\small\MakeUppercase\listfigurename}}%
  847. {{\small\MakeUppercase\listfigurename}}}%
  848. \@starttoc{lof}%
  849. \if@restonecol\twocolumn\fi
  850. }
  851. \newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
  852. \newcommand\listoftables{%
  853. \if@twocolumn
  854. \@restonecoltrue\onecolumn
  855. \else
  856. \@restonecolfalse
  857. \fi
  858. \chapter*{\listtablename
  859. \@mkboth{{\small\MakeUppercase\listtablename}}%
  860. {{\small\MakeUppercase\listtablename}}}%
  861. \@starttoc{lot}%
  862. \if@restonecol\twocolumn\fi
  863. }
  864. \let\l@table\l@figure
  865. \newdimen\bibindent
  866. \setlength\bibindent{1.5em}
  867. \newenvironment{thebibliography}[1]
  868. {\chapter*{\bibname }%
  869. \@mkboth{{\small\bibname}}{{\small\bibname}}
  870. \list{\@biblabel{\@arabic\c@enumiv}}%
  871. {\settowidth\labelwidth{\@biblabel{#1}}%
  872. \leftmargin\labelwidth
  873. \advance\leftmargin\labelsep
  874. \@openbib@code
  875. \usecounter{enumiv}%
  876. \let\p@enumiv\@empty
  877. \renewcommand\theenumiv{\@arabic\c@enumiv}}%
  878. \sloppy
  879. \clubpenalty4000
  880. \@clubpenalty \clubpenalty
  881. \widowpenalty4000%
  882. \sfcode`\.\@m}
  883. {\def\@noitemerr
  884. {\@latex@warning{Empty `thebibliography' environment}}%
  885. \endlist}
  886. \newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}
  887. \let\@openbib@code\@empty
  888. \newenvironment{theindex}
  889. {\if@twocolumn
  890. \@restonecolfalse
  891. \else
  892. \@restonecoltrue
  893. \fi
  894. \columnseprule \z@
  895. \columnsep 35\p@
  896. \twocolumn[\@makeschapterhead{\indexname}]%
  897. \@mkboth{{\small\MakeUppercase\indexname}}%
  898. {{\small\MakeUppercase\indexname}}%
  899. \thispagestyle{plain}\parindent\z@
  900. \parskip\z@ \@plus .3\p@\relax
  901. \let\item\@idxitem}
  902. {\if@restonecol\onecolumn\else\clearpage\fi}
  903. \newcommand\@idxitem{\par\hangindent 40\p@}
  904. \newcommand\subitem{\@idxitem \hspace*{20\p@}}
  905. \newcommand\subsubitem{\@idxitem \hspace*{30\p@}}
  906. \newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
  907. \renewcommand\footnoterule{%
  908. \kern-3\p@
  909. \hrule\@width.4\columnwidth
  910. \kern2.6\p@}
  911. \@addtoreset{footnote}{chapter}
  912. \newcommand\@makefntext[1]{%
  913. \parindent 1em%
  914. \noindent
  915. \hb@xt@1.8em{\hss\@makefnmark}#1}
  916. \newcommand\contentsname{Contents}
  917. \newcommand\listfigurename{List of Figures}
  918. \newcommand\listtablename{List of Tables}
  919. \newcommand\bibname{Bibliography}
  920. \newcommand\indexname{Index}
  921. \newcommand\figurename{Figure}
  922. \newcommand\tablename{Table}
  923. \newcommand\partname{Part}
  924. \newcommand\chaptername{Chapter}
  925. \newcommand\appendixname{Appendix}
  926. \def\today{\ifcase\month\or
  927. January\or February\or March\or April\or May\or June\or
  928. July\or August\or September\or October\or November\or December\fi
  929. \space\number\day, \number\year}
  930. \setlength\columnsep{10\p@}
  931. \setlength\columnseprule{0\p@}
  932. \pagestyle{headings}
  933. \pagenumbering{arabic}
  934. \if@twoside
  935. \else
  936. \raggedbottom
  937. \fi
  938. \if@twocolumn
  939. \twocolumn
  940. \sloppy
  941. \flushbottom
  942. \else
  943. \onecolumn
  944. \fi
  945. \endinput
  946. %%
  947. %% End of file `book.cls'.