From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Mon, 2 Sep 2019 13:46:59 +0900
Subject: Initial commit

---
 macros/latex/contrib/disser/src/part.dtx | 205 +++++++++++++++++++++++++++++++
 1 file changed, 205 insertions(+)
 create mode 100644 macros/latex/contrib/disser/src/part.dtx

(limited to 'macros/latex/contrib/disser/src/part.dtx')

diff --git a/macros/latex/contrib/disser/src/part.dtx b/macros/latex/contrib/disser/src/part.dtx
new file mode 100644
index 0000000000..8904b2a14a
--- /dev/null
+++ b/macros/latex/contrib/disser/src/part.dtx
@@ -0,0 +1,205 @@
+
+% \iffalse
+%%% From File: part.dtx
+% \fi
+%
+%    \begin{macrocode}
+
+%<*part>
+%    \end{macrocode}
+% \subsection{Часть}
+%
+% \subsubsection{Параметры формата записи в оглавлении}
+%
+% \DescribeMacro{\tocprethepart}\index{Макросы!\verb*+\tocprethepart+}
+% Префикс номера.
+%    \begin{macrocode}
+\providecommand\tocprethepart{\partname~}
+%    \end{macrocode}
+% \DescribeMacro{\tocpostthepart}\index{Макросы!\verb*+\tocpostthepart+}
+% Постфикс номера.
+%    \begin{macrocode}
+\providecommand\tocpostthepart{.\@postskip}
+%    \end{macrocode}
+% \DescribeMacro{\tocpartfill}\index{Макросы!\verb*+\tocpartfill+}
+% Заполнитель между названием и номером страницы. Для части по умолчанию
+% отсутствует. Чтобы заполнить какими-либо символами, нужно присвоить
+% |\tocpartfill| значение |\tocfill{символ}|. Для примера см. далее
+% определение |\tocsectionfill|.
+%    \begin{macrocode}
+\providecommand\tocpartfill{}
+%    \end{macrocode}
+% \DescribeMacro{\tocpartfont}\index{Макросы!\verb*+\tocpartfont+}
+% Шрифт заголовка записи.
+%    \begin{macrocode}
+\providecommand\tocpartfont{\bfseries}
+%    \end{macrocode}
+% \DescribeMacro{\tocpartfillfont}\index{Макросы!\verb*+\tocpartfillfont+}
+% Шрифт заполнителя в оглавлении.
+%    \begin{macrocode}
+\providecommand\tocpartfillfont{\normalfont}
+%    \end{macrocode}
+% \DescribeMacro{\tocpartnumfont}\index{Макросы!\verb*+\tocpartnumfont+}
+% Шрифт номера в оглавлении.
+%    \begin{macrocode}
+\providecommand\tocpartnumfont{\normalfont}
+
+%    \end{macrocode}
+%
+% \subsubsection{Параметры формата заголовка в тексте}
+%
+% Параметры номера и названия: выравнивание, шрифт, отступы, текст до и после.
+% \DescribeMacro{\thepartalign}\index{Макросы!\verb*+\thepartalign+}
+% \DescribeMacro{\thepartfont}\index{Макросы!\verb*+\thepartfont+}
+% \DescribeMacro{\prethepart}\index{Макросы!\verb*+\prethepart+}
+% \DescribeMacro{\postthepart}\index{Макросы!\verb*+\postthepart+}
+% \DescribeMacro{\partalign}\index{Макросы!\verb*+\partalign+}
+% \DescribeMacro{\partfont}\index{Макросы!\verb*+\partfont+}
+% \DescribeMacro{\beforepart}\index{Макросы!\verb*+\beforepart+}
+% \DescribeMacro{\afterpart}\index{Макросы!\verb*+\afterpart+}
+%    \begin{macrocode}
+\providecommand\thepartalign{\centering}
+\providecommand\thepartfont{\huge}
+\providecommand\prethepart{\tocprethepart}
+\providecommand\postthepart{\par\vskip 20\p@}
+
+\providecommand\partalign{\centering}
+\providecommand\partfont{\huge\bfseries}
+\providecommand\beforepart{}
+\providecommand\afterpart{\par}
+
+%    \end{macrocode}
+% \DescribeMacro{\partpagestyle}\index{Макросы!\verb*+\partpagestyle+}
+% Стиль страницы, на которой расположен заголовок части.
+%    \begin{macrocode}
+\def\partpagestyle#1{\gdef\@partpagestyle{#1}}
+\partpagestyle{empty}
+%    \end{macrocode}
+%
+% \subsubsection{Низкоуровневые команды}
+%
+% Описание структуры заголовков.
+% \begin{itemize}
+% \item в тексте,
+% \DescribeMacro{\@seccntformat}\index{Макросы!\verb*+"\"@seccntformat+}
+%    \begin{macrocode}
+\def\@seccntformat#1{%
+  \csname prethe#1\endcsname%
+  \csname the#1\endcsname%
+  \csname postthe#1\endcsname%
+}
+
+%    \end{macrocode}
+% \item в Содержании.
+% \DescribeMacro{\@tocseccntformat}\index{Макросы!\verb*+"\"@tocseccntformat+}
+%    \begin{macrocode}
+\def\@tocseccntformat#1{%
+  \csname tocprethe#1\endcsname%
+  \csname tocthe#1\endcsname%
+  \csname tocpostthe#1\endcsname%
+}
+
+%    \end{macrocode}
+% \end{itemize}
+% \DescribeMacro{\part}\index{Макросы!\verb*+"\part+}
+% Интерфейс.
+%    \begin{macrocode}
+\newcommand\part{
+  \if@openright
+    \cleardoublepage
+  \else
+    \clearpage
+  \fi
+  \thispagestyle{\@partpagestyle}%
+  \if@twocolumn
+    \onecolumn
+    \@tempswatrue
+  \else
+    \@tempswafalse
+  \fi
+  \null\vfil\secdef\@part\@spart
+}
+%    \end{macrocode}
+%
+% \DescribeMacro{\@part}\index{Макросы!\verb+"\"@part+}
+% Команда, формирующая нумеруемый заголовок части |\part|.
+%    \begin{macrocode}
+\def\@part[#1]#2{%
+  \ifnum \c@secnumdepth >-2\relax
+    \refstepcounter{part}%
+%    \end{macrocode}
+% Команда |\def\\{ }| используется для корректного отображения
+% заголовков с принудительными разрывами строк.
+%    \begin{macrocode}
+    {\def\\{ }\addcontentsline{toc}{part}{\@tocseccntformat{part} #1}}
+  \else
+    {\def\\{ }\addcontentsline{toc}{part}{#1}}
+  \fi
+  \markboth{}{}%
+  {%
+    \interlinepenalty \@M
+    \normalfont
+    \ifnum \c@secnumdepth >-2\relax
+%    \end{macrocode}
+% Постоянная часть заголовка и номер.
+%    \begin{macrocode}
+      {\thepartfont\partalign\@seccntformat{part}}
+    \fi%
+%    \end{macrocode}
+% Название.
+%    \begin{macrocode}
+    {\partfont\partalign\beforepart #2\afterpart}%
+  }
+  \@endpart%
+}
+
+%    \end{macrocode}
+%
+% \DescribeMacro{\@spart}\index{Макросы!\verb+"\"@spart+}
+% Команда, формирующая ненумеруемый заголовок части |\part*|.
+%    \begin{macrocode}
+\def\@spart#1{%
+  \partalign{\interlinepenalty \@M%
+    \partfont\beforepart #1\afterpart}%
+  \@endpart
+}
+
+%    \end{macrocode}
+%
+% \DescribeMacro{\@endpart}\index{Макросы!\verb+"\"@endpart+}
+% Завершение страницы с заголовком части.
+%    \begin{macrocode}
+\def\@endpart{
+  \vfil\newpage
+  \if@twoside
+    \null
+    \thispagestyle{\partpagestyle}%
+    \newpage
+  \fi
+  \if@tempswa\twocolumn\fi
+}
+
+%    \end{macrocode}
+% \DescribeMacro{\l@part}
+% Низкоуровневая команда, создающая запись в Содержании.
+%    \begin{macrocode}
+\newcommand*\l@part[2]{%
+  \ifnum \c@tocdepth >-2\relax
+    \addpenalty{-\@highpenalty}%
+    \addvspace{2.25em \@plus\p@}%
+    \begingroup
+      \setlength\@tempdima{3em}%
+      \parindent \z@ \rightskip \@pnumwidth
+      \parfillskip -\@pnumwidth
+      {\leavevmode \tocpartfont #1\nobreak
+      \tocpartfillfont\tocpartfill\hfill
+      \hb@xt@\@pnumwidth{\hss\tocpartnumfont #2}}
+      \par\nobreak
+      \global\@nobreaktrue
+      \everypar{\global\@nobreakfalse\everypar{}}%
+    \endgroup
+  \fi
+}
+
+%</part>
+%    \end{macrocode}
-- 
cgit v1.2.3

