
% \iffalse
%%% From File: toc.dtx
% \fi
%
%    \begin{macrocode}

%<*toc>
%    \end{macrocode}
%
% \subsection{Автоматически генерируемые списки (оглавление, предметный
% указатель и т.\,д.)}
%
% \subsubsection{Общие параметры}
%
% Горизонтальный пробел между постоянной и переменной частями заголовков.
% \DescribeMacro{\@postskip}\index{Макросы!\verb+"\"@postskip+}
%    \begin{macrocode}
\def\@postskip{\texorpdfstring{\hskip1em}{  }}
%    \end{macrocode}
% Длина пробела между заполнителем строки и номером страницы.
% \DescribeMacro{\@pnumwidth}\index{Макросы!\verb+"\"@pnumwidth+}
%    \begin{macrocode}
\newcommand\@pnumwidth{1.55em}
%    \end{macrocode}
% Правая граница текста.
% \DescribeMacro{\@tocrmarg}\index{Макросы!\verb+"\"@tocrmarg+}
%    \begin{macrocode}
\newcommand\@tocrmarg{2.55em}
%    \end{macrocode}
% Расстояние между символами (точками) в заполнителе между названием и номером
% (в единицах mu = 1/18 em, em --- длина буквы |M| текущего шрифта).
% \DescribeMacro{\@dotsep}\index{Макросы!\verb+"\"@dotsep+}
%    \begin{macrocode}
\newcommand\@dotsep{4.5}
%    \end{macrocode}
% Команда для заполнения промежутка между названием и номером страницы.
% \DescribeMacro{\tocfill}\index{Макросы!\verb*+\tocfill+}
%    \begin{macrocode}
\def\tocfill#1{%
  \leaders\hbox{$\m@th\mkern\@dotsep mu\hbox{#1}\mkern\@dotsep mu$}%
}

%    \end{macrocode}
% \subsubsection{Оглавление}
%
% Команда, создающая заголовок в тексте.
% \DescribeMacro{\tocsection}\index{Макросы!\verb*+\tocsection+}
%    \begin{macrocode}
\newcommand\tocsection{\chapter*{\contentsname}}

%    \end{macrocode}
% \DescribeMacro{\tableofcontents}\index{Макросы!\verb*+\tableofcontents+}
%    \begin{macrocode}
\newcommand\tableofcontents{%
  \if@twocolumn%
    \@restonecoltrue\onecolumn%
  \else\@restonecolfalse\fi%
  \tocsection%
  \@mkboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}%
  \@starttoc{toc}%
  \if@restonecol\twocolumn\fi
  \clearpage
}
%    \end{macrocode}
%
% \subsubsection{Список иллюстраций}
%
% Команда, создающая заголовок в тексте.
% \DescribeMacro{\lofsection}\index{Макросы!\verb*+\lofsection+}
%    \begin{macrocode}
\newcommand\lofsection{\nchapter{\listfigurename}}

%    \end{macrocode}
% \DescribeMacro{\listoffigures}\index{Макросы!\verb*+\listoffigures+}
%    \begin{macrocode}
\newcommand\listoffigures{%
  \if@twocolumn\@restonecoltrue\onecolumn%
  \else\@restonecolfalse\fi%
  \lofsection%
  \@mkboth{\MakeUppercase\listfigurename}{\MakeUppercase\listfigurename}%
  \@starttoc{lof}%
  \if@restonecol\twocolumn\fi
}

%    \end{macrocode}
% Формат элемента списка иллюстраций.
%    \begin{macrocode}
\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}

%    \end{macrocode}
%
% \subsubsection{Список таблиц}
%
% Команда, создающая заголовок в тексте.
% \DescribeMacro{\lotsection}\index{Макросы!\verb*+\lotsection+}
%    \begin{macrocode}
\newcommand\lotsection{\nchapter{\listtablename}}

%    \end{macrocode}
% \DescribeMacro{\listoftables}\index{Макросы!\verb*+\listoftables+}
%    \begin{macrocode}
\newcommand\listoftables{%
  \if@twocolumn\@restonecoltrue\onecolumn%
  \else\@restonecolfalse\fi%
  \lotsection%
  \@mkboth{\MakeUppercase\listtablename}{\MakeUppercase\listtablename}%
  \@starttoc{lot}%
  \if@restonecol\twocolumn\fi
}

%    \end{macrocode}
% Формат элемента списка таблиц.
%    \begin{macrocode}
\let\l@table\l@figure

%    \end{macrocode}
%
% \subsubsection{Библиография}
%
% Окружение и заголовок будут переопределены в пакете \pkg{natbib} и далее
% в файле \file{custom.dtx}.
% \DescribeEnv{thebibliography}\index{Окружения!\verb*+thebibliography+}
%    \begin{macrocode}
\newenvironment{thebibliography}[1]{}{}

%    \end{macrocode}
% Величина отступа для элементов списка литературы.
% \DescribeMacro{\bibindent}\index{Интервалы!\verb*+\bibindent+}
%    \begin{macrocode}
\newdimen\bibindent
\setlength\bibindent{1.5em}
%    \end{macrocode}
% Горизонтальный пробел между различными частями элемента библиографии.
% \DescribeMacro{\newblock}\index{Макросы!\verb*+\newblock+}
%    \begin{macrocode}
\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}
\let\@openbib@code\@empty

%    \end{macrocode}
%
% \subsubsection{Предметный указатель}
%
% Команда, создающая заголовок в тексте.
% \DescribeMacro{\indexsection}\index{Макросы!\verb*+\indexsection+}
%    \begin{macrocode}
\providecommand\indexsection{\twocolumn[\@makeschapterhead{\indexname}]}

%    \end{macrocode}
%
% \DescribeEnv{theindex}\index{Окружения!\verb*+theindex+}
%    \begin{macrocode}
\newenvironment{theindex}{%
  \if@twocolumn\@restonecolfalse%
  \else\@restonecoltrue\fi%
  \columnseprule \z@
  \columnsep 35\p@
  \indexsection%
  \@mkboth{\MakeUppercase\indexname}{\MakeUppercase\indexname}%
  \thispagestyle{plain}
  \parindent\z@
  \parskip\z@ \@plus .3\p@\relax
  \let\item\@idxitem%
}{\if@restonecol\onecolumn\else\clearpage\fi}
%    \end{macrocode}
% Формат элементов.
% \DescribeMacro{\@idxitem}\index{Макросы!\verb+"\"@idxitem+}
% \DescribeMacro{\subitem}\index{Макросы!\verb*+\subitem+}
% \DescribeMacro{\subsubitem}\index{Макросы!\verb*+\subsubitem+}
%    \begin{macrocode}
\newcommand\@idxitem{\par\hangindent 40\p@}
\newcommand\subitem{\@idxitem \hspace*{20\p@}}
\newcommand\subsubitem{\@idxitem \hspace*{30\p@}}
%    \end{macrocode}
% Вертикальный пробел между элементами предметного указателя.
% \DescribeMacro{\indexspace}\index{Макросы!\verb*+\indexspace+}
%    \begin{macrocode}
\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
%</toc>
%    \end{macrocode}
