summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/disser/src/toc.dtx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/disser/src/toc.dtx
Initial commit
Diffstat (limited to 'macros/latex/contrib/disser/src/toc.dtx')
-rw-r--r--macros/latex/contrib/disser/src/toc.dtx180
1 files changed, 180 insertions, 0 deletions
diff --git a/macros/latex/contrib/disser/src/toc.dtx b/macros/latex/contrib/disser/src/toc.dtx
new file mode 100644
index 0000000000..faa87c5f01
--- /dev/null
+++ b/macros/latex/contrib/disser/src/toc.dtx
@@ -0,0 +1,180 @@
+
+% \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}