\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}
