summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/russ/russ_doc.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/russ/russ_doc.tex')
-rw-r--r--macros/latex/contrib/russ/russ_doc.tex887
1 files changed, 887 insertions, 0 deletions
diff --git a/macros/latex/contrib/russ/russ_doc.tex b/macros/latex/contrib/russ/russ_doc.tex
new file mode 100644
index 0000000000..1c0aff1cce
--- /dev/null
+++ b/macros/latex/contrib/russ/russ_doc.tex
@@ -0,0 +1,887 @@
+\documentclass[a4paper,12pt]{article}
+\usepackage{russ}
+\global\setlength\paperheight {297truemm}%
+\global\setlength\paperwidth {210truemm}%
+\global\setlength\pdfpageheight{297truemm}%
+\global\setlength\pdfpagewidth {210truemm}%
+\global\setlength\textheight {260truemm}%
+\global\setlength\textwidth {180truemm}%
+\global\setlength\hoffset {-1truein}%
+\global\setlength\voffset {-1truein}%
+\global\setlength\pdfhorigin {1truein}%
+\global\setlength\pdfvorigin {1truein}%
+\global\setlength\oddsidemargin{15truemm}%
+\global\setlength\topmargin {5truemm}%
+\global\setlength\leftskip {0truemm}%
+\global\setlength\rightskip {0truemm}%
+
+
+
+\begin{document}
+
+\bigskip
+\centerline{\Large{Пакет \texttt{russ.sty}}}
+\bigskip
+\centerline{\сегодня}
+\bigskip
+
+\begin{abstract}
+Пакет \texttt{russ.sty} позволяет включить все возможности \LaTeX'а при работе с русским языком: команды с русскими буквами, русские буквы в формулах и PDF, русские типографские традиции, переносы, без использования babel.
+\end{abstract}
+
+\tableofcontents
+
+\section{Использование}
+
+Пользоваться пакетом очень просто.
+Вместо
+\begin{verbatim}
+\usepackage{cmap}
+\usepackage[T2A]{fontenc}
+\usepackage[cp1251]{inputenc}
+\usepackage[russian]{babel}
+\end{verbatim}
+пишем просто
+\begin{verbatim}
+\usepackage{russ}
+\end{verbatim}
+
+
+
+\section{Что это даёт?}
+
+
+%\renewcommand{\labelenumi}{\ralph{\theenumi})}
+%\renewcommand{\theenumi}{\Roman{enumi}}
+\begin{rlist}
+\item включает русские переносы;
+\item устанавливает catcode'ы русских букв в “letter”, таким образом их можно использовать в командах (\verb"\newcommand{\команда}");
+\item устанавливает шрифты для русских букв в математических формулах, таким образом можно писать \verb"$V_{машины}$";
+\item переводит стандартные слова (Глава, Оглавление и т.д.);
+\item настраивает \LaTeX по русские типографские традиции (всевозможные точки или скобки после номеров, центровки, отбивки и т.д.);
+\item добавляет команды \verb"\ralph" и \verb"\Ralph" для русской нумерации а), б) ... (\verb"\ralph{счётчик}");
+\item добавляет unicode-глифы русских букв и математических символов в pdf, благодаря чему работает copy-paste с текстом в PDF;
+\item добавляет команды для оформления кавычек, \лк\те\пк, \лк\итд\пк, дефисов и тире в соответствии с русскими типографскими традициями;
+\item добавляет $\tg$ для \verb"\tg", и другие тригонометрические функции.
+\end{rlist}
+
+
+\section{Список команд}
+
+
+\begin{tabular}{|l|l|l|}
+ \hline
+ Команда & Пример & Код \\
+ \hline
+ \verb"\ralph", \verb"\Ralph"&\ralph{page}, \ralph{section} & \verb"\ralph{page}, \ralph{section}" \\
+ \verb"\ralphn", \verb"\Ralphn"&\ralphn{4}, \ralphn{8} & \verb"\ralphn{4}, \ralphn{8}" \\
+ \verb"\Ralph", \verb"\Ralph"&\Ralph{page}, \Ralph{section} & \verb"\Ralph{page}, \Ralph{section}" \\
+ \verb"\Ralphn", \verb"\Ralphn"&\Ralphn{4}, \Ralphn{8} & \verb"\Ralphn{4}, \Ralphn{8}" \\
+ \verb"\Ralph", \verb"\Ralph"&\Ralph{page}, \Ralph{section} & \verb"\Ralph{page}, \Ralph{section}" \\
+ \verb"\ipunct", \verb"\ipunct"&\ipunct{page}, \ipunct{section} & \verb"\ipunct{page}, \ipunct{section}" \\
+ \verb"\ipunctn", \verb"\ipunctn"&\ipunctn{4}, \ipunctn{8} & \verb"\ipunctn{4}, \ipunctn{8}" \\
+ \verb"\сегодня"&\сегодня& \verb"\сегодня" \\
+ \verb"\Те", \verb"\те"&\Те с пробелами, \те гуд.& \verb"\Те с пробелами, \те гуд." \\
+ \verb"\Тк", \verb"\тк"&\Тк с пробелами, \тк гуд.& \verb"\Тк с пробелами, \тк гуд." \\
+ \verb"\итд", \verb"\итп"&Не рвёт по середине, \итд \итп& \verb"Не рвёт по середине, \итд \итп" \\
+ \verb"\лк", \verb"\пк"&\лк Ясно\пк и \лк просто\пк.& \verb"\лк Ясно\пк и \лк просто\пк." \\
+
+ \verb""&& \verb"" \\
+ \verb"", \verb""&& \verb"" \\
+ \hline
+\end{tabular}
+
+
+\section{PDF}
+
+Попробуйте copy-paste для следующих строчек:
+
+$$\hbox{Просто русский текст для копирования}$$
+
+$$\sin(\alpha \pm \beta) = \sin\alpha \cos\beta \pm \sin\beta \cos\alpha.$$
+
+$$F_{арх} = \rho_{жидк} \cdot g \cdot V_{тела} $$
+
+Замечательно, не правда ли?
+
+
+\newpage
+\section{Исходный код}
+\begin{verbatim}
+% ===============================================================
+% The package aims to facilitate Russian typesetting (based on input
+% using MicroSoft Code Page 1251).
+% If you are going to use another encoding just type
+% \usepackage[ENCODING]{inputenc}
+% Russian hyphenation is selected, and various mathematical commands
+% are set up in Russian style.
+% Furthermore all Cyrillic letters’ catcodes are set to “letter”,
+% so that commands with Cyrillic letters in their names may be defined.
+% Also Cyrillic letters are declared as math symbol, so you can
+% use it in formulas.
+% glyphtounicode.tex included, so there is no problem with
+% Cyrillics in PDF (copy-paste)
+% ===============================================================
+% License: LaTeX Project Public License
+% This software is copyright but you are granted a license which
+% gives you, the "user" of the software, legal permission to copy,
+% distribute, and/or modify the software. However, if you modify the
+% software and then distribute it (even just locally) you must change
+% the name of the software, or use other technical means to avoid confusion.
+% ===============================================================
+% based on russlh.sty, mathlh.sty, russcorr.sty and glyphtounicode.tex
+% ===============================================================
+
+\ProvidesPackage{russ}[2012/01/26 Russian language]
+\RequirePackage[cp1251]{inputenc}
+\RequirePackage{xspace}
+
+
+
+% ===============================================================
+% ===============================================================
+% ===============================================================
+% ===============================================================
+% russlh Начало: нужен для включения русского языка
+% ===============================================================
+\language\l@russian
+\lefthyphenmin=2
+\righthyphenmin=2
+
+\input {t2aenc.def}
+\renewcommand{\encodingdefault}{T2A}
+\fontencoding{T2A}\normalsize
+
+% From ltfinal.dtx
+\def\reserved@a#1#2{%
+ \@tempcnta#1\relax
+ \@tempcntb#2\relax
+ \reserved@b
+}
+\def\reserved@b{%
+ \ifnum\@tempcnta>\@tempcntb\else
+ \reserved@c\@tempcnta
+ \advance\@tempcnta\@ne
+ \expandafter\reserved@b
+ \fi
+}
+\def\reserved@c#1{\catcode#1=11\relax}
+% End from ltfinal.dtx
+\reserved@a{192}{223} % А-Я
+\reserved@a{224}{255} % а-я
+\catcode156=11 % Ё
+\catcode188=11 % ё
+
+\providecommand{\glqq}{\quotedblbase}
+\providecommand{\grqq}{\textquotedblleft}
+\providecommand{\flqq}{\guillemotleft}
+\providecommand{\frqq}{\guillemotright}
+\providecommand{\No}{\textnumero}
+
+% ===============================================================
+% russlh Конец
+% ===============================================================
+% ===============================================================
+% ===============================================================
+% ===============================================================
+
+
+
+
+
+
+
+
+
+
+
+
+% ===============================================================
+% ===============================================================
+% ===============================================================
+% ===============================================================
+% mathlh.sty Начало Позволяет писать русские команды
+% ===============================================================
+%% \DeclareSymbolFont{roperators} {T2A}{\rmdefault} {m}{n}
+%% \SetSymbolFont {roperators}{bold}{T2A}{\rmdefault} {b}{n}
+
+\DeclareSymbolFont{rletters} {T2A}{\rmdefault}{m}{it}
+\SetSymbolFont {rletters}{bold} {T2A}{\rmdefault}{b}{it}
+
+\expandafter\def\csname T2A-cmd\endcsname#1{%
+ \ifx\protect\@typeset@protect\else\noexpand#1\expandafter\@gobble\fi%
+ }
+\DeclareMathSymbol{^^c0}{\mathalpha}{rletters}{"C0} %% А
+\DeclareMathSymbol{^^c1}{\mathalpha}{rletters}{"C1} %% Б
+\DeclareMathSymbol{^^c2}{\mathalpha}{rletters}{"C2} %% В
+\DeclareMathSymbol{^^c3}{\mathalpha}{rletters}{"C3} %% Г
+\DeclareMathSymbol{^^c4}{\mathalpha}{rletters}{"C4} %% Д
+\DeclareMathSymbol{^^c5}{\mathalpha}{rletters}{"C5} %% Е
+\DeclareMathSymbol{^^c6}{\mathalpha}{rletters}{"C6} %% Ж
+\DeclareMathSymbol{^^c7}{\mathalpha}{rletters}{"C7} %% З
+\DeclareMathSymbol{^^c8}{\mathalpha}{rletters}{"C8} %% И
+\DeclareMathSymbol{^^c9}{\mathalpha}{rletters}{"C9} %% Й
+\DeclareMathSymbol{^^ca}{\mathalpha}{rletters}{"CA} %% К
+\DeclareMathSymbol{^^cb}{\mathalpha}{rletters}{"CB} %% Л
+\DeclareMathSymbol{^^cc}{\mathalpha}{rletters}{"CC} %% М
+\DeclareMathSymbol{^^cd}{\mathalpha}{rletters}{"CD} %% Н
+\DeclareMathSymbol{^^ce}{\mathalpha}{rletters}{"CE} %% О
+\DeclareMathSymbol{^^cf}{\mathalpha}{rletters}{"CF} %% П
+\DeclareMathSymbol{^^d0}{\mathalpha}{rletters}{"D0} %% Р
+\DeclareMathSymbol{^^d1}{\mathalpha}{rletters}{"D1} %% С
+\DeclareMathSymbol{^^d2}{\mathalpha}{rletters}{"D2} %% Т
+\DeclareMathSymbol{^^d3}{\mathalpha}{rletters}{"D3} %% У
+\DeclareMathSymbol{^^d4}{\mathalpha}{rletters}{"D4} %% Ф
+\DeclareMathSymbol{^^d5}{\mathalpha}{rletters}{"D5} %% Х
+\DeclareMathSymbol{^^d6}{\mathalpha}{rletters}{"D6} %% Ц
+\DeclareMathSymbol{^^d7}{\mathalpha}{rletters}{"D7} %% Ч
+\DeclareMathSymbol{^^d8}{\mathalpha}{rletters}{"D8} %% Ш
+\DeclareMathSymbol{^^d9}{\mathalpha}{rletters}{"D9} %% Щ
+\DeclareMathSymbol{^^da}{\mathalpha}{rletters}{"DA} %% Ъ
+\DeclareMathSymbol{^^db}{\mathalpha}{rletters}{"DB} %% Ы
+\DeclareMathSymbol{^^dc}{\mathalpha}{rletters}{"DC} %% Ь
+\DeclareMathSymbol{^^dd}{\mathalpha}{rletters}{"DD} %% Э
+\DeclareMathSymbol{^^de}{\mathalpha}{rletters}{"DE} %% Ю
+\DeclareMathSymbol{^^df}{\mathalpha}{rletters}{"DF} %% Я
+
+\DeclareMathSymbol{^^e0}{\mathalpha}{rletters}{"E0} %% а
+\DeclareMathSymbol{^^e1}{\mathalpha}{rletters}{"E1} %% б
+\DeclareMathSymbol{^^e2}{\mathalpha}{rletters}{"E2} %% в
+\DeclareMathSymbol{^^e3}{\mathalpha}{rletters}{"E3} %% г
+\DeclareMathSymbol{^^e4}{\mathalpha}{rletters}{"E4} %% д
+\DeclareMathSymbol{^^e5}{\mathalpha}{rletters}{"E5} %% е
+\DeclareMathSymbol{^^e6}{\mathalpha}{rletters}{"E6} %% ж
+\DeclareMathSymbol{^^e7}{\mathalpha}{rletters}{"E7} %% з
+\DeclareMathSymbol{^^e8}{\mathalpha}{rletters}{"E8} %% и
+\DeclareMathSymbol{^^e9}{\mathalpha}{rletters}{"E9} %% й
+\DeclareMathSymbol{^^ea}{\mathalpha}{rletters}{"EA} %% к
+\DeclareMathSymbol{^^eb}{\mathalpha}{rletters}{"EB} %% л
+\DeclareMathSymbol{^^ec}{\mathalpha}{rletters}{"EC} %% м
+\DeclareMathSymbol{^^ed}{\mathalpha}{rletters}{"ED} %% н
+\DeclareMathSymbol{^^ee}{\mathalpha}{rletters}{"EE} %% о
+\DeclareMathSymbol{^^ef}{\mathalpha}{rletters}{"EF} %% п
+\DeclareMathSymbol{^^f0}{\mathalpha}{rletters}{"F0} %% р
+\DeclareMathSymbol{^^f1}{\mathalpha}{rletters}{"F1} %% с
+\DeclareMathSymbol{^^f2}{\mathalpha}{rletters}{"F2} %% т
+\DeclareMathSymbol{^^f3}{\mathalpha}{rletters}{"F3} %% у
+\DeclareMathSymbol{^^f4}{\mathalpha}{rletters}{"F4} %% ф
+\DeclareMathSymbol{^^f5}{\mathalpha}{rletters}{"F5} %% х
+\DeclareMathSymbol{^^f6}{\mathalpha}{rletters}{"F6} %% ц
+\DeclareMathSymbol{^^f7}{\mathalpha}{rletters}{"F7} %% ч
+\DeclareMathSymbol{^^f8}{\mathalpha}{rletters}{"F8} %% ш
+\DeclareMathSymbol{^^f9}{\mathalpha}{rletters}{"F9} %% щ
+\DeclareMathSymbol{^^fa}{\mathalpha}{rletters}{"FA} %% ъ
+\DeclareMathSymbol{^^fb}{\mathalpha}{rletters}{"FB} %% ы
+\DeclareMathSymbol{^^fc}{\mathalpha}{rletters}{"FC} %% ь
+\DeclareMathSymbol{^^fd}{\mathalpha}{rletters}{"FD} %% э
+\DeclareMathSymbol{^^fe}{\mathalpha}{rletters}{"FE} %% ю
+\DeclareMathSymbol{^^ff}{\mathalpha}{rletters}{"FF} %% я
+
+\DeclareMathSymbol{^^9c}{\mathalpha}{rletters}{"9C} %% Ё
+\DeclareMathSymbol{^^bc}{\mathalpha}{rletters}{"BC} %% ё
+
+\SetMathAlphabet{\mathrm}{normal}{T2A}{\rmdefault}{m}{n}
+\SetMathAlphabet{\mathrm}{bold} {T2A}{\rmdefault}{b}{n}
+\SetMathAlphabet{\mathit}{normal}{T2A}{\rmdefault}{m}{it}
+\SetMathAlphabet{\mathit}{bold} {T2A}{\rmdefault}{b}{it}
+\SetMathAlphabet{\mathbf}{normal}{T2A}{\rmdefault}{b}{n}
+\SetMathAlphabet{\mathbf}{bold} {T2A}{\rmdefault}{b}{n}
+% ===============================================================
+% mathlh.sty Конец
+% ===============================================================
+% ===============================================================
+% ===============================================================
+% ===============================================================
+
+
+
+
+
+
+
+
+
+% ===============================================================
+% ===============================================================
+% ===============================================================
+% ===============================================================
+% russcorr Начало Приводим оформление к нашему стилю
+% ===============================================================
+%%% Style options
+%%%
+\newif\if@longtoc
+\DeclareOption{longtoc}{\@longtoctrue}
+\DeclareOption{shorttoc}{\@longtocfalse}
+\newif\if@indentheadings
+\DeclareOption{indentheadings}{\@indentheadingstrue}
+\DeclareOption{noindentheadings}{\@indentheadingsfalse}
+\newif\if@textyо
+\DeclareOption{yo}{\@textyоtrue}
+\DeclareOption{noyo}{\@textyоfalse}
+\ExecuteOptions{shorttoc,noindentheadings,noyo}
+\ProcessOptions
+
+
+\message{^^J Correcting math definitions,}
+\def\tg{\mathop{\operator@font tg}\nolimits}
+\def\ctg{\mathop{\operator@font ctg}\nolimits}
+\def\cosec{\mathop{\operator@font cosec}\nolimits}
+\def\arctg{\mathop{\operator@font arctg}\nolimits}
+\def\arcctg{\mathop{\operator@font arcctg}\nolimits}
+\def\sh{\mathop{\operator@font sh}\nolimits}
+\def\ch{\mathop{\operator@font ch}\nolimits}
+\def\th{\mathop{\operator@font th}\nolimits}
+\def\cth{\mathop{\operator@font cth}\nolimits}
+
+\DeclareSymbolFont{AMSa}{U}{msa}{m}{n}
+\DeclareSymbolFont{AMSb}{U}{msb}{m}{n}
+\DeclareMathSymbol{\varkappa}{\mathord}{AMSb}{"7B}
+\DeclareMathSymbol{\leqslant}{\mathrel}{AMSa}{"36}
+\DeclareMathSymbol{\geqslant}{\mathrel}{AMSa}{"3E}
+
+\message{heading names,}
+\def\contentsname{Оглавление}
+\def\figurename{Рис.}
+\def\partname{Часть}
+\def\listfigurename{Список рисунков}
+\def\listtablename{Список таблиц}
+\def\refname{Литература}
+\def\bibname{Литература}
+\def\indexname{Предметный указатель}
+\def\tablename{Таблица}
+\def\abstractname{Аннотация}
+\@ifundefined{chapter}{}{\def\chaptername{Глава}}
+\def\proofname{Доказательство}
+%%
+\message{counters,}
+\def\ralph#1{\ralphn{\@nameuse {c@#1}}}
+\def\ralphn#1{%
+\ifcase #1\or а\or б\or в\or г\or д\or е\or ж\or з\or и\else\@iralph{#1}\fi}
+\def\@iralph#1{%
+\ifcase #1\or\or\or\or\or\or\or\or\or\or к\or л\or м\or н\or о\or п%
+\or р\or с\or т\or у\or ф\or х\or ц\or ч\or ш\or щ\or э\or ю\or я%
+\else\@ctrerr \fi}
+\def\Ralph#1{\Ralphn{\@nameuse {c@#1}}}
+\def\Ralphn#1{%
+\ifcase #1\or А\or Б\or В\or Г\or Д\or Е\or Ж\or З\or И\else\@iRalph{#1}\fi}
+\def\@iRalph#1{\ifcase #1\or\or\or\or\or\or\or\or\or\or К\or Л\or М\or Н\or О\or П%
+\or Р\or С\or Т\or У\or Ф\or Х\or Ц\or Ч\or Ш\or Щ\or Э\or Ю\or Я%
+\else\@ctrerr \fi}
+\newcommand*{\ipunct}[1]{\ipunctn{\@nameuse{c@#1}}}
+\newcommand*{\ipunctn}[1]%
+ {\ifcase #1\or (\textit{i\/})\or (\textit{ii\/})\or (\textit{iii\/})%
+ \or (\textit{iv\/})\or (\textit{v\/})\or %
+ (\textit{vi\/})\or (\textit{vii\/})\or (\textit{viii\/})\or (\textit{ix\/})%
+ \or (\textit{x\/})\or (\textit{xi\/})\or (\textit{xii\/})\or %
+ (\textit{xiii\/})\or (\textit{xiv\/})\or (\textit{xv\/})\or (\textit{xvi\/})%
+ \or (\textit{xvii\/})\or (\textit{xviii\/})%
+ \or (\textit{xix\/})\or (\textit{xx\/}) \else\@ctrerr \fi}
+
+
+
+\message{lists,}
+% Теперь "русифицируем" окружение enumerate:
+\def\labelenumi{\theenumi.}
+\def\theenumii{\ralph{enumii}}
+\def\labelenumii{\theenumii.}
+\def\p@enumii{\theenumi}
+\def\labelenumiii{{\bf--}}
+\let\theenumiii\relax
+\def\p@enumiii{\theenumi\theenumii}
+%
+% И еще запретим вкладывать четыре enumerate друг в друга ...
+%
+\def\enumerate{\ifnum \@enumdepth >2% было 3, а не 2
+\@toodeep\else
+ \advance\@enumdepth \@ne
+ \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list
+ {\csname label\@enumctr\endcsname}{\usecounter
+ {\@enumctr}\def\makelabel##1{\hss\llap{##1}}}\fi}
+%
+% Теперь определим окружение rlist
+% для создания списков, в которых
+% \item'ы нумеруются русскими буквами
+% (строчными для rlist, прописными для rlist[u])
+%
+\@definecounter{rlistctr}
+\newif\if@rlistsnested\@rlistsnestedfalse
+\def\rlist{\@ifnextchar[{\@rlist}{\@rlist[l]}}
+\def\@rlist[#1]{\if u#1\def\@tempa{R}\else\def\@tempa{r}\fi
+ \if@rlistsnested\@toodeep\else
+ \@rlistsnestedtrue
+ \edef\therlistctr{\expandafter\noexpand\csname
+ \@tempa alphn\endcsname\noexpand\c@rlistctr}%
+ \list{\labelrlist}{\usecounter
+ {rlistctr}}\fi}
+\let\endrlist\endlist
+\def\labelrlist{\therlistctr)}
+
+
+\message{headings,}
+\def\@seccntformat#1{\csname pre#1\endcsname\csname the#1\endcsname
+ \csname post#1\endcsname}
+\let\@Tocseccntformat\@seccntformat
+\def\@postskip@{\hskip.5em\relax}
+
+\def\postsection{.\@postskip@}
+\def\postsubsection{.\@postskip@}
+\def\postsubsubsection{.\@postskip@}
+\def\postparagraph{.\@postskip@}
+\def\postsubparagraph{.\@postskip@}
+
+\def\presection{}
+\def\presubsection{}
+\def\presubsubsection{}
+\def\preparagraph{}
+\def\presubparagraph{}
+%%% Unfortunately, \@seccntformat is not reflected in toc.
+%%% Hence, I had to hack up the definition of \@sect a little.
+\def\@sect#1#2#3#4#5#6[#7]#8{%
+ \ifnum #2>\c@secnumdepth
+ \let\@svsec\@empty
+ \else
+ \refstepcounter{#1}%
+ \protected@edef\@svsec{\@seccntformat{#1}\relax}%
+ \fi
+ \@tempskipa #5\relax
+ \ifdim \@tempskipa>\z@
+ \begingroup
+ #6{%
+ \@hangfrom{\hskip #3\relax\@svsec}%
+ \interlinepenalty \@M #8\@@par}%
+ \endgroup
+ \csname #1mark\endcsname{#7}%
+ \addcontentsline{toc}{#1}{%
+ \ifnum #2>\c@secnumdepth \else
+ \protect\numberline{\@Tocseccntformat{#1}}%
+ \fi
+ \if@longtoc#8\else#7\fi}%
+ \else
+ \def\@svsechd{%
+ #6{\hskip #3\relax
+ \@svsec #8}%
+ \csname #1mark\endcsname{#7}%
+ \addcontentsline{toc}{#1}{%
+ \ifnum #2>\c@secnumdepth \else
+ \protect\numberline{\@Tocseccntformat{#1}}%
+ \fi
+ \if@longtoc#8\else#7\fi}}%
+ \fi
+ \@xsect{#5}}
+
+
+\if@indentheadings
+\def\section{\@startsection {section}{1}{\parindent}%
+ {3.5ex \@plus 1ex \@minus .2ex}%
+ {2.3ex \@plus.2ex}%
+ {\reset@font\Large\bfseries}}
+\def\subsection{\@startsection{subsection}{2}{\parindent}%
+ {3.25ex\@plus 1ex \@minus .2ex}%
+ {1.5ex \@plus .2ex}%
+ {\reset@font\large\bfseries}}
+\def\subsubsection{\@startsection{subsubsection}{3}{\parindent}%
+ {3.25ex\@plus 1ex \@minus .2ex}%
+ {1.5ex \@plus .2ex}%
+ {\reset@font\normalsize\bfseries}}
+\fi
+
+
+\def\@mainmattertrue{\let\if@mainmatter\iftrue}
+\def\@mainmatterfalse{\let\if@mainmatter\iffalse}
+\@ifclassloaded{report}{\@mainmattertrue}{}
+
+\@ifundefined{chapter}{}{%
+\def\postchapter{.}
+\def\chapter{\if@openright\cleardoublepage\else\clearpage\fi
+ \thispagestyle{plain}%
+ \global\@topnum\z@
+ \if@indentheadings\@afterindenttrue
+ \else\@afterindentfalse
+ \fi
+ \secdef\@chapter\@schapter}
+\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \refstepcounter{chapter}%
+ \typeout{\@chapapp\space\thechapter.}%
+ \addcontentsline{toc}{chapter}%
+ {\protect\numberline{\thechapter
+ \postchapter}%
+ \if@longtoc#2\else#1\fi}%
+ \else
+ \addcontentsline{toc}{chapter}%
+ {\if@longtoc#2\else#1\fi}\fi
+ \else
+ \addcontentsline{toc}{chapter}{\if@longtoc#2\else#1\fi}
+ \fi
+ \chaptermark{#1}%
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \if@twocolumn
+ \@topnewpage[\@makechapterhead{#2}]%
+ \else
+ \@makechapterhead{#2}%
+ \@afterheading
+ \fi}
+}% end of conditional
+\@ifundefined{chapter}{}{%
+\def\@makechapterhead#1{%
+ \vspace*{50\p@}%
+ {\reset@font \@tempdima\parindent \raggedright
+%%% ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ \if@indentheadings\advance\leftskip\@tempdima\fi
+%%% ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \huge\bfseries \@chapapp{} \thechapter\postchapter
+ \par\nobreak
+ \vskip 20\p@
+ \fi
+ \fi
+ \interlinepenalty\@M
+ \Huge \bfseries #1\par
+ \nobreak
+ \vskip 40\p@
+ }}%
+\def\@schapter#1{\if@twocolumn
+ \@topnewpage[\@makeschapterhead{#1}]%
+ \else
+ \@makeschapterhead{#1}%
+ \@afterheading
+ \fi}
+\def\@makeschapterhead#1{%
+ \vspace*{50\p@}%
+ {\reset@font \@tempdima\parindent \raggedright
+%%^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ \if@indentheadings\advance\leftskip\@tempdima\fi
+%%^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ \interlinepenalty\@M
+ \Huge \bfseries #1\par\nobreak
+ \nobreak
+ \vskip 40\p@
+ }}
+}% end of conditional
+
+
+\message{captions,}
+\long\def\@makecaption#1#2{%
+ \vskip\abovecaptionskip
+ \sbox\@tempboxa{#1. #2}%
+ \ifdim \wd\@tempboxa >\hsize
+ \unhbox\@tempboxa\par
+ \else
+ \global \@minipagefalse
+ \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi
+ \vskip\belowcaptionskip}
+
+\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname
+ ext@#1\endcsname}{#1}{\protect\numberline{\csname
+ the#1\endcsname.}{\ignorespaces #2}}\begingroup
+ \@parboxrestore
+ \normalsize
+ \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
+ \endgroup}
+
+\message{theorems,}
+\def\afterthmseparator{.}
+\expandafter\ifx\csname theoremstyle\endcsname\relax
+ \def\@begintheorem#1#2{\trivlist
+ \item[\hskip \labelsep{\bfseries #1\ #2\unskip\afterthmseparator
+ }]\itshape}
+ \def\@opargbegintheorem#1#2#3{\trivlist
+ \item[\hskip \labelsep{\bfseries #1\ #2\ (#3)\afterthmseparator
+ }]\itshape}
+\fi
+\message{running heads,}
+\def\@ArticleHeadingsCorr{%
+ \if@twoside
+ \def\ps@headings{\let\@mkboth\markboth
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{\thepage\hfil\slshape\leftmark}%
+ \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+ \def\sectionmark####1{\markboth {\uppercase{\ifnum \c@secnumdepth >\z@
+ \thesection\postsection \hskip 1em\relax \fi ####1}}{}}%
+ \def\subsectionmark####1{\markright {\ifnum \c@secnumdepth >\@ne
+ \thesubsection\postsubsection \hskip 1em\relax \fi ####1}}}
+ \else
+ \def\ps@headings{\let\@mkboth\markboth
+ \let\@oddfoot\@empty
+ \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+ \def\sectionmark####1{\markright {\uppercase{\ifnum \c@secnumdepth >\z@
+ \thesection\postsection \hskip 1em\relax \fi ####1}}}}
+ \fi
+}
+\def\@ReportHeadingsCorr{%
+ \if@twoside
+ \def\ps@headings{\let\@mkboth\markboth
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{\thepage\hfil\slshape\leftmark}%
+ \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+ \def\chaptermark####1{\markboth{\uppercase{\ifnum\c@secnumdepth>\m@ne
+ \@chapapp\ \thechapter.\fi ####1}}{}}%
+ \def\sectionmark####1{\markright{\uppercase{\ifnum\c@secnumdepth>\z@
+ \thesection. \fi ####1}}}}
+ \else
+ \def\ps@headings{\let\@mkboth\markboth
+ \let\@oddfoot\@empty
+ \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+ \def\chaptermark####1{\markright{\uppercase{\ifnum\c@secnumdepth>\m@ne
+ \@chapapp\ \thechapter. \fi ####1}}}}
+ \fi
+}
+\def\@BookHeadingsCorr{%
+\def\ps@headings{\let\@mkboth\markboth
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{\thepage\hfil\slshape\leftmark}%
+ \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+ \def\chaptermark####1{%
+ \markboth {\uppercase{\ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \@chapapp\ \thechapter. \fi
+ ####1}}{}}%
+ \def\sectionmark####1{\markright {\uppercase{\ifnum \c@secnumdepth >\z@
+ \thesection. \fi ####1}}}}
+}
+\@ifclassloaded{article}{\@ArticleHeadingsCorr}{}
+\@ifclassloaded{report}{\@ReportHeadingsCorr}{}
+\@ifclassloaded{book}{\@BookHeadingsCorr}{}
+%% \if A\@mainstyle % стиль - article (вставлено ".\@aftersepkern" после номера)
+%% \@ArticleHeadingsCorr
+%% \else\if R\@mainstyle % стиль=report. Два пробела после точки заменены на один.
+%% \@ReportHeadingsCorr
+%% \else % стиль=book (два пробела после точки заменены на один)
+%% \@BookHeadingsCorr
+%% \fi\fi
+%
+
+\message{appendix,}
+%% \if A\@mainstyle
+\@ifclassloaded{article}{%
+ \def\appendix{\par
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \let\sectionname\appendixname
+ \def\thesection{\@Ralph\c@section}}
+}{%
+\def\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \def\@chapapp{\appendixname}%
+ \def\thechapter{\@Ralph\c@chapter}}
+}
+
+\message{\string\cleardoublepage,}
+\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
+ {\null\ps@empty % добавил \ps@empty (и заодно заменил \hbox{} на \null )
+\newpage}\if@twocolumn{\null\ps@empty\newpage}\fi\fi\fi} % ditto
+
+\message{quotes,}
+% !!!! Отсюда и до второго вхождения !!!! все сперто из german.sty
+\def\@allowhyphens{\penalty\@M\hskip\z@skip}
+\def\set@low@box#1{\setbox\tw@\hbox{,}\setbox\z@\hbox{#1}\dimen\z@\ht\z@
+ \advance\dimen\z@ -\ht\tw@
+ \setbox\z@\hbox{\lower\dimen\z@ \box\z@}\ht\z@\ht\tw@ \dp\z@\dp\tw@ }
+% (this lowers the german left quotes to the same level as the comma.)
+\def\@glqq{{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else
+ \let\@SF\empty \fi \leavevmode
+ \set@low@box{''}\box\z@\kern-.04em\@allowhyphens\@SF\relax}}
+\def\glqq{\protect\@glqq}
+\def\@grqq{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else
+ \let\@SF\empty \fi \kern-.07em``\kern.07em\@SF\relax}
+\def\grqq{\protect\@grqq}
+\def\@glq{{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else
+ \let\@SF\empty \fi \leavevmode
+ \set@low@box{'}\box\z@\kern-.04em\@allowhyphens\@SF\relax}}
+\def\glq{\protect\@glq}
+\def\@grq{\kern-.07em`\kern.07em}
+\def\grq{\protect\@grq}
+% !!!!
+
+% \сегодня is the Russian counterpart of \today;
+% we prefer to keep the original \today intact
+\def\сегодня{\number\day\space
+ \ifcase\month\or
+ января\or февраля\or марта\or апреля\or мая\or
+ июня\or июля\or августа\or сентября\or октября\or
+ ноября\or декабря\fi\space\number\year}
+
+
+\frenchspacing
+\righthyphenmin 2
+
+\if@textyо
+ \message{the letter `yo',}
+ \def\@textyе{е}
+ \def\@textyЕ{Е}
+ \DeclareRobustCommand{\"}[1]{%
+ {\edef\@tempa{#1}%
+ \ifx\@tempa\@textyе \char 163\relax
+ \else \ifx\@tempa\@textyЕ \char 176\relax
+ \else \accent "7F #1\fi\fi
+ }%
+ }
+\fi
+
+
+%% What follows is intended to ensure compatibility with
+%% an earlier version of Russification of LaTeX 2.09,
+%% where a possibility to automatically count the total number of
+%% pages in the document was supported.
+\let\c@totalpages=\@tempcnta
+\let\@@global\global
+
+\message{... finished.}
+
+\AtBeginDocument{\ifdim\hsize<\@cclv\p@\pretolerance\m@ne\fi}
+
+% ===============================================================
+% russcorr Конец
+% ===============================================================
+% ===============================================================
+% ===============================================================
+% ===============================================================
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+% ===============================================================
+% ===============================================================
+% ===============================================================
+% ===============================================================
+% russadd Начало
+% ===============================================================
+% ------------------ команды типа \те (т.е.) --------------------
+
+% Набирайте "т.е." командой \те . Остальное -- аналогично.
+% Теперь можно не беспокоиться о пробелах после этих команд.
+% Например, можно наравне с
+% ..., \те\ ...
+% ..., \те{} ...
+% писать просто
+% ..., \те ...
+%
+
+\newcommand*{\те}{т.\,е.\xspace}
+\newcommand*{\Те}{Т.\,е.\xspace}
+\newcommand*{\тк}{т.\,к.\xspace}
+\newcommand*{\Тк}{Т.\,к.\xspace}
+\newcommand*{\итд}{и~т.\,д.\xspace}
+\newcommand*{\итп}{и~т.\,п.\xspace}
+\newcommand{\лк}{\guillemotleft\nobreak\ignorespaces}
+\newcommand{\пк}{\guillemotright\xspace}
+
+%
+
+% ------------------ команды типа \т (тире) ---------------------
+% Команда \клей позволяет приклеивать слова к формуле или ещё чему-нибудь.
+% Например, "частицы\клей $+$\клей поле"
+% Команды \д (\ч) и \Д (\ч) ставят дефисы (чёрточки), после которых
+% разрывы строки запрещены и разрешены, соответственно.
+% Итак,
+% \д ставит дефис, после которого разрыв строки ЗАПРЕЩЁН.
+% Напр., "$1$\д форма"
+% \Д ставит дефис, после которого разрыв строки РАЗРЕШЁН.
+% Напр., "Остроградского\ч Гаусса" (или тут нужно \Д ?)
+% Для интересующихся: если написать "$1$-форма" или "Остроградского--Гаусса",
+% то будет разрешено разрывать строчку после дефиса и запрещено переносить
+% слова "форма", "Остроградского" и "Гаусса". По этой причине и появилась
+% команда \клей.
+%
+
+\newcommand*{\клей}{\nobreak\hskip\z@skip}
+\DeclareRobustCommand*{\д}{\клей\hbox{-}\клей}
+\DeclareRobustCommand*{\Д}{\клей\hbox{-}\hskip\z@skip}
+\DeclareRobustCommand*{\ч}{\,\textendash\,\клей}
+\DeclareRobustCommand*{\ч}{\,\textendash\,\hskip\z@skip}
+\DeclareRobustCommand*{\т}{~\textemdash{} }
+\DeclareRobustCommand*{\Т}{~\textemdash{} }
+% ===============================================================
+% russadd Конец
+% ===============================================================
+% ===============================================================
+% ===============================================================
+% ===============================================================
+
+
+
+
+% ===============================================================
+% ===============================================================
+% ===============================================================
+% ===============================================================
+% glyphtounicode.tex Начало For cyrillics in PDF
+% Taken from glyphtounicode.tex, sorted
+% ===============================================================
+\pdfgentounicode=1
+\pdfglyphtounicode{controlSTX}{0001}
+\pdfglyphtounicode{controlSOT}{0002}
+\pdfglyphtounicode{controlETX}{0003}
+\pdfglyphtounicode{controlEOT}{0004}
+\pdfglyphtounicode{controlENQ}{0005}
+\pdfglyphtounicode{controlACK}{0006}
+\pdfglyphtounicode{controlBEL}{0007}
+\pdfglyphtounicode{controlBS}{0008}
+\pdfglyphtounicode{controlHT}{0009}
+\pdfglyphtounicode{controlLF}{000A}
+\pdfglyphtounicode{controlVT}{000B}
+\pdfglyphtounicode{controlFF}{000C}
+\pdfglyphtounicode{controlCR}{000D}
+\pdfglyphtounicode{controlSO}{000E}
+\pdfglyphtounicode{controlSI}{000F}
+\pdfglyphtounicode{controlDLE}{0010}
+\pdfglyphtounicode{controlDC1}{0011}
+\pdfglyphtounicode{controlDC2}{0012}
+\pdfglyphtounicode{controlDC3}{0013}
+\pdfglyphtounicode{controlDC4}{0014}
+\pdfglyphtounicode{controlNAK}{0015}
+\pdfglyphtounicode{controlSYN}{0016}
+\pdfglyphtounicode{controlETB}{0017}
+\pdfglyphtounicode{controlCAN}{0018}
+\pdfglyphtounicode{controlEM}{0019}
+\pdfglyphtounicode{controlSUB}{001A}
+\pdfglyphtounicode{controlESC}{001B}
+\pdfglyphtounicode{controlFS}{001C}
+\pdfglyphtounicode{controlGS}{001D}
+\pdfglyphtounicode{controlRS}{001E}
+\pdfglyphtounicode{controlUS}{001F}
+\pdfglyphtounicode{space}{0020}
+\pdfglyphtounicode{spacehackarabic}{0020}
+\pdfglyphtounicode{exclam}{0021}
+\pdfglyphtounicode{quotedbl}{0022}
+\pdfglyphtounicode{numbersign}{0023}
+\pdfglyphtounicode{dollar}{0024}
+\pdfglyphtounicode{percent}{0025}
+\pdfglyphtounicode{ampersand}{0026}
+\pdfglyphtounicode{quotesingle}{0027}
+\pdfglyphtounicode{parenleft}{0028}
+\pdfglyphtounicode{parenright}{0029}
+...
+...
+\pdfglyphtounicode{centmonospace}{FFE0}
+\pdfglyphtounicode{sterlingmonospace}{FFE1}
+\pdfglyphtounicode{macronmonospace}{FFE3}
+\pdfglyphtounicode{yenmonospace}{FFE5}
+\pdfglyphtounicode{wonmonospace}{FFE6}
+\relax
+% ===============================================================
+% glyphtounicode Конец
+% ===============================================================
+% ===============================================================
+% ===============================================================
+% ===============================================================
+\end{verbatim}
+
+
+\end{document}