summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/disser
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/disser')
-rw-r--r--Master/texmf-dist/source/latex/disser/Makefile19
-rw-r--r--Master/texmf-dist/source/latex/disser/autoref.dtx51
-rw-r--r--Master/texmf-dist/source/latex/disser/bachelor.dtx54
-rw-r--r--Master/texmf-dist/source/latex/disser/candidate.dtx66
-rw-r--r--Master/texmf-dist/source/latex/disser/chapter.dtx237
-rw-r--r--Master/texmf-dist/source/latex/disser/counters.dtx85
-rw-r--r--Master/texmf-dist/source/latex/disser/custom.dtx135
-rw-r--r--Master/texmf-dist/source/latex/disser/disser.dtx575
-rw-r--r--Master/texmf-dist/source/latex/disser/disser.ins56
-rw-r--r--Master/texmf-dist/source/latex/disser/doctor.dtx55
-rw-r--r--Master/texmf-dist/source/latex/disser/env.dtx81
-rw-r--r--Master/texmf-dist/source/latex/disser/floats.dtx128
-rw-r--r--Master/texmf-dist/source/latex/disser/footnote.dtx19
-rw-r--r--Master/texmf-dist/source/latex/disser/gost732.dtx99
-rw-r--r--Master/texmf-dist/source/latex/disser/lists.dtx88
-rw-r--r--Master/texmf-dist/source/latex/disser/master.dtx75
-rw-r--r--Master/texmf-dist/source/latex/disser/page.dtx146
-rw-r--r--Master/texmf-dist/source/latex/disser/part.dtx141
-rw-r--r--Master/texmf-dist/source/latex/disser/sections.dtx238
-rw-r--r--Master/texmf-dist/source/latex/disser/titledefs.dtx299
-rw-r--r--Master/texmf-dist/source/latex/disser/titlepage.dtx139
-rw-r--r--Master/texmf-dist/source/latex/disser/toc.dtx159
22 files changed, 2945 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/disser/Makefile b/Master/texmf-dist/source/latex/disser/Makefile
new file mode 100644
index 00000000000..2932ead94ab
--- /dev/null
+++ b/Master/texmf-dist/source/latex/disser/Makefile
@@ -0,0 +1,19 @@
+TARGET=disser
+TEXMF=/usr/share/texmf
+DESTDIR=$(TEXMF)/tex/latex/disser
+INSTFILES=$(TARGET).cls *.rtx
+CLEANFILES=$(INSTFILES) *.log *.out *.aux *.dvi *.idx *.glo *.toc *.bak
+
+$(TARGET).cls: $(TARGET).ins
+ latex $<
+
+install: $(TARGET).cls
+ mkdir -p $(DESTDIR)
+ cp $(INSTFILES) $(DESTDIR)
+
+doc: $(TARGET).dtx
+ latex $<
+ latex -src-specials $<
+
+clean:
+ rm -f $(CLEANFILES)
diff --git a/Master/texmf-dist/source/latex/disser/autoref.dtx b/Master/texmf-dist/source/latex/disser/autoref.dtx
new file mode 100644
index 00000000000..c76800ddb32
--- /dev/null
+++ b/Master/texmf-dist/source/latex/disser/autoref.dtx
@@ -0,0 +1,51 @@
+% \begin{macrocode}
+
+%<*autoref>
+% \end{macrocode}
+% \subsubsection{Титульный лист автореферата}
+%
+% Вертикальные интервалы между элементами титульного листа.
+% \begin{macrocode}
+\def\firstskip{\vskip1cm}
+\def\secondskip{\vskip2cm}
+\def\thirdskip{\vskip1cm}
+\def\fourthskip{\vskip1cm}
+\def\fifthskip{\vskip1cm}
+
+\def\titlefont{\normalsize}
+\def\topicfont{\Large\bfseries}
+\def\authorfont{\large}
+\def\specfont{\normalsize}
+
+\normalfont
+\begin{flushright}
+% \end{macrocode}
+% На правах рукописи
+% \begin{macrocode}
+ \firstskip
+ \asmanuscriptname\\
+\end{flushright}
+\begin{center}
+% \end{macrocode}
+% Автор
+% \begin{macrocode}
+ \secondskip
+ {\authorfont\@author}
+% \end{macrocode}
+% Название диссертации
+% \begin{macrocode}
+ \thirdskip
+ {\topicfont\@topic\par}
+% \end{macrocode}
+% Шифр и наименование специальности
+% \begin{macrocode}
+ \fourthskip
+ {\specfont\@specnum~--\;\@spec}
+% \end{macrocode}
+% Диссертация на соискание ученой степени...
+% \begin{macrocode}
+ \fifthskip
+ {\titlefont\@title}
+\end{center}
+%</autoref>
+% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/disser/bachelor.dtx b/Master/texmf-dist/source/latex/disser/bachelor.dtx
new file mode 100644
index 00000000000..df146fda6c2
--- /dev/null
+++ b/Master/texmf-dist/source/latex/disser/bachelor.dtx
@@ -0,0 +1,54 @@
+% \begin{macrocode}
+
+%<*bachelor>
+% \end{macrocode}
+% \subsubsection{Титульный лист бакалаврской работы}
+%
+% Вертикальные интервалы между элементами титульного листа.
+% \begin{macrocode}
+
+\def\firstskip{\vskip1.5cm}
+\def\secondskip{\vskip1.5cm}
+\def\thirdskip{\vskip1.em}
+\def\fourthskip{\vskip1.em}
+\def\fifthskip{\vskip2cm}
+
+\def\titlefont{\Large\bfseries}
+\def\topiclabelfont{\large}
+\def\topicfont{\large\bfseries}
+
+% \end{macrocode}
+% Работа
+% \begin{macrocode}
+\def\workname{\CYRR\cyra\cyrb\cyro\cyrt\cyra}
+
+% \end{macrocode}
+% Диссертация допущена к защите
+% \begin{macrocode}
+\firstskip\@permitted\secondskip
+% \end{macrocode}
+% Заголовок, тема.
+% \begin{macrocode}
+\begin{center}
+ {\titlefont\@title\par}
+ \thirdskip
+ {\topiclabelfont\topiclabel\;}
+ {\topicfont\@topic\par}
+ \fourthskip\normalfont
+ \courselabel\ \@coursenum~-- \@course
+\end{center}
+% \end{macrocode}
+% Специальность, автор, руководитель.
+% \begin{macrocode}
+\fifthskip
+\begin{tabbing}
+ \studentlabel\ \groupname\ \@group\hspace{2cm}\=
+ \makebox[8.5cm][l]{\hrulefill\ \@author}
+\\[9pt]
+% \end{macrocode}
+% Научный руководитель.
+% \begin{macrocode}
+ \field{sa}
+\end{tabbing}
+%</bachelor>
+% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/disser/candidate.dtx b/Master/texmf-dist/source/latex/disser/candidate.dtx
new file mode 100644
index 00000000000..89fcb0bf41f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/disser/candidate.dtx
@@ -0,0 +1,66 @@
+% \begin{macrocode}
+
+%<*candidate>
+% \end{macrocode}
+% \subsubsection{Титульный лист кандидатской диссертации}
+%
+% Вертикальные интервалы между элементами титульного листа.
+% \begin{macrocode}
+\def\firstskip{\vskip1cm}
+\def\secondskip{\vskip2cm}
+\def\thirdskip{\vskip1cm}
+\def\fourthskip{\vskip1cm}
+\def\fifthskip{\vskip1cm}
+\def\sixthskip{}
+\def\@sahshift{10cm}
+
+\def\titlefont{\normalsize}
+\def\topicfont{\Large\bfseries}
+\def\authorfont{\large}
+\def\specfont{\normalsize}
+
+\normalfont
+\begin{flushright}
+% \end{macrocode}
+% На правах рукописи
+% \begin{macrocode}
+ \firstskip
+ \asmanuscriptname\\
+% \end{macrocode}
+% Номер УДК
+% \begin{macrocode}
+ {\libcatname\;\@libcatnum}
+\end{flushright}
+\begin{center}
+% \end{macrocode}
+% Автор
+% \begin{macrocode}
+ \secondskip
+ {\authorfont\@author}
+% \end{macrocode}
+% Название диссертации
+% \begin{macrocode}
+ \thirdskip
+ {\topicfont\@topic\par}
+% \end{macrocode}
+% Шифр и наименование специальности
+% \begin{macrocode}
+ \fourthskip
+ {\specfont\@specnum~--\;\@spec}
+% \end{macrocode}
+% Диссертация на соискание ученой степени...
+% \begin{macrocode}
+ \fifthskip
+ {\titlefont\@title}
+\end{center}
+% \end{macrocode}
+% Научный руководитель
+% \begin{macrocode}
+\sixthskip
+\begin{tabbing}
+ \hspace{\@sahshift}\={\saname}\\
+ \>\@sastatus\\
+ \>\@sa
+\end{tabbing}
+%</candidate>
+% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/disser/chapter.dtx b/Master/texmf-dist/source/latex/disser/chapter.dtx
new file mode 100644
index 00000000000..d85b16a6c66
--- /dev/null
+++ b/Master/texmf-dist/source/latex/disser/chapter.dtx
@@ -0,0 +1,237 @@
+% \begin{macrocode}
+
+%<*chapter>
+% \end{macrocode}
+%
+% \subsection{Глава}
+%
+% Пустое определение маркера главы.
+% \begin{macrocode}
+\newcommand*\chaptermark[1]{}
+% \end{macrocode}
+% Далее идут параметры аналогичные тем, что использовались в
+% предыдущем разделе.
+% \begin{macrocode}
+\providecommand\tocprethechapter{\protect\chaptername~}
+\providecommand\tocpostthechapter{.\@postskip}
+\providecommand\tocchapterfill{\tocfill{.}}
+
+\providecommand\tocchapterfont{\bfseries}
+\providecommand\tocchapterfillfont{\normalfont}
+\providecommand\tocchapternumfont{\normalfont}
+
+\providecommand\thechapteralign{\centering}
+\providecommand\thechapterfont{\Large}
+\providecommand\prethechapter{\protect\chaptername~}
+\providecommand\postthechapter{\par\nobreak\vskip 5\p@}
+
+\providecommand\chapteralign{\centering}
+\providecommand\chapterfont{\Large\bfseries}
+\providecommand\prechapter{}
+\providecommand\postchapter{\par\nobreak\vskip 20\p@}
+
+% \end{macrocode}
+% Параметры формата заголовка Приложения.
+% \begin{macrocode}
+\providecommand\tocpretheappendix{\protect\appendixname~}
+\providecommand\tocposttheappendix{.\@postskip}
+\providecommand\tocappendixfill{\tocfill{.}}
+
+\providecommand\tocappendixfont{\bfseries}
+\providecommand\tocappendixfillfont{\normalfont}
+\providecommand\tocappendixnumfont{\normalfont}
+
+\providecommand\theappendixalign{\centering}
+\providecommand\theappendixfont{\Large}
+\providecommand\pretheappendix{\protect\appendixname~}
+\providecommand\posttheappendix{\par\nobreak\vskip 5\p@}
+
+\providecommand\appendixalign{\centering}
+\providecommand\appendixfont{\Large\bfseries}
+\providecommand\preappendix{}
+\providecommand\postappendix{\par\nobreak\vskip 20\p@}
+
+% \end{macrocode}
+% Интерфейс.
+% \begin{macrocode}
+\newcommand\chapter{%
+ \if@openright
+ \cleardoublepage
+ \else
+ \clearpage
+ \fi
+ \thispagestyle{plain}%
+ \global\@topnum\z@
+ \@afterindentfalse
+ \secdef\@chapter\@schapter
+}
+
+\def\@chapter[#1]#2{
+ \ifnum \c@secnumdepth >\m@ne
+ \refstepcounter{chapter}%
+ {\def\\{ }\addcontentsline{toc}{chapter}{\@tocseccntformat{chapter} #1}}%
+ \else
+ {\def\\{ }\addcontentsline{toc}{chapter}{#1}}%
+ \fi
+ \chaptermark{#1}%
+% \end{macrocode}
+% Добавление вертикальных разделителей в списки рисунков и таблиц.
+% \begin{macrocode}
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \if@twocolumn
+ \@topnewpage[\@makechapterhead{#2}]%
+ \else
+ \@makechapterhead{#2}%
+ \@afterheading
+ \fi
+}
+% \end{macrocode}
+% Формат на странице.
+% \begin{macrocode}
+\def\@makechapterhead#1{%
+ {%
+% \end{macrocode}
+% Установка нулевого абзацного отступа.
+% \begin{macrocode}
+ \parindent \z@ \raggedright \normalfont
+% \end{macrocode}
+% Постоянная часть заголовка.
+% \begin{macrocode}
+ \ifnum \c@secnumdepth >\m@ne
+ {\thechapterfont\thechapteralign\@seccntformat{chapter}}
+ \fi
+ \interlinepenalty\@M
+ \chapterfont\chapteralign\prechapter #1\postchapter
+ }
+}
+
+\def\@schapter#1{
+ \if@twocolumn
+ \@topnewpage[\@makeschapterhead{#1}]%
+ \else
+ \@makeschapterhead{#1}%
+ \@afterheading
+ \fi
+}
+
+\def\@makeschapterhead#1{%
+ {%
+ \parindent \z@ \raggedright
+ \normalfont\interlinepenalty\@M
+ \chapteralign{\chapterfont\prechapter #1\postchapter}
+ }
+}
+% \end{macrocode}
+% Команда, создающая запись в Содержании.
+% \begin{macrocode}
+\newcommand*\l@chapter[2]{%
+ \ifnum \c@tocdepth >\m@ne
+ \addpenalty{-\@highpenalty}
+ \vskip 1.0em \@plus\p@
+ \setlength\@tempdima{1.5em}
+ \begingroup
+ \parindent \z@ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ \leavevmode
+ \tocchapterfont
+ \advance\leftskip\@tempdima
+ \hskip -\leftskip
+ #1\nobreak
+ \tocchapterfillfont\tocchapterfill\hfill
+ \nobreak\hb@xt@\@pnumwidth{\hss\tocchapternumfont #2}\par
+ \penalty\@highpenalty
+ \endgroup
+ \fi
+}
+
+% \end{macrocode}
+% Команда для создания глав Приложения.
+% \begin{macrocode}
+\newcommand\appendix{
+ \setcounter{chapter}{0}
+ \setcounter{section}{0}
+
+% \end{macrocode}
+% Сохранение старых значений.
+% \begin{macrocode}
+ \let\oldtocprethechapter=\tocprethechapter
+ \let\oldtocpostthechapter=\tocpostthechapter
+ \let\oldtocchapterfill=\tocchapterfill
+
+ \let\oldtocchapterfont=\tocchapterfont
+ \let\oldtocchapterfillfont=\tocchapterfillfont
+ \let\oldtocchapternumfont=\tocchapternumfont
+
+ \let\oldthechapteralign=\thechapteralign
+ \let\oldthechapterfont=\thechapterfont
+ \let\oldprethechapter=\prethechapter
+ \let\oldpostthechapter=\postthechapter
+
+ \let\oldchapteralign=\chapteralign
+ \let\oldchapterfont=\chapterfont
+ \let\oldprechapter=\prechapter
+ \let\oldpostchapter=\postchapter
+ \let\oldthechapter=\thechapter
+
+% \end{macrocode}
+% Перезапись параметров формата главы для оформления приложений.
+% \begin{macrocode}
+ \renewcommand\tocprethechapter{\tocpretheappendix}
+ \renewcommand\tocpostthechapter{\tocposttheappendix}
+ \renewcommand\tocchapterfill{\tocappendixfill}
+
+ \renewcommand\tocchapterfont{\tocappendixfont}
+ \renewcommand\tocchapterfillfont{\tocappendixfillfont}
+ \renewcommand\tocchapternumfont{\tocappendixnumfont}
+
+ \renewcommand\thechapteralign{\theappendixalign}
+ \renewcommand\thechapterfont{\theappendixfont}
+ \renewcommand\prethechapter{\pretheappendix}
+ \renewcommand\postthechapter{\posttheappendix}
+
+ \renewcommand\chapteralign{\appendixalign}
+ \renewcommand\chapterfont{\appendixfont}
+ \renewcommand\prechapter{\preappendix}
+ \renewcommand\postchapter{\postappendix}
+
+ \gdef\thechapter{\theappendix}
+}
+
+\newcommand\noappendix{
+ \let\tocprethechapter=\oldtocprethechapter
+ \let\tocpostthechapter=\oldtocpostthechapter
+ \let\tocchapterfill=\oldtocchapterfill
+
+ \let\tocchapterfont=\oldtocchapterfont
+ \let\tocchapterfillfont=\oldtocchapterfillfont
+ \let\tocchapternumfont=\oldtocchapternumfont
+
+ \let\thechapteralign=\oldthechapteralign
+ \let\thechapterfont=\oldthechapterfont
+ \let\prethechapter=\oldprethechapter
+ \let\postthechapter=\oldpostthechapter
+
+ \let\chapteralign=\oldchapteralign
+ \let\chapterfont=\oldchapterfont
+ \let\prechapter=\oldprechapter
+ \let\postchapter=\oldpostchapter
+
+ \gdef\thechapter{\oldthechapter}
+}
+
+% \end{macrocode}
+% Команда для создания ненумеруемых глав, которые будут включены в
+% Содержание и PDF-закладки. Для того, чтобы закладка указывала именно на
+% заголовок, а не на первый абзац под ним, нужно поместить |\phantomchapter| % и |\addcontentsline| внутри аргумента |\chapter*|. Честно говоря, мне это
+% не нравится. Надо придумать что-то более простое и изящное.
+% \begin{macrocode}
+\newcommand\nchapter[1]{%
+ \chapter*{%
+ \phantomchapter\addcontentsline{toc}{chapter}{#1}%
+ #1%
+ \@mkboth{\MakeUppercase{#1}}{\MakeUppercase{#1}}
+ }
+}
+%</chapter>
+% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/disser/counters.dtx b/Master/texmf-dist/source/latex/disser/counters.dtx
new file mode 100644
index 00000000000..d5a6a87bc93
--- /dev/null
+++ b/Master/texmf-dist/source/latex/disser/counters.dtx
@@ -0,0 +1,85 @@
+% \begin{macrocode}
+
+%<*counters>
+% \end{macrocode}
+%
+% \subsection{Создание и настройка счетчиков}
+% \begin{macrocode}
+\newcounter{part}
+\newcounter{chapter}
+\newcounter{section}[chapter]
+\newcounter{subsection}[section]
+\newcounter{subsubsection}[subsection]
+\newcounter{paragraph}[subsubsection]
+\newcounter{subparagraph}[paragraph]
+\newcounter{figure}[chapter]
+\newcounter{table}[chapter]
+% \end{macrocode}
+%
+% Формат нумерации разделов документа.
+% \begin{macrocode}
+\renewcommand\thepart{\@Roman\c@part}
+\renewcommand\thechapter{\@arabic\c@chapter}
+\newcommand\theappendix{\@Asbuk\c@chapter}
+\renewcommand\thesection{%
+\ifnum\c@chapter > \z@
+ \thechapter.\@arabic\c@section%
+\else\@arabic\c@section\fi}
+\renewcommand\thesubsection{\thesection.\@arabic\c@subsection}
+\renewcommand\thesubsubsection{\thesubsection.\@arabic\c@subsubsection}
+\renewcommand\theparagraph{\@arabic\c@paragraph}
+\renewcommand\thesubparagraph{\theparagraph.\@arabic\c@subparagraph}
+
+\newcommand\tocthepart{\thepart}
+\newcommand\tocthechapter{\thechapter}
+\newcommand\toctheappendix{\theappendix}
+\newcommand\tocthesection{\thesection}
+\newcommand\tocthesubsection{\thesubsection}
+\newcommand\toctheparagraph{\theparagraph}
+\newcommand\tocthesubparagraph{\thesubparagraph}
+
+% \end{macrocode}
+%
+% Схемы нумерации объектов для разных типов диссертаций.
+% \begin{macrocode}
+\newcommand\bachelor@the{%
+% \end{macrocode}
+% Нумерация сносок и формул начинается заново в каждой главе.
+% \begin{macrocode}
+ \@addtoreset{footnote}{chapter}
+ \@addtoreset{equation}{chapter}
+
+% \end{macrocode}
+% Формат номера формулы.
+% \begin{macrocode}
+ \renewcommand\theequation{%
+ \ifnum\c@chapter > \z@\thechapter.\fi%
+ \@arabic\c@equation}
+% \end{macrocode}
+% Формат номера таблицы.
+% \begin{macrocode}
+ \renewcommand\thetable{%
+ \ifnum \c@chapter>\z@\thechapter.\fi%
+ \@arabic\c@table}
+% \end{macrocode}
+% Формат номера рисунка.
+% \begin{macrocode}
+ \renewcommand\thefigure{%
+ \ifnum \c@chapter>\z@\thechapter.\fi%
+ \@arabic\c@figure}
+}
+% \end{macrocode}
+% По умолчанию у всех одинаковая схема нумерации.
+% \begin{macrocode}
+\newcommand\master@the \bachelor@the
+\newcommand\candidate@the\bachelor@the
+\newcommand\doctor@the \candidate@the
+\newcommand\autoref@the \candidate@the
+
+\if@bachelor \bachelor@the \fi
+\if@master \master@the \fi
+\if@candidate \candidate@the \fi
+\if@doctor \doctor@the \fi
+\if@autoref \autoref@the \fi
+%</counters>
+% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/disser/custom.dtx b/Master/texmf-dist/source/latex/disser/custom.dtx
new file mode 100644
index 00000000000..b5595a2e0d0
--- /dev/null
+++ b/Master/texmf-dist/source/latex/disser/custom.dtx
@@ -0,0 +1,135 @@
+% \begin{macrocode}
+
+%<*custom>
+% \end{macrocode}
+% \subsection{Подключение и настройка параметров сторонних пакетов}
+% Включает отступ в первой строке первого абзаца.
+% \begin{macrocode}
+\let\@afterindentfalse\@afterindenttrue
+\@afterindenttrue
+% \end{macrocode}
+% Опция |intlimits| включает правильную расстановку пределов интегрирования
+% (сверху и снизу).
+% \begin{macrocode}
+\usepackage[intlimits]{amsmath}
+\usepackage{amssymb,amsfonts}
+% \end{macrocode}
+% Более естественные символы интегралов (из шрифтов семейства Euler).
+% \begin{macrocode}
+\DeclareSymbolFont{EulerExtension}{U}{euex}{m}{n}
+\DeclareMathSymbol\intop\mathop{EulerExtension}{"52}
+\DeclareMathSymbol\ointop\mathop{EulerExtension}{"48}
+% \end{macrocode}
+% Пакет для оформления библиографических ссылок.
+% \begin{macrocode}
+\usepackage[square, comma, sort&compress]{natbib}
+% \end{macrocode}
+% \DescribeMacro{\phantomchapter}
+% Команда для исправления PDF-закладок, указывающих на |\chapter*|.
+% \begin{macrocode}
+\def\phantomchapter{%
+ \ifhref
+ \Hy@GlobalStepCount\Hy@linkcounter
+ \xdef\@currentHref{chapter*.\the\Hy@linkcounter}%
+ \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+ \fi
+}
+% \end{macrocode}
+% Переопределение для включения ссылки на список литературы в Содержание.
+% \DescribeMacro{\bibsection}
+% \begin{macrocode}
+\renewcommand\bibsection{\nchapter{\bibname}}
+% \end{macrocode}
+% Переопределение для создания корректной PDF-закладки (основано на варианте % из |natbib|).
+% \DescribeEnv{thebibliography}
+% \begin{macrocode}
+\renewenvironment{thebibliography}[1]{%
+ \bibsection
+ \parindent \z@
+ \bibpreamble\bibfont
+ \list{\@biblabel{\arabic{NAT@ctr}}}%
+ {\@bibsetup{#1}\setcounter{NAT@ctr}{0}}%
+ \ifNAT@openbib
+ \renewcommand\newblock{\par}
+ \else
+ \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
+ \fi
+ \sloppy\clubpenalty4000\widowpenalty4000
+ \sfcode`\.=1000\relax
+ \let\citeN\cite
+ \let\shortcite\cite
+ \let\citeasnoun\cite
+}{%
+ \def\@noitemerr{\PackageWarning{natbib}{Empty `thebibliography' environment}}
+ \endlist\vskip-\lastskip%
+}
+% \end{macrocode}
+% Настройка параметров |hyperref|:
+% \begin{macrocode}
+\ifpdf
+% \end{macrocode}
+% \begin{itemize}
+% \item для pdf\LaTeX{}
+% \begin{macrocode}
+ \ifhref
+ \usepackage[pdftex,unicode,hyperfigures=true]{hyperref}
+ \hypersetup{
+ colorlinks = false,
+ bookmarksopen = true,
+ bookmarksnumbered = true,
+ bookmarksopenlevel = 2,
+ pdfstartview = {FitH},
+ pdfborder = {0 0 0}
+ }
+ \pdfcompresslevel = 9
+ \fi
+ \usepackage[pdftex]{graphicx}
+ \usepackage{cmap}
+\else
+% \end{macrocode}
+% \item для \LaTeX{}
+% \end{itemize}
+% \begin{macrocode}
+ \ifhref\usepackage[hypertex,colorlinks=false,hyperfigures=true]{hyperref}\fi
+ \usepackage{graphicx}
+\fi
+% \end{macrocode}
+% Пакет исправлений для совместного использования |hyperref| и |natbib|.
+% \begin{macrocode}
+\ifhref\usepackage{hypernat}\fi
+% \end{macrocode}
+% Плавающие рисунки ``в оборку''.
+% \begin{macrocode}
+\usepackage[rflt]{floatflt}
+% \end{macrocode}
+% Пакет для вложенной нумерации объектов (например, 1.а)
+% \begin{macrocode}
+\ifsubf
+ \usepackage[normalsize]{subfigure}
+% \end{macrocode}
+% Формат постоянной части подписи для плавающих объектов с вложенной
+% нумерацией.
+% \begin{macrocode}
+ \renewcommand*\@thesubfigure{\small\textit{\asbuk{subfigure}})}
+% \end{macrocode}
+% Формат ссылки (через |\subref|).
+% \begin{macrocode}
+ \renewcommand*\@@thesubfigure{\textit{\asbuk{subfigure}})}
+% \end{macrocode}
+% Формат ссылки (через |\ref|).
+% \begin{macrocode}
+ \renewcommand*\thesubfigure{,~\textit{\asbuk{subfigure}}}
+% \end{macrocode}
+% Еще раз формат метки (нужно указать два раза из-за странной ошибки в пакете
+% |subfigure|).
+% \begin{macrocode}
+ \renewcommand*\@thesubfigure{\small\textit{\asbuk{subfigure}})}
+\fi
+
+% \end{macrocode}
+% Включение переносов в словах с дефисом.
+% \begin{macrocode}
+\lccode `\-=`\-
+\defaulthyphenchar=127
+%</custom>
+% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/disser/disser.dtx b/Master/texmf-dist/source/latex/disser/disser.dtx
new file mode 100644
index 00000000000..2e6adff6c7b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/disser/disser.dtx
@@ -0,0 +1,575 @@
+%\iffalse
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% disser -- LaTeX document class for dissertations.
+%%
+%% Copyright (c) 2004-2006 Stanislav Kruchinin
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This program is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%<driver>\ProvidesFile{disser.dtx}
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage[a4paper, includehead, includefoot, mag=1000,
+ left=4cm, right=1.5cm, top=1cm, bottom=2cm]{geometry}
+\usepackage[T2A]{fontenc}
+\usepackage[cp1251]{inputenc}
+\usepackage[english,russian]{babel}
+
+\usepackage[unicode,
+ pdftitle = {Documentation for the disser package},
+ pdfauthor = {Stanislav Kruchinin},
+ pdfsubject = {disser},
+ pdfstartview = {FitH},
+ pdfborder = {0 0 0},
+ bookmarksopen = true,
+ bookmarksnumbered = true,
+ bookmarksopenlevel = 2
+ ]{hyperref}
+\usepackage{cmap}
+
+\let\package\textsf
+\IfFileExists{pscyr.sty}{%
+ \usepackage{pscyr}
+ \renewcommand\ttdefault{cmtt}
+ \renewcommand\rmdefault{ftm}
+}{}
+\usepackage{tabularx,doc}
+\IfFileExists{url.sty}{\RequirePackage{url}}{\newcommand\url{\texttt}}
+
+\hypersetup{
+ colorlinks = true,
+ colorlinks = true,
+ linkcolor = black, citecolor=blue,
+ filecolor = blue, menucolor=blue,
+ pagecolor = blue, urlcolor=blue
+}
+
+%\OnlyDescription % uncomment to suppress code line listing
+\RecordChanges % uncomment for a change history
+%\CodelineIndex\EnableCrossrefs % uncomment for command index
+
+\MakeShortVerb{\|}
+\parindent=0pt
+
+\begin{document}
+\sloppy
+ \DocInput{disser.dtx}
+ \DocInput{counters.dtx}
+ \DocInput{part.dtx}
+ \DocInput{chapter.dtx}
+ \DocInput{sections.dtx}
+ \DocInput{lists.dtx}
+ \DocInput{floats.dtx}
+ \DocInput{env.dtx}
+ \DocInput{page.dtx}
+ \DocInput{titlepage.dtx}
+ \DocInput{bachelor.dtx}
+ \DocInput{master.dtx}
+ \DocInput{candidate.dtx}
+ \DocInput{doctor.dtx}
+ \DocInput{autoref.dtx}
+ \DocInput{toc.dtx}
+ \DocInput{custom.dtx}
+ \DocInput{gost732.dtx}
+ \PrintChanges
+\end{document}
+%</driver>
+% \fi
+%
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \def\fileversion{1.0.2}
+%
+% \title{|disser| "--- класс \LaTeX{} для оформления диссертаций}
+% \author{Станислав Кручинин\\[6pt]
+% \normalsize E-mail:
+% \href{mailto:stas@crypt.org.ru}{\texttt{stas@crypt.org.ru}}}
+% \date{Версия \fileversion}
+%
+% \maketitle
+%
+% \begin{abstract}\noindent
+% Данный документ содержит описание исходных текстов.
+% Инструкции по установке смотрите в файлах |README| и |README.ru|.
+% \end{abstract}
+%
+% \tableofcontents
+%
+% \section{Введение}
+%
+% Класс |disser| был создан в результате объединения множества дополнений и
+% исправлений для |extreport|, написанных автором при оформлении
+% бакалаврской и магистерской работ по физике. Основной целью являлось
+% устранение одного из главных недостатков стандартных классов ---
+% отсутствия возможности прямого изменения формата элементов титульного
+% листа, заголовков и записей в автоматически генерируемых списках
+% (содержание, список иллюстраций, список таблиц). Предполагается, что
+% пользователи будут активно изменять текст в соответствии со своими
+% требованиями, поэтому он разбит на несколько файлов и снабжен подробными
+% комментариями.
+%
+% \section{Исходный текст}
+%
+% \begin{macrocode}
+
+%<disser>\NeedsTeXFormat{LaTeX2e}
+%<disser>\ProvidesClass{disser}[2006/09/06 Document class for dissertations.]
+%<disser>\ProvidesPackage{disser}
+
+%<bachelor>\ProvidesFile{bachelor.rtx}
+%<master>\ProvidesFile{master.rtx}
+%<candidate>\ProvidesFile{candidate.rtx}
+%<doctor>\ProvidesFile{doctor.rtx}
+%<autoref>\ProvidesFile{autoref.rtx}
+%<titledefs>\ProvidesFile{titledefs.rtx}
+
+%<*disser>
+% \end{macrocode}
+% Расширение включаемых файлов.
+% \begin{macrocode}
+\def\substyle@ext{.rtx}
+% \end{macrocode}
+% Определение условий.
+% \begin{itemize}
+% \item |true|, если включена опция, оставляющая одну колонку при
+% двухколонном наборе.
+% \begin{macrocode}
+\newif\if@restonecol
+% \end{macrocode}
+% \item |true|, если разрешена титульная страница.
+% \begin{macrocode}
+\newif\if@titlepage\@titlepagetrue
+% \end{macrocode}
+% \item Соответствующие типы диссертаций.
+% \begin{macrocode}
+\newif\if@bachelor\@bachelorfalse
+\newif\if@master\@masterfalse
+\newif\if@candidate\@candidatefalse
+\newif\if@doctor\@doctorfalse
+\newif\if@autoref\@autoreffalse
+% \end{macrocode}
+% \item |true|, если главы начинаются только с нечетных страниц.
+% \begin{macrocode}
+\newif\if@openright
+% \end{macrocode}
+% \item |true|, если подключается |hyperref|.
+% \begin{macrocode}
+\newif\ifhref\hreffalse
+% \end{macrocode}
+% \item |true|, если файл обрабатывается pdf\LaTeX{}.
+% \begin{macrocode}
+\newif\ifpdf
+ \ifx\pdfoutput\undefined
+ \else
+ \ifx\pdfoutput\relax
+ \else
+ \ifcase\pdfoutput
+ \else
+ \pdftrue
+ \fi
+ \fi
+ \fi
+
+\newif\ifsubf\subffalse
+
+% \end{macrocode}
+% \end{itemize}
+% \subsection{Опции класса}
+%
+% Размер листов.
+% \begin{macrocode}
+
+\DeclareOption{a4paper}{%
+ \setlength\paperheight{297mm}
+ \setlength\paperwidth {210mm}
+}
+\DeclareOption{a5paper}{%
+ \setlength\paperheight{210mm}
+ \setlength\paperwidth {148mm}
+}
+\DeclareOption{b5paper}{%
+ \setlength\paperheight{250mm}
+ \setlength\paperwidth {176mm}
+}
+% \end{macrocode}
+% Альбомная ориентация.
+% \begin{macrocode}
+\DeclareOption{landscape}{%
+ \setlength\@tempdima {\paperheight}%
+ \setlength\paperheight{\paperwidth}%
+ \setlength\paperwidth {\@tempdima}
+}
+
+% \end{macrocode}
+% Размер шрифта основного текста.
+% \begin{macrocode}
+\newcommand\@ptsize{}
+\DeclareOption{8pt} {\renewcommand\@ptsize{8}}
+\DeclareOption{9pt} {\renewcommand\@ptsize{9}}
+\DeclareOption{10pt}{\renewcommand\@ptsize{10}}
+\DeclareOption{11pt}{\renewcommand\@ptsize{11}}
+\DeclareOption{12pt}{\renewcommand\@ptsize{12}}
+\DeclareOption{14pt}{\renewcommand\@ptsize{14}}
+\DeclareOption{17pt}{\renewcommand\@ptsize{17}}
+\DeclareOption{20pt}{\renewcommand\@ptsize{20}}
+
+% \end{macrocode}
+% Установка полей для односторонней или двухсторонней печати.
+% \begin{macrocode}
+\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
+\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
+
+% \end{macrocode}
+% Включение сообщений о строках, выходящих за поля.
+% \begin{macrocode}
+\DeclareOption{draft}{\setlength\overfullrule{5pt}}
+\DeclareOption{final}{\setlength\overfullrule{0pt}}
+
+% \end{macrocode}
+% Печатать титульный лист или нет.
+% \begin{macrocode}
+\DeclareOption{titlepage} {\@titlepagetrue}
+\DeclareOption{notitlepage}{\@titlepagefalse}
+
+% \end{macrocode}
+% Главы будут начинаться только на нечетной странице (будет всегда справа на
+% развороте) или на первой доступной.
+% \begin{macrocode}
+\DeclareOption{openright}{\@openrighttrue}
+\DeclareOption{openany}{\@openrightfalse}
+
+% \end{macrocode}
+% Верстка в один или в два столбца.
+% \begin{macrocode}
+\DeclareOption{onecolumn}{\@twocolumnfalse}
+\DeclareOption{twocolumn}{\@twocolumntrue}
+
+% \end{macrocode}
+% Номера размещаются слева, а не справа от формул.
+% \begin{macrocode}
+\DeclareOption{leqno}{\input{leqno.clo}}
+
+% \end{macrocode}
+% Выключные формулы будут выравнены по левому краю, а не по центру.
+% \begin{macrocode}
+\DeclareOption{fleqn}{\input{fleqn.clo}}
+% \end{macrocode}
+% Использовать в тексте и формулах шрифт Times вместо Computer Modern Roman.
+% \begin{macrocode}
+\DeclareOption{times}{
+ \AtEndOfPackage{%
+ \usepackage{pscyr}
+% \end{macrocode}
+% Пакет |txfonts| необходимо подключать \textbf{после} |pscyr| для
+% корректного определения символов, составленных из двух других (таких как
+% $\hbar$ и $\neq$).
+% \begin{macrocode}
+ \usepackage{txfonts}
+% \end{macrocode}
+% Установка Times как шрифта по умолчанию.
+% \begin{macrocode}
+ \renewcommand{\rmdefault}{ftm}
+ }
+}
+% \end{macrocode}
+% Если указана эта опция, то блоки текста в списке литературы будут печататься на новых строках и с отступом.
+% \begin{macrocode}
+\DeclareOption{openbib}{%
+ \AtEndOfPackage{%
+ \renewcommand\@openbib@code{%
+ \advance\leftmargin\bibindent
+ \itemindent -\bibindent
+ \listparindent \itemindent
+ \parsep \z@
+ }%
+ \renewcommand\newblock{\par}
+ }%
+}
+% \end{macrocode}
+% Включение пакета |hyperref| и необходимых настроек.
+% \begin{macrocode}
+\DeclareOption{href}{\hreftrue}
+
+% \end{macrocode}
+% Включение пакета |subfigure| и необходимых настроек.
+% \begin{macrocode}
+\DeclareOption{subf}{\subftrue}
+
+% \end{macrocode}
+% Тип диссертации.
+% \begin{macrocode}
+\DeclareOption{bachelor}{%
+ \@bachelortrue\@masterfalse\@candidatefalse\@doctorfalse\@autoreffalse
+}
+\DeclareOption{master}{%
+ \@bachelorfalse\@mastertrue\@candidatefalse\@doctorfalse\@autoreffalse
+}
+\DeclareOption{candidate}{%
+ \@bachelorfalse\@masterfalse\@candidatetrue\@doctorfalse\@autoreffalse
+}
+\DeclareOption{doctor}{%
+ \@bachelorfalse\@masterfalse\@candidatefalse\@doctortrue\@autoreffalse
+}
+\DeclareOption{autoref}{%
+ \@bachelorfalse\@masterfalse\@candidatefalse\@doctorfalse\@autoreftrue
+}
+% \end{macrocode}
+% Команды изменения регистра.
+% \DescribeMacro{\MakeTextUppercase}
+% \begin{macrocode}
+\DeclareRobustCommand\MakeTextUppercase{%
+ \@uclcnotmath{\def\i{I}\def\j{J}}{##1##2}\uppercase}
+
+\protected@edef\MakeTextUppercase#1{\MakeTextUppercase{#1}}
+
+% \end{macrocode}
+% \DescribeMacro{\MakeTextLowercase}
+% \begin{macrocode}
+\DeclareRobustCommand\MakeTextLowercase{%
+ \@uclcnotmath{}{##2##1}\lowercase}
+
+\protected@edef\MakeTextLowercase#1{\MakeTextLowercase{#1}}
+
+% \end{macrocode}
+% Выполнение опций по умолчанию.
+% \begin{macrocode}
+\ExecuteOptions{a4paper,14pt,oneside,titlepage,onecolumn,final,openany}
+% \end{macrocode}
+% Выполнение пользовательских опций.
+% \begin{macrocode}
+\ProcessOptions
+% \end{macrocode}
+% \subsection{Настройка шрифтов}
+% \subsubsection{Определение размеров}
+% \begin{macrocode}
+\def\EC@family#1#2#3#4#5{%
+ \DeclareFontShape{#1}{#2}{#3}{#4}%
+ {<5><6><7><8><9><10><10.95><12><14.4><17.28><20.74>%
+ <24.88><29.86><35.83><42.99><51.59>genb*#5}{}}
+\EC@family{T1}{cmr}{m}{n}{ecrm}
+\EC@family{T1}{cmr}{m}{sl}{ecsl}
+\EC@family{T1}{cmr}{m}{it}{ecti}
+\EC@family{T1}{cmr}{m}{sc}{eccc}
+\EC@family{T1}{cmr}{bx}{n}{ecbx}
+\EC@family{T1}{cmr}{b}{n}{ecrb}
+\EC@family{T1}{cmr}{bx}{it}{ecbi}
+\EC@family{T1}{cmr}{bx}{sl}{ecbl}
+\EC@family{T1}{cmr}{bx}{sc}{ecxc}
+\EC@family{T1}{cmr}{m}{ui}{ecui}
+\DeclareFontShape{OT1}{cmr}{m}{n}%
+ {<5><6><7><8><9><10><12>gen*cmr%
+ <10.95>cmr10%
+ <14.4>cmr12%
+ <17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmr17}{}
+\DeclareFontShape{OT1}{cmr}{m}{sl}%
+ {<5><6><7>cmsl8%
+ <8><9>gen*cmsl%
+ <10><10.95>cmsl10%
+ <12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmsl12%
+ }{}
+\DeclareFontShape{OT1}{cmr}{m}{it}%
+ {<5><6><7>cmti7%
+ <8>cmti8%
+ <9>cmti9%
+ <10><10.95>cmti10%
+ <12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmti12%
+ }{}
+\DeclareFontShape{OT1}{cmr}{m}{sc}%
+ {<5><6><7><8><9><10><10.95><12>%
+ <14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmcsc10%
+ }{}
+\DeclareFontShape{OT1}{cmr}{m}{ui}{
+ <5><6><7><8><9><10><10.95><12>%
+ <14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmu10%
+}{}
+\DeclareFontShape{OT1}{cmr}{b}{n}{
+ <5><6><7><8><9><10><10.95><12>%
+ <14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmb10%
+}{}
+\DeclareFontShape{OT1}{cmr}{bx}{n}{
+ <5><6><7><8><9>gen*cmbx%
+ <10><10.95>cmbx10%
+ <12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmbx12%
+}{}
+\DeclareFontShape{OT1}{cmr}{bx}{sl}{<5><6><7><8><9>%
+ <10><10.95><12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmbxsl10%
+}{}
+\DeclareFontShape{OT1}{cmr}{bx}{it}{<5><6><7><8><9>%
+ <10><10.95><12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmbxti10%
+}{}
+\input{size\@ptsize.clo}
+\RequirePackage{exscale}
+
+% \end{macrocode}
+%
+% \subsubsection{Старые команды изменения начертания шрифтов (без NFSS)}
+%
+% В текстовом режиме.
+% \begin{macrocode}
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape} {\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape} {\@nomath\sl}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape} {\@nomath\sc}
+% \end{macrocode}
+% В математическом режиме.
+% \begin{macrocode}
+\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
+\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
+
+% \end{macrocode}
+%
+% \subsection{Параметры текста}
+%
+% Вертикальный интервал между строками. Упоминаемый здесь и далее макрос |\p@|
+% определяет единицу длины. По умолчанию она равна английскому пункту (pt).
+% \DescribeMacro{\lineskip}
+% \DescribeMacro{\normallineskip}
+% \begin{macrocode}
+\setlength\lineskip{1\p@}
+\setlength\normallineskip{1\p@}
+% \end{macrocode}
+%
+% \DescribeMacro{\singlespacing}
+% \DescribeMacro{\onehalfspacing}
+% \DescribeMacro{\doublespacing}
+% Команды задания величины межстрочного интервала.
+% \begin{macrocode}
+\newcommand\singlespacing {\renewcommand\baselinestretch{1}}
+\newcommand\onehalfspacing{\renewcommand\baselinestretch{1.5}}
+\newcommand\doublespacing {\renewcommand\baselinestretch{2}}
+% \end{macrocode}
+% Установка межстрочного интервала по умолчанию.
+% \begin{macrocode}
+\onehalfspacing\normalsize
+% \end{macrocode}
+% Интервал между абзацами (добавляется к межстрочному).
+% \DescribeMacro{\parskip}
+% \begin{macrocode}
+\setlength\parskip{0\p@ \@plus \p@}
+% \end{macrocode}
+%
+% \subsection{Параметры размещения плавающих объектов на странице}
+% \subsubsection{Количество объектов}
+% \begin{itemize}
+% \item Максимальное количество плавающих объектов, размещаемое вверху
+% страницы (при двухколонном наборе --- вверху колонки).
+% \begin{macrocode}
+\setcounter{topnumber}{2}
+% \end{macrocode}
+% \item Максимальное количество плавающих объектов, размещаемое внизу
+% страницы (при двухколонном наборе --- внизу колонки).
+% \begin{macrocode}
+\setcounter{bottomnumber}{1}
+% \end{macrocode}
+% \item Максимальное количество плавающих объектов, размещаемое
+% на странице (при двухколонном наборе --- в колонке).
+% \begin{macrocode}
+\setcounter{totalnumber}{3}
+% \end{macrocode}
+% \item При наборе в две колонки: максимальное количество плавающих
+% объектов шириной во всю страницу, которое разрешается разместить вверху
+% страницы
+% \begin{macrocode}
+\setcounter{dbltopnumber}{2}
+% \end{macrocode}
+% \end{itemize}
+%
+% \subsubsection{Величина места, занимаемого плавающими объектами}
+% \begin{itemize}
+% \item Максимальная доля страницы по высоте, которую могут занимать
+% плавающие объекты, размещаемые вверху страницы.
+% \DescribeMacro{\topfraction}
+% \begin{macrocode}
+\renewcommand\topfraction{.7}
+% \end{macrocode}
+% \item Максимальная доля страницы по высоте, которую могут занимать
+% плавающие объекты, размещаемые внизу страницы.
+% \DescribeMacro{\bottomfraction}
+% \begin{macrocode}
+\renewcommand\bottomfraction{.3}
+% \end{macrocode}
+% \item Минимальная доля страницы, которую должен занимать текст, а не
+% плавающие объекты на обычной странице (к страницам, создаваемым
+% \LaTeX{}'ом
+% специально для размещения плавающих объектов при обработке
+% необязательного аргумента |p|, это не относится).
+% \DescribeMacro{\bottomfraction}
+% \begin{macrocode}
+\renewcommand\textfraction{.2}
+% \end{macrocode}
+% \item Параметр, аналогичный предыдущему, относящийся к страницам для
+% плавающих объектов.
+% \DescribeMacro{\floatpagefraction}
+% \begin{macrocode}
+\renewcommand\floatpagefraction{.5}
+% \end{macrocode}
+% \item Тоже, что |\topfraction|, применительно к иллюстрациям (таблицам)
+% шириной в целую страницу при двухколонном наборе.
+% \DescribeMacro{\dbltopfraction}
+% \begin{macrocode}
+\renewcommand\dbltopfraction{.7}
+% \end{macrocode}
+% \item Тоже, что |\floatpagefraction|, применительно к иллюстрациям
+% (таблицам) шириной в целую страницу при двухколонном наборе.
+% \DescribeMacro{\dblfloatpagefraction}
+% \begin{macrocode}
+\renewcommand\dblfloatpagefraction{.5}
+% \end{macrocode}
+% \end{itemize}
+% Максимальный уровень вложенности заголовков, помещаемых в Содержание
+% (по умолчанию вносятся только |\part|, |\chapter| и |\section|).
+% \DescribeMacro{tocdepth}
+% \begin{macrocode}
+\setcounter{tocdepth}{1}
+% \end{macrocode}
+% Максимальный уровень вложенности нумеруемых секций
+% (по умолчанию нумеруются |\part|, |\chapter|, |\section| и |\subsection|).
+% \DescribeMacro{secnumdepth}
+% \begin{macrocode}
+\setcounter{secnumdepth}{2}
+% \end{macrocode}
+% Описание структуры постоянных частей заголовков
+% \begin{itemize}
+% \item в тексте,
+% \DescribeMacro{\@seccntformat}
+% \begin{macrocode}
+\def\@seccntformat#1{%
+ \csname prethe#1\endcsname%
+ \csname the#1\endcsname%
+ \csname postthe#1\endcsname%
+}
+% \end{macrocode}
+% \item в Содержании.
+% \DescribeMacro{\@tocseccntformat}
+% \begin{macrocode}
+\def\@tocseccntformat#1{%
+ \csname tocprethe#1\endcsname%
+ \csname tocthe#1\endcsname%
+ \csname tocpostthe#1\endcsname%
+}
+
+% \end{macrocode}
+% \end{itemize}
+% Характерные величины штрафов. Штраф --- мера <<красоты>> разбиения
+% абзаца на строки. Чем больше величина, тем менее красиво.
+% \begin{macrocode}
+\@lowpenalty 51
+\@medpenalty 151
+\@highpenalty 301
+%</disser>
+% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/disser/disser.ins b/Master/texmf-dist/source/latex/disser/disser.ins
new file mode 100644
index 00000000000..7c5cee5d26d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/disser/disser.ins
@@ -0,0 +1,56 @@
+%%
+%% This file is part of the standard disser bundle. It extracts the
+%% files from disser.dtx to be installed in the TeX hierarchy.
+%%
+%% This file may not be changed unless it is distributed under a
+%% different name, accompanied by a copy of the original file.
+%% The author of the changes and their scope should be clearly
+%% documented, so that questions can be distributed to the proper author.
+%%
+\def\batchfile{disser.ins}
+
+\input docstrip
+\preamble
+
+Copyright (c) 2004-2007 Stanislav Kruchinin.
+All rights reserved.
+
+This file is part of the disser package.
+
+\endpreamble
+
+\def\ffrom#1{\from{#1.dtx}{#1}}
+\def\rtxfile#1{\file{#1.rtx}{\from{#1.dtx}{#1}}}
+\def\clsfile#1{\file{#1.cls}{\from{#1.dtx}{#1}}}
+
+\keepsilent
+\askforoverwritefalse
+
+\generate{%
+ \usedir{tex/latex/disser}
+ \file{disser.cls}{%
+ \ffrom{disser}
+ \ffrom{counters}
+ \ffrom{part}
+ \ffrom{chapter}
+ \ffrom{sections}
+ \ffrom{lists}
+ \ffrom{floats}
+ \ffrom{footnote}
+ \ffrom{env}
+ \ffrom{page}
+ \ffrom{titlepage}
+ \ffrom{toc}
+ \ffrom{custom}
+ }
+ \rtxfile{titledefs}
+ \rtxfile{bachelor}
+ \rtxfile{master}
+ \rtxfile{candidate}
+ \rtxfile{doctor}
+ \rtxfile{autoref}
+ \clsfile{gost732}
+}
+\def\npostamble{}\usepostamble\npostamble
+\endbatchfile
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/disser/doctor.dtx b/Master/texmf-dist/source/latex/disser/doctor.dtx
new file mode 100644
index 00000000000..734f9c2c174
--- /dev/null
+++ b/Master/texmf-dist/source/latex/disser/doctor.dtx
@@ -0,0 +1,55 @@
+% \begin{macrocode}
+
+%<*doctor>
+% \end{macrocode}
+% \subsubsection{Титульный лист кандидатской диссертации}
+%
+% Вертикальные интервалы между элементами титульного листа.
+% \begin{macrocode}
+\def\firstskip{\vskip1.5cm}
+\def\secondskip{\vskip3cm}
+\def\thirdskip{\vskip1cm}
+\def\fourthskip{\vskip1cm}
+\def\fifthskip{\vskip1cm}
+
+\def\titlefont{\normalsize}
+\def\topicfont{\Large\bfseries}
+\def\authorfont{\large}
+\def\specfont{\normalsize}
+
+\normalfont
+\begin{flushright}
+% \end{macrocode}
+% На правах рукописи
+% \begin{macrocode}
+ \firstskip
+ \asmanuscriptname\\
+% \end{macrocode}
+% Номер УДК
+% \begin{macrocode}
+ {\libcatname\;\@libcatnum}
+\end{flushright}
+\begin{center}
+% \end{macrocode}
+% Автор
+% \begin{macrocode}
+ \secondskip
+ {\authorfont\@author}
+% \end{macrocode}
+% Название диссертации
+% \begin{macrocode}
+ \thirdskip
+ {\topicfont\@topic\par}
+% \end{macrocode}
+% Шифр и наименование специальности
+% \begin{macrocode}
+ \fourthskip
+ {\specfont\@specnum~--\;\@spec}
+% \end{macrocode}
+% Диссертация на соискание ученой степени...
+% \begin{macrocode}
+ \fifthskip
+ {\titlefont\@title}
+\end{center}
+%</doctor>
+% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/disser/env.dtx b/Master/texmf-dist/source/latex/disser/env.dtx
new file mode 100644
index 00000000000..f76639cba3f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/disser/env.dtx
@@ -0,0 +1,81 @@
+% \begin{macrocode}
+
+%<*env>
+% \end{macrocode}
+% \subsection{Команды пользовательского интерфейса}
+%
+% \subsubsection{Примечание}
+% \begin{macrocode}
+\newenvironment{description}
+ {\list{}{\labelwidth\z@ \itemindent-\leftmargin
+ \let\makelabel\descriptionlabel}}
+ {\endlist}
+\newcommand*\descriptionlabel[1]{\hspace\labelsep\normalfont\bfseries #1}
+% \end{macrocode}
+%
+% \subsubsection{Аннотация}
+% \begin{macrocode}
+\if@titlepage
+ \newenvironment{abstract}{
+ \thispagestyle{empty}
+ \@beginparpenalty\@lowpenalty
+ \begin{center}%
+ \bfseries\small\abstractname
+ \@endparpenalty\@M
+ \end{center}\small
+ }{\par\vfil\null}
+\else
+ \newenvironment{abstract}{
+ \if@twocolumn
+ \section*{\abstractname}
+ \else
+ \small
+ \begin{center}
+ {\bfseries\abstractname\vspace{-.5em}\vspace{\z@}}%
+ \end{center}
+ \quotation
+ \fi
+ }{\if@twocolumn\else\endquotation\fi}
+\fi
+% \end{macrocode}
+% Цитирование
+% \begin{macrocode}
+\newenvironment{quotation}{
+ \list{}{
+ \listparindent 1.5em
+ \itemindent\listparindent
+ \rightmargin\leftmargin
+ \parsep\z@ \@plus\p@
+ }
+ \item\relax
+}{\endlist}
+% \end{macrocode}
+% Выдержка
+% \begin{macrocode}
+\newenvironment{quote}{
+ \list{}{\rightmargin\leftmargin}
+ \item\relax
+}{\endlist}
+% \end{macrocode}
+% Титульный лист
+% \begin{macrocode}
+\newenvironment{titlepage}{
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse\newpage
+ \fi
+ \thispagestyle{empty}
+ \setcounter{page}\@ne
+}
+{
+ \if@restonecol\twocolumn\else\newpage\fi
+ \if@twoside\else\setcounter{page}\@ne\fi
+}
+% \end{macrocode}
+% Рисунок
+% \begin{macrocode}
+\newenvironment{figure}{\@float{figure}}{\end@float}
+\newenvironment{figure*}{\@dblfloat{figure}}{\end@dblfloat}
+%</env>
+% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/disser/floats.dtx b/Master/texmf-dist/source/latex/disser/floats.dtx
new file mode 100644
index 00000000000..f989fbd24cb
--- /dev/null
+++ b/Master/texmf-dist/source/latex/disser/floats.dtx
@@ -0,0 +1,128 @@
+% \begin{macrocode}
+
+%<*floats>
+% \end{macrocode}
+%
+% \subsection{Плавающие объекты}
+%
+% \subsubsection{Параметры}
+%
+% Вертикальный интервал перед подписью.
+% \begin{macrocode}
+\newlength\abovecaptionskip
+\setlength\abovecaptionskip{10\p@}
+% \end{macrocode}
+% Вертикальный интервал за подписью.
+% \begin{macrocode}
+\newlength\belowcaptionskip
+\setlength\belowcaptionskip{0\p@}
+% \end{macrocode}
+% \DescribeMacro{\captionlabeldelim}
+% Разделитель метки (постоянная часть + номер) и текста подписи.
+% \begin{macrocode}
+\newcommand\captionlabeldelim{.}
+% \end{macrocode}
+% \DescribeMacro{\captionfont}
+% Шрифт подписи.
+% \begin{macrocode}
+\newcommand\captionfont{\small}
+% \end{macrocode}
+% \DescribeMacro{\captionlabelfont}
+% Шрифт метки.
+% \begin{macrocode}
+\newcommand\captionlabelfont{\small\bfseries\selectfont}
+% \end{macrocode}
+% \DescribeMacro{\@makecaption}
+% Формат подписи.
+% \begin{macrocode}
+\long\def\@makecaption#1#2{%
+ \vskip\abovecaptionskip
+ \sbox\@tempboxa{{\captionlabelfont #1\captionlabeldelim} {\captionfont #2}}%
+ \ifdim \wd\@tempboxa >\hsize
+ {{\captionlabelfont #1\captionlabeldelim} {\captionfont #2}}\par
+ \else
+ \global \@minipagefalse
+ \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi
+ \vskip\belowcaptionskip
+}
+
+% \end{macrocode}
+% Рисунок.
+% \begin{macrocode}
+\renewcommand\thefigure{\ifnum \c@chapter>\z@\thechapter.\fi\@arabic\c@figure}
+
+\def\fps@figure{tbp}
+\def\ftype@figure{1}
+% \end{macrocode}
+% \DescribeMacro{\ext@figure}
+% Расширение файла со списком иллюстраций.
+% \begin{macrocode}
+\def\ext@figure{lof}
+% \end{macrocode}
+% \DescribeMacro{\fnum@figure}
+% Формат заголовка подписи (Рис.~1).
+% \begin{macrocode}
+\def\fnum@figure{\figurename~\thefigure}
+
+% \end{macrocode}
+%
+% \subsection{Таблица}
+%
+% Формат номера.
+% \begin{macrocode}
+\renewcommand\thetable{\ifnum \c@chapter>\z@\thechapter.\fi\@arabic\c@table}
+
+% \end{macrocode}
+%
+% Промежуток между колонками в массиве (окружение |array|).
+% \begin{macrocode}
+\setlength\arraycolsep{5\p@}
+% \end{macrocode}
+% Промежуток между колонками в таблице.
+% \begin{macrocode}
+\setlength\tabcolsep{6\p@}
+% \end{macrocode}
+% Толщина линейки в массиве.
+% \begin{macrocode}
+\setlength\arrayrulewidth{.4\p@}
+% \end{macrocode}
+% Промежуток между линиями в двойной линейке |\hrule\hrule|.
+% \begin{macrocode}
+\setlength\doublerulesep{2\p@}
+% \end{macrocode}
+% Промежуток между столбцами в окружении |tabular|.
+% \begin{macrocode}
+\setlength\tabbingsep{\labelsep}
+% \end{macrocode}
+% Промежуток, добавляемый при наличии сноски при использовании окружения |minipage|.
+% \begin{macrocode}
+\skip\@mpfootins = \skip\footins
+% \end{macrocode}
+% Промежуток между линией и текстом в |\fbox|.
+% \begin{macrocode}
+\setlength\fboxsep{3\p@}
+% \end{macrocode}
+% Толщина линии для |\fbox|.
+% \begin{macrocode}
+\setlength\fboxrule{.4\p@}
+% \end{macrocode}
+% Окружения.
+% \DescribeEnv{table}
+% \DescribeEnv{table*}
+% \begin{macrocode}
+\newenvironment{table}{\@float{table}}{\end@float}
+\newenvironment{table*}{\@dblfloat{table}}{\end@dblfloat}
+
+\def\fps@table{tbp}
+\def\ftype@table{2}
+% \end{macrocode}
+% Расширение файла, содержащего сгенерированный список таблиц.
+% \begin{macrocode}
+\def\ext@table{lot}
+% \end{macrocode}
+% Формат заголовка подписи (Таблица~1).
+% \begin{macrocode}
+\def\fnum@table{\tablename~\thetable}
+%</floats>
+% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/disser/footnote.dtx b/Master/texmf-dist/source/latex/disser/footnote.dtx
new file mode 100644
index 00000000000..a627adf576b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/disser/footnote.dtx
@@ -0,0 +1,19 @@
+% \begin{macrocode}
+
+%<*footnote>
+% \end{macrocode}
+%
+% \subsection{Сноска}
+%
+% Горизонтальная линия, отделяющая сноску.
+% \begin{macrocode}
+\renewcommand\footnoterule{%
+ \kern-3\p@\hrule\@width.4\columnwidth\kern2.6\p@
+}
+\newcommand\@makefntext[1]{%
+ \parindent 1em%
+ \noindent
+ \hb@xt@1.8em{\hss\@makefnmark}#1
+}
+%</footnote>
+% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/disser/gost732.dtx b/Master/texmf-dist/source/latex/disser/gost732.dtx
new file mode 100644
index 00000000000..9e6ed3dbaa0
--- /dev/null
+++ b/Master/texmf-dist/source/latex/disser/gost732.dtx
@@ -0,0 +1,99 @@
+% \begin{macrocode}
+
+%<*gost732>
+% \end{macrocode}
+%
+% \section{Класс-обёртка для оформления документов в соответствии с ГОСТ
+% 7.32-2001}
+%
+% Насколько известно автору, на данный момент отсутствуют какие-либо ГОСТы,
+% регламентирующие структуру и правила оформления диссертаций. Наиболее
+% подходящим среди существующих стандартов следует считать ГОСТ 7.32-2001
+% <<Отчет о научно-исследовательской работе>>, реализованный в настоящем
+% классе.
+%
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesClass{gost732}[2007/02/16 GOST 7.32-2001 implementation]
+
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{disser}}
+\ProcessOptions\relax
+\LoadClass[a4paper,14pt]{disser}
+% \end{macrocode}
+%
+% \subsection{Формат заголовков}
+% \begin{macrocode}
+
+\renewcommand\tocprethechapter{}
+\renewcommand\tocpostthechapter{\@postskip}
+\renewcommand\chapteralign{\raggedright}
+\renewcommand\thechapterfont{\Large\bfseries}
+\renewcommand\prethechapter{\newpage}
+\renewcommand\postthechapter{~}
+\renewcommand\postchapter{\vskip 16\p@}
+
+\renewcommand\postthesection{~}
+\renewcommand\tocpostthesection{~}
+
+\renewcommand\postthesubsection{~}
+\renewcommand\tocpostthesubsection{\@postskip}
+
+\renewcommand\postthesubsubsection{~}
+\renewcommand\tocpostthesubsubsection{\@postskip}
+
+\renewcommand\posttheparagraph{~}
+\renewcommand\tocposttheparagraph{\@postskip}
+
+\renewcommand\postthesubparagraph{~}
+\renewcommand\tocpostthesubparagraph{\@postskip}
+
+\newcommand\newbibname{\cyr\CYRS\cyrp\cyri\cyrs\cyro\cyrk\ %
+\cyri\cyrs\cyrp\cyro\cyrl\cyrsftsn\cyrz\cyro\cyrv\cyra\cyrn\cyrn\cyrery\cyrh\ %
+\cyri\cyrs\cyrt\cyro\cyrch\cyrn\cyri\cyrk\cyro\cyrv}
+
+\renewcommand\bibsection{%
+ \renewcommand\bibname\newbibname
+ \nchapter{\bibname}
+}
+% \end{macrocode}
+% \subsection{Списки}
+% \subsubsection{Нумерованный список}
+%
+% Формат счетчиков.
+% \begin{macrocode}
+\renewcommand\theenumi {\@asbuk\c@enumi}
+\renewcommand\theenumii {\@arabic\c@enumii}
+\renewcommand\theenumiii{\@roman\c@enumiii}
+\renewcommand\theenumiv {\@Asbuk\c@enumiv}
+
+% \end{macrocode}
+%
+% Формат меток.
+% \begin{macrocode}
+\renewcommand\labelenumi {\theenumi)}
+\renewcommand\labelenumii {\theenumii)}
+\renewcommand\labelenumiii{\theenumiii)}
+\renewcommand\labelenumiv {\theenumiv)}
+
+% \end{macrocode}
+% Ссылочные префиксы.
+% \begin{macrocode}
+\renewcommand\p@enumii {\theenumi}
+\renewcommand\p@enumiii {\theenumi.\theenumii}
+\renewcommand\p@enumiv {\p@enumiii.\theenumiii}
+
+% \end{macrocode}
+%
+% \subsubsection{Маркированный список}
+%
+% Формат меток.
+% \begin{macrocode}
+\renewcommand\labelitemi {\normalfont\bfseries \textendash}
+\renewcommand\labelitemii {\textbullet}
+\renewcommand\labelitemiii{\textasteriskcentered}
+\renewcommand\labelitemiv {\textperiodcentered}
+
+%</gost732>
+% \end{macrocode}
+% \Finale
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/disser/lists.dtx b/Master/texmf-dist/source/latex/disser/lists.dtx
new file mode 100644
index 00000000000..761b654ed64
--- /dev/null
+++ b/Master/texmf-dist/source/latex/disser/lists.dtx
@@ -0,0 +1,88 @@
+% \begin{macrocode}
+
+%<*lists>
+% \end{macrocode}
+%
+% \subsection{Списки}
+%
+% Пробелы между левым полем полем окружения и полем перечня для элементов
+% указанного уровня вложенности.
+% \paragraph{1}
+% \begin{macrocode}
+\if@twocolumn
+ \setlength\leftmargini {2em}
+\else
+ \setlength\leftmargini {2.5em}
+\fi
+\leftmargin \leftmargini
+% \end{macrocode}
+% \paragraph{2}
+% \begin{macrocode}
+\setlength\leftmarginii {2.2em}
+% \end{macrocode}
+% \paragraph{3}
+% \begin{macrocode}
+\setlength\leftmarginiii {1.87em}
+% \end{macrocode}
+% \paragraph{4}
+% \begin{macrocode}
+\setlength\leftmarginiv {1.7em}
+% \end{macrocode}
+% \paragraph{5 и 6}
+% \begin{macrocode}
+\if@twocolumn
+ \setlength\leftmarginv {.5em}
+ \setlength\leftmarginvi {.5em}
+\else
+ \setlength\leftmarginv {1em}
+ \setlength\leftmarginvi {1em}
+\fi
+% \end{macrocode}
+% Пробел между концом бокса метки и текстом первого элемента
+% \begin{macrocode}
+\setlength\labelsep{.5em}
+% \end{macrocode}
+% Номинальная ширина бокса, содержащего метку.
+% \begin{macrocode}
+\setlength\labelwidth{\leftmargini}
+\addtolength\labelwidth{-\labelsep}
+\@beginparpenalty -\@lowpenalty
+\@endparpenalty -\@lowpenalty
+\@itempenalty -\@lowpenalty
+
+% \end{macrocode}
+%
+% \subsubsection{Нумерованный список}
+%
+% Формат счетчиков.
+% \begin{macrocode}
+\renewcommand\theenumi {\@arabic\c@enumi}
+\renewcommand\theenumii {\@asbuk\c@enumii}
+\renewcommand\theenumiii{\@roman\c@enumiii}
+\renewcommand\theenumiv {\@Asbuk\c@enumiv}
+% \end{macrocode}
+%
+% Формат меток.
+% \begin{macrocode}
+\newcommand\labelenumi {\theenumi.}
+\newcommand\labelenumii {\theenumii.}
+\newcommand\labelenumiii{\theenumiii.}
+\newcommand\labelenumiv {\theenumiv.}
+% \end{macrocode}
+% Ссылочные префиксы.
+% \begin{macrocode}
+\renewcommand\p@enumii {\theenumi}
+\renewcommand\p@enumiii {\theenumi.\theenumii}
+\renewcommand\p@enumiv {\p@enumiii.\theenumiii}
+% \end{macrocode}
+%
+% \subsubsection{Маркированный список}
+%
+% Формат меток.
+% \begin{macrocode}
+\newcommand\labelitemi {\textbullet}
+\newcommand\labelitemii {\normalfont\bfseries \textendash}
+\newcommand\labelitemiii{\textasteriskcentered}
+\newcommand\labelitemiv {\textperiodcentered}
+%</lists>
+% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/disser/master.dtx b/Master/texmf-dist/source/latex/disser/master.dtx
new file mode 100644
index 00000000000..db5c8bafd99
--- /dev/null
+++ b/Master/texmf-dist/source/latex/disser/master.dtx
@@ -0,0 +1,75 @@
+% \begin{macrocode}
+
+%<*master>
+% \end{macrocode}
+% \subsubsection{Титульный лист магистерской диссертации}
+%
+% Вертикальные интервалы между элементами титульного листа.
+% \begin{macrocode}
+\def\firstskip{\vspace*{1em}}
+\def\secondskip{\vspace*{1em}}
+\def\thirdskip{\vskip1.em}
+\def\fourthskip{\vspace*{-1cm}}
+\def\fifthskip{\vskip0em}
+
+% \end{macrocode}
+% Диссертация допущена к защите
+% \begin{macrocode}
+\firstskip\@permitted\secondskip
+\begin{center}
+% \end{macrocode}
+% Заголовок.
+% \begin{macrocode}
+ {\titlefont\@title}
+ \par\thirdskip
+% \end{macrocode}
+%
+% Тема
+% \begin{macrocode}
+ {\topiclabelfont\topiclabel}
+ {\topicfont\@topic}
+ \par
+\end{center}
+\fourthskip
+\begin{tabbing}
+ \phantom{\masterproglabel}\=\\
+% \end{macrocode}
+%
+% Направление
+% \begin{macrocode}
+ \courselabel\>\ \@coursenum\ --\ \@course\\
+% \end{macrocode}
+%
+% Магистерская программа: номер -- название.
+% \begin{macrocode}
+ \masterproglabel\>\ \@masterprognum\ --\ \@masterprog
+\end{tabbing}
+\fifthskip
+\begin{tabbing}
+% \end{macrocode}
+%
+% Выполнил студент гр. номер...
+% \begin{macrocode}
+ \studentlabel\;\groupname\;\@group\hspace{2cm}\=
+ \makebox[8.5cm][l]{\hrulefill\;\@author}
+\\[9pt]
+% \end{macrocode}
+%
+% Научный руководитель
+% \begin{macrocode}
+ \field{sa}
+\\[9pt]
+% \end{macrocode}
+%
+% Рецензент
+% \begin{macrocode}
+ \field{rev}
+\\[9pt]
+% \end{macrocode}
+%
+% Консультант
+% \begin{macrocode}
+ \ifdefined\@con\field{con}\fi
+\end{tabbing}
+%</master>
+% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/disser/page.dtx b/Master/texmf-dist/source/latex/disser/page.dtx
new file mode 100644
index 00000000000..5002679d69b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/disser/page.dtx
@@ -0,0 +1,146 @@
+% \begin{macrocode}
+
+%<*page>
+% \end{macrocode}
+%
+% \subsection{Параметры страниц}
+%
+% Интервал между колонками текста.
+% \begin{macrocode}
+\setlength\columnsep{10\p@}
+% \end{macrocode}
+%
+% Ширина разделителя (линии) между колонками текста (по умолчанию его нет).
+% \begin{macrocode}
+\setlength\columnseprule{0\p@}
+% \end{macrocode}
+% Стиль оформления колонтитулов страницы.
+% \begin{macrocode}
+\pagestyle{plain}
+% \end{macrocode}
+% Стиль нумерации страниц.
+% \begin{macrocode}
+\pagenumbering{arabic}
+% \end{macrocode}
+% Для односторонних документов разрешается делать страницы с разной высотой
+% текста.
+% \begin{macrocode}
+\if@twoside\else\raggedbottom\fi
+% \end{macrocode}
+% Для двухколоночных документов:
+% |\flushbottom| запрещает делать страницы с разной высотой текста,
+% |\sloppy| включает менее жесткие ограничения на разрывы строк.
+% \begin{macrocode}
+\if@twocolumn\twocolumn\sloppy\flushbottom
+\else\onecolumn\fi
+
+% \end{macrocode}
+%
+% \subsection{Определение стилей страниц}
+%
+% \subsubsection{headings}
+% \begin{macrocode}
+\if@twoside
+% \end{macrocode}
+% \begin{itemize}
+% \item Для двухсторонних документов.
+% \begin{macrocode}
+ \def\ps@headings{%
+% \end{macrocode}
+% \begin{itemize}
+% \item Колонтитулы:
+% \begin{itemize}
+% \item на нечетных страницах снизу.
+% \begin{macrocode}
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+% \end{macrocode}
+% \item на четных страницах сверху.
+% \begin{macrocode}
+ \def\@evenhead{\thepage\hfil\slshape\leftmark}%
+% \end{macrocode}
+% \item на нечетных страницах сверху.
+% \begin{macrocode}
+ \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+ \let\@mkboth\markboth
+% \end{macrocode}
+% \end{itemize}
+% \item Постоянная часть заголовка главы.
+% \begin{macrocode}
+ \def\chaptermark##1{%
+ \markboth{\textsc{%
+ \ifnum \c@secnumdepth >\m@ne
+ \@tocseccntformat{chapter} \ %
+ \fi
+ ##1}}{}%
+ }%
+% \end{macrocode}
+% \item Постоянная часть заголовка секции.
+% \begin{macrocode}
+ \def\sectionmark##1{%
+ \markright{\MakeUppercase{%
+ \ifnum \c@secnumdepth >\z@
+ \@tocseccntformat{section}%
+ \fi
+ ##1}%
+ }%
+ }%
+ }%
+% \end{macrocode}
+% \end{itemize}
+% \begin{macrocode}
+\else % \if@twoside
+% \end{macrocode}
+% \item Для односторонних документов.
+% \begin{macrocode}
+ \def\ps@headings{%
+% \end{macrocode}
+% \begin{itemize}
+% \item Колонтитулы.
+% \begin{macrocode}
+ \let\@oddfoot\@empty
+ \def\@oddhead{
+ {\slshape\rightmark}%
+ \hfil\thepage
+ }%
+ \let\@mkboth\markboth
+% \end{macrocode}
+% \item Формат маркера главы.
+% \begin{macrocode}
+ \def\chaptermark##1{%
+ \markright {\textsc{%
+ \ifnum\c@secnumdepth >\m@ne
+ \@tocseccntformat{chapter} \ %
+ \fi
+ ##1}}{}}
+% \end{macrocode}
+% \item Формат маркера секции.
+% \begin{macrocode}
+ \def\sectionmark##1{%
+ \markright{
+ \MakeUppercase{
+ \ifnum \c@secnumdepth >\z@
+ \@tocseccntformat{section} \ %
+ \fi
+ ##1%
+ }
+ }
+ }
+ }
+\fi % \if@twoside
+
+% \end{macrocode}
+% \end{itemize}
+% \end{itemize}
+%
+% \subsubsection{myheadings}
+% \begin{macrocode}
+\def\ps@myheadings{%
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{\thepage\hfil\slshape\leftmark}%
+ \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+ \let\@mkboth\@gobbletwo
+ \let\chaptermark\@gobble
+ \let\sectionmark\@gobble
+}
+%</page>
+% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/disser/part.dtx b/Master/texmf-dist/source/latex/disser/part.dtx
new file mode 100644
index 00000000000..59163401f16
--- /dev/null
+++ b/Master/texmf-dist/source/latex/disser/part.dtx
@@ -0,0 +1,141 @@
+% \begin{macrocode}
+
+%<*part>
+% \end{macrocode}
+% \subsection{Часть}
+%
+% \subsubsection{Формат записи в Содержании}
+% Постоянный текст до номера (по умолчанию --- слово ``Часть'').
+% \begin{macrocode}
+\providecommand\tocprethepart{\partname~}
+% \end{macrocode}
+% Постоянный текст после номера.
+% \begin{macrocode}
+\providecommand\tocpostthepart{.\@postskip}
+% \end{macrocode}
+% Заполнитель между названием и номером страницы. Для части по умолчанию отсутствует.
+% Чтобы заполнить какими-либо символами |\tocpartfill| нужно присвоить значение
+% |\tocfill{символ}|. Для примера см. далее определение |\tocsectionfill|.
+% \begin{macrocode}
+\providecommand\tocpartfill{}
+% \end{macrocode}
+% Шрифт заголовка в Содержании.
+% \begin{macrocode}
+\providecommand\tocpartfont{\bfseries}
+% \end{macrocode}
+% Шрифт заполнителя.
+% \begin{macrocode}
+\providecommand\tocpartfillfont{\normalfont}
+% \end{macrocode}
+% Шрифт номера.
+% \begin{macrocode}
+\providecommand\tocpartnumfont{\normalfont}
+
+% \end{macrocode}
+% Параметры номера и названия: выравнивание, шрифт, отступы, текст до и после.
+% \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\prepart{}
+\providecommand\postpart{\par}
+
+% \end{macrocode}
+% Стиль страницы, на которой расположен заголовок части.
+% \begin{macrocode}
+\providecommand\partpagestyle{empty}
+% \end{macrocode}
+%
+% Интерфейс.
+% \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}
+% Установка счетчиков и добавление строки в Содержание.
+% \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\prepart #2\postpart}%
+ }
+ \@endpart%
+}
+
+\def\@spart#1{%
+ \partalign{\interlinepenalty \@M%
+ \partfont\prepart #1\postpart}%
+ \@endpart
+}
+
+\def\@endpart{
+ \vfil\newpage
+ \if@twoside
+ \null
+ \thispagestyle{\partpagestyle}%
+ \newpage
+ \fi
+ \if@tempswa\twocolumn\fi
+}
+% \end{macrocode}
+% Команда, создающая запись в Содержании.
+% \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}
diff --git a/Master/texmf-dist/source/latex/disser/sections.dtx b/Master/texmf-dist/source/latex/disser/sections.dtx
new file mode 100644
index 00000000000..8145b01a9be
--- /dev/null
+++ b/Master/texmf-dist/source/latex/disser/sections.dtx
@@ -0,0 +1,238 @@
+% \begin{macrocode}
+
+%<*sections>
+% \end{macrocode}
+% \subsection{Секции и параграфы}
+% \subsubsection{Section}
+% \begin{macrocode}
+\providecommand\tocprethesection{}
+\providecommand\tocpostthesection{.\@postskip}
+\providecommand\tocsectionfill{\tocfill{.}}
+
+\providecommand\tocsectionfont{\normalfont}
+\providecommand\tocsectionfillfont{}
+\providecommand\tocsectionnumfont{}
+% \end{macrocode}
+% Величина отступа записи в Содержании.
+% \DescribeMacro{\tocsectionindent}
+% \begin{macrocode}
+\providecommand\tocsectionindent{1.5em}
+% \end{macrocode}
+% Пробел после номера.
+% \DescribeMacro{\tocsectionnameindent}
+% \begin{macrocode}
+\providecommand\tocsectionnameindent{2.3em}
+
+\providecommand\sectionfont{\normalfont\large\bfseries}
+
+\providecommand\prethesection{}
+\providecommand\postthesection{.~}
+
+% \end{macrocode}
+% Величина отступа заголовка секции на странице.
+% \DescribeMacro{\sectionindent}
+% \begin{macrocode}
+\providecommand\sectionindent{\z@}
+% \end{macrocode}
+% Величина вертикального отступа перед заголовком секции.
+% \DescribeMacro{\presection}
+% \begin{macrocode}
+\providecommand\presection{-3.5ex \@plus -1ex \@minus -.2ex}
+% \end{macrocode}
+% Величина вертикального отступа после заголовка секции.
+% \DescribeMacro{\postsection}
+% \begin{macrocode}
+\providecommand\postsection{2.3ex \@plus.2ex}
+% \end{macrocode}
+% Выравнивание заголовка.
+% \DescribeMacro{\sectionalign}
+% \begin{macrocode}
+\providecommand\sectionalign{\raggedright}
+
+% \end{macrocode}
+% \subsubsection{Subsection}
+% \begin{macrocode}
+\providecommand\tocprethesubsection{}
+\providecommand\tocpostthesubsection{.\@postskip}
+\providecommand\tocsubsectionfill{\tocfill{.}}
+
+\providecommand\tocsubsectionfont{\normalfont}
+\providecommand\tocsubsectionfillfont{}
+\providecommand\tocsubsectionnumfont{}
+
+\providecommand\tocsubsectionindent{3.8em}
+\providecommand\tocsubsectionnameindent{3.2em}
+
+\providecommand\subsectionfont{\normalfont\normalsize\bfseries}
+
+\providecommand\prethesubsection{}
+\providecommand\postthesubsection{.~}
+
+\providecommand\subsectionindent{\z@}
+\providecommand\presubsection{-3.25ex\@plus -1ex \@minus -.2ex}
+\providecommand\postsubsection{1.5ex \@plus .2ex}
+\providecommand\subsectionalign{\raggedright}
+
+% \end{macrocode}
+% \subsubsection{Subsubsection}
+% \begin{macrocode}
+\providecommand\tocprethesubsubsection{}
+\providecommand\tocpostthesubsubsection{.\@postskip}
+\providecommand\tocsubsubsectionfill{\tocfill{.}}
+
+\providecommand\tocsubsubsectionfont{\normalfont}
+\providecommand\tocsubsubsectionfillfont{}
+\providecommand\tocsubsubsectionnumfont{}
+
+\providecommand\tocsubsubsectionindent{7.0em}
+\providecommand\tocsubsubsectionnameindent{4.1em}
+
+\providecommand\subsubsectionfont{\normalfont\normalsize\bfseries}
+
+\providecommand\prethesubsubsection{}
+\providecommand\postthesubsubsection{.~}
+
+\providecommand\subsubsectionindent{\z@}
+\providecommand\presubsubsection{-3.25ex\@plus -1ex \@minus -.2ex}
+\providecommand\postsubsubsection{1.5ex \@plus .2ex}
+\providecommand\subsubsectionalign{\raggedright}
+
+% \end{macrocode}
+% \subsubsection{Paragraph}
+% \begin{macrocode}
+\providecommand\tocpretheparagraph{}
+\providecommand\tocposttheparagraph{.\@postskip}
+\providecommand\tocparagraphfill{\tocfill{.}}
+
+\providecommand\tocparagraphfont{\normalfont}
+\providecommand\tocparagraphfillfont{}
+\providecommand\tocparagraphnumfont{}
+
+\providecommand\tocparagraphindent{10em}
+\providecommand\tocparagraphnameindent{5em}
+
+\providecommand\paragraphfont{\normalfont\normalsize\bfseries}
+
+\providecommand\pretheparagraph{}
+\providecommand\posttheparagraph{.~}
+
+\providecommand\paragraphindent{\z@}
+\providecommand\preparagraph{3.25ex \@plus1ex \@minus.2ex}
+\providecommand\postparagraph{-1em}
+\providecommand\paragraphalign{\raggedright}
+
+% \end{macrocode}
+% \subsubsection{Subparagraph}
+% \begin{macrocode}
+\providecommand\tocprethesubparagraph{}
+\providecommand\tocpostthesubparagraph{.\@postskip}
+\providecommand\tocsubparagraphfill{\tocfill{.}}
+
+\providecommand\tocsubparagraphfont{\normalfont}
+\providecommand\tocsubparagraphfillfont{}
+\providecommand\tocsubparagraphnumfont{}
+
+\providecommand\tocsubparagraphindent{12em}
+\providecommand\tocsubparagraphnameindent{6em}
+
+\providecommand\subparagraphfont{\normalfont\normalsize\bfseries}
+
+\providecommand\prethesubparagraph{}
+\providecommand\postthesubparagraph{.~}
+
+\providecommand\subparagraphindent{\parindent}
+\providecommand\presubparagraph{3.25ex \@plus1ex \@minus .2ex}
+\providecommand\postsubparagraph{-1em}
+\providecommand\subparagraphalign{\raggedright}
+
+% \end{macrocode}
+% \subsubsection{Заголовки секций}
+%
+% Обобщенная версия стандартного макроса, создающего заголовки секций.
+% \begin{macrocode}
+\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
+ #7}%
+ \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
+ #7}}%
+ \fi
+ \@xsect{#5}
+}
+
+% \end{macrocode}
+% Обобщенная версия стандартного макроса, добавляющего запись в Содержание.
+% \begin{macrocode}
+\def\@tocline#1#2#3#4#5#6{%
+ \ifnum #2>\c@tocdepth \else
+ \vskip \z@ \@plus.2\p@
+ {\leftskip #3\relax \rightskip \@tocrmarg \parfillskip -\rightskip
+ \parindent #3\relax\@afterindenttrue
+ \interlinepenalty\@M
+ \leavevmode
+ \@tempdima #4\relax
+ \csname toc#1font\endcsname
+ \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
+ {#5}\nobreak
+ \csname toc#1fillfont\endcsname \csname toc#1fill\endcsname\hfill
+ \nobreak\hb@xt@\@pnumwidth{\hfil\csname toc#1numfont\endcsname #6}%
+ \par%
+ }%
+ \fi
+}
+
+\newcommand*\l@section {\@tocline{section} {1}
+ {\tocsectionindent}{\tocsectionnameindent}}
+\newcommand*\l@subsection {\@tocline{subsection} {2}
+ {\tocsubsectionindent}{\tocsubsectionnameindent}}
+\newcommand*\l@subsubsection{\@tocline{subsubsection}{3}
+ {\tocsubsubsectionindent}{\tocsubsubsectionnameindent}}
+\newcommand*\l@paragraph {\@tocline{paragraph} {4}
+ {\tocparagraphindent}{\tocparagraphnameindent}}
+\newcommand*\l@subparagraph {\@tocline{subparagraph} {5}
+ {\tocsubparagraphindent}{\tocsubparagraphnameindent}}
+
+% \end{macrocode}
+% Интерфейс.
+% \begin{macrocode}
+\newcommand\section{%
+ \@startsection{section}{1}{\sectionindent}%
+ {\presection}{\postsection}{\sectionfont\sectionalign}}
+\newcommand\subsection{%
+ \@startsection{subsection}{2}{\subsectionindent}%
+ {\presubsection}{\postsubsection}{\subsectionfont\subsectionalign}}
+\newcommand\subsubsection{%
+ \@startsection{subsubsection}{3}{\subsubsectionindent}%
+ {\presubsubsection}{\postsubsubsection}{\subsubsectionfont\subsubsectionalign}}
+\newcommand\paragraph{%
+ \@startsection{paragraph}{4}{\paragraphindent}%
+ {\preparagraph}{\postparagraph}{\paragraphfont\paragraphalign}}
+\newcommand\subparagraph{%
+ \@startsection{subparagraph}{5}{\parindent}%
+ {\presubparagraph}{\postsubparagraph}{\subparagraphfont\subparagraphalign}}
+%</sections>
+% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/disser/titledefs.dtx b/Master/texmf-dist/source/latex/disser/titledefs.dtx
new file mode 100644
index 00000000000..d8fd6d6d046
--- /dev/null
+++ b/Master/texmf-dist/source/latex/disser/titledefs.dtx
@@ -0,0 +1,299 @@
+%<*titledefs>
+% \end{macrocode}
+%
+% \subsection{Постоянные части заголовков и элементов титульного листа}
+%
+% Аннотация
+% \begin{macrocode}
+\def\abstractname{\cyr\CYRA\cyrn\cyrn\cyro\cyrt\cyra\cyrc\cyri\cyrya}
+% \end{macrocode}
+% Титульный лист
+% \begin{macrocode}
+\def\titlepagename{\cyr\CYRT\cyri\cyrt\cyru\cyrl\cyrsftsn\cyrn\cyrery\cyrishrt\ %
+\cyrl\cyri\cyrs\cyrt}
+% \end{macrocode}
+% Ключевые слова
+% \begin{macrocode}
+\def\keywordsname{\cyr\CYRK\cyrk\cyryu\cyrch\cyre\cyrv\cyrery\cyre\ %
+\cyrs\cyrl\cyro\cyrv\cyra}
+\def\keywordssep{:}
+\def\keywordslabel{\keywordsname\keywordssep}
+\def\yearname{\cyr\cyrg.}
+% \end{macrocode}
+% Диссертация
+% \begin{macrocode}
+\def\workname{\cyr\CYRD\cyri\cyrs\cyrs\cyre\cyrr\cyrt\cyra\cyrc\cyri\cyrya}
+% \end{macrocode}
+% Диссертация допущена к защите
+% \begin{macrocode}
+\def\disserpermit{\workname\ \cyrd\cyro\cyrp\cyru\cyrshch\cyre\cyrn\cyra\ %
+\cyrk\ \cyrz\cyra\cyrshch\cyri\cyrt\cyre}
+% \end{macrocode}
+% зав. кафедрой
+% \begin{macrocode}
+\def\hodname{\cyr\cyrz\cyra\cyrv.\ \cyrk\cyra\cyrf\cyre\cyrd\cyrr\cyro\cyrishrt}
+% \end{macrocode}
+% гр. (группа)
+% \begin{macrocode}
+\def\groupname{\cyr\cyrg\cyrr.}
+% \end{macrocode}
+% Тема
+% \begin{macrocode}
+\def\topicname{\cyr\CYRT\cyre\cyrm\cyra}
+\def\topicsep{:\ }
+\def\topiclabel{\topicname\topicsep}
+% \end{macrocode}
+% Направление
+% \begin{macrocode}
+\def\coursename{\cyr\CYRN\cyra\cyrp\cyrr\cyra\cyrv\cyrl\cyre\cyrn\cyri\cyre}
+\def\coursesep{:}
+\def\courselabel{\coursename\coursesep}
+% \end{macrocode}
+% Специальность
+% \begin{macrocode}
+\def\specname{\cyr\CYRS\cyrp\cyre\cyrc\cyri\cyra\cyrl\cyrsftsn\cyrn\cyro\cyrs\cyrt\cyrsftsn}
+\def\specsep{:}
+\def\speclabel{\specname\specsep}
+% \end{macrocode}
+% Магистерская программа
+% \begin{macrocode}
+\def\masterprogname{\cyr\CYRM\cyra\cyrg\cyri\cyrs\cyrt\cyre\cyrr\cyrs\cyrk\cyra\cyrya\ %
+\cyrp\cyrr\cyro\cyrg\cyrr\cyra\cyrm\cyrm\cyra}
+\def\masterprogsep{:}
+\def\masterproglabel{\masterprogname\masterprogsep}
+% \end{macrocode}
+% Выполнил студент
+% \begin{macrocode}
+\def\studentname{\cyr\CYRV\cyrery\cyrp\cyro\cyrl\cyrn\cyri\cyrl\ %
+\cyrs\cyrt\cyru\cyrd\cyre\cyrn\cyrt}
+\def\studentlabel{\studentname}
+% \end{macrocode}
+% Руководитель (sa -- сокр. от scientific adviser)
+% \begin{macrocode}
+\def\saname{\cyr\CYRR\cyru\cyrk\cyro\cyrv\cyro\cyrd\cyri\cyrt\cyre\cyrl\cyrsftsn}
+\def\salabel{\saname}
+% \end{macrocode}
+% Рецензент
+% \begin{macrocode}
+\def\revname{\cyr\CYRR\cyre\cyrc\cyre\cyrn\cyrz\cyre\cyrn\cyrt}
+\def\revlabel{\revname}
+% \end{macrocode}
+% Консультант
+% \begin{macrocode}
+\def\conname{\cyr\CYRK\cyro\cyrn\cyrs\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrn\cyrt}
+\def\conlabel{\conname\ \cyrp\cyro\ \@conspec}
+% \end{macrocode}
+% На правах рукописи
+% \begin{macrocode}
+\def\asmanuscriptname{\cyr\CYRN\cyra\ \cyrp\cyrr\cyra\cyrv\cyra\cyrh\ %
+\cyrr\cyru\cyrk\cyro\cyrp\cyri\cyrs\cyri}
+% \end{macrocode}
+% УДК
+% \begin{macrocode}
+\def\libcatname{\cyr\CYRU\CYRD\CYRK}
+% \end{macrocode}
+% Консультанты
+% \begin{macrocode}
+\def\consultname{\cyr\CYRK\cyro\cyrn\cyrs\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrn\cyrt\cyrery:}
+% \end{macrocode}
+% \subsection{Интерфейс для определения элементов титульного листа}
+%
+% Организация
+% \begin{macrocode}
+\def\institution#1{\gdef\@institution{#1}}\institution{}
+% \end{macrocode}
+%
+% Название специальности
+% \begin{macrocode}
+\def\spec#1{\gdef\@spec{#1}}\spec{}
+% \end{macrocode}
+%
+% Номер специальности
+% \begin{macrocode}
+\def\specnum#1{\gdef\@specnum{#1}}\specnum{}
+% \end{macrocode}
+%
+% Название направления
+% \begin{macrocode}
+\def\course#1{\gdef\@course{#1}}\course{}
+% \end{macrocode}
+%
+% Номер направления
+% \begin{macrocode}
+\def\coursenum#1{\gdef\@coursenum{#1}}\coursenum{}
+% \end{macrocode}
+%
+% Ключевые слова
+% \begin{macrocode}
+\def\keywords#1{\gdef\@keywords{#1}}\keywords{}
+% \end{macrocode}
+%
+% Заголовок
+% \begin{macrocode}
+\def\title#1{\gdef\@title{#1}}\title{}
+% \end{macrocode}
+%
+% Тема
+% \begin{macrocode}
+\def\topic#1{\gdef\@topic{#1}}\topic{}
+% \end{macrocode}
+%
+% Автор
+% \begin{macrocode}
+\def\author#1{\gdef\@author{#1}}\author{}
+% \end{macrocode}
+%
+% Город
+% \begin{macrocode}
+\def\city#1{\gdef\@city{#1}}\city{}
+% \end{macrocode}
+%
+% Факультет
+% \begin{macrocode}
+\def\faculty#1{\gdef\@faculty{#1}}\faculty{}
+% \end{macrocode}
+%
+% кафедра
+% \begin{macrocode}
+\def\department#1{\gdef\@department{#1}}\department{}
+% \end{macrocode}
+%
+% ФИО зав. кафедрой
+% \begin{macrocode}
+\def\hod#1{\gdef\@hod{#1}}\hod{}
+% \end{macrocode}
+%
+% \paragraph{Научный руководитель}
+% \subparagraph{ФИО}
+% \begin{macrocode}
+\def\sa#1{\gdef\@sa{#1}}\sa{}
+% \end{macrocode}
+% \subparagraph{учёное звание}
+% \begin{macrocode}
+\def\sastatus#1{\gdef\@sastatus{#1}}\sastatus{}
+% \end{macrocode}
+%
+% \paragraph{Рецензент}
+% \subparagraph{ФИО}
+% \begin{macrocode}
+\def\rev#1{\gdef\@rev{#1}}\rev{}
+% \end{macrocode}
+% \paragraph{учёное звание}
+% \begin{macrocode}
+\def\revstatus#1{\gdef\@revstatus{#1}}\revstatus{}
+% \end{macrocode}
+%
+% \paragraph{Консультант}
+%
+% Специальность
+% \begin{macrocode}
+\def\conspec#1{\gdef\@conspec{#1}}
+% \end{macrocode}
+%
+% ФИО
+\def\con#1{\gdef\@con{#1}}
+% \end{macrocode}
+%
+% Учёное звание и степень
+% \begin{macrocode}
+\def\constatus#1{\gdef\@constatus{#1}}
+% \end{macrocode}
+%
+% Номер УДК
+% \begin{macrocode}
+\def\libcatnum#1{\gdef\@libcatnum{#1}}\libcatnum{}
+% \end{macrocode}
+%
+% Академическая группа
+% \begin{macrocode}
+\def\group#1{\gdef\@group{#1}}\group{}
+% \end{macrocode}
+%
+% Номер магистерской программы
+% \begin{macrocode}
+\def\masterprognum#1{\gdef\@masterprognum{#1}}\masterprognum{}
+% \end{macrocode}
+%
+% Название магистерской программы
+% \begin{macrocode}
+\def\masterprog#1{\gdef\@masterprog{#1}}\masterprog{}
+
+% \end{macrocode}
+%
+% Значение даты по умолчанию
+% \begin{macrocode}
+\date{\number\year}
+% \end{macrocode}
+%
+% Формат записей для научного руководителя, рецензента и консультанта.
+% \begin{macrocode}
+\def\field#1{%
+ \csname #1label\endcsname,\ %
+ \csname @#1status\endcsname\>
+ \makebox[8.5cm][l]{\hrulefill\ \csname @#1\endcsname}
+}
+% \end{macrocode}
+%
+% Диссертация допущена к защите
+% \begin{macrocode}
+\def\@permitted{
+ \begin{tabbing}
+ \hspace{8cm}\={\disserpermit}
+\\
+ \>\hodname
+\\[9pt]
+ \>\makebox[8.5cm][r]{\hrulefill\ \@hod}
+\\[9pt]
+ \>\makebox[1.5cm][r]{<<\hrulefill>>}
+ \makebox[7cm][r]{\hrulefill\ \@date\,\yearname}
+ \end{tabbing}
+}
+
+% \end{macrocode}
+% Сокращение года <<г.>>
+% \begin{macrocode}
+\def\yearname{\cyr\cyrg.}
+% \end{macrocode}
+% Поле для записи даты. Для отображения произвольного года нужно
+% присвоить значение необязательному аргументу.
+% \begin{macrocode}
+\newcommand\datefield[1][\number\year]{<<\rule[0pt]{1cm}{.5pt}\,>>%
+\rule[0pt]{3cm}{0.5pt}\ #1~\yearname}
+
+% \end{macrocode}
+% Определения ненумеруемых глав, входящих в Содержание:
+% \begin{itemize}
+%
+% \item Содержание
+% \begin{macrocode}
+\def\newcontentsname{\cyr\CYRS\cyro\cyrd\cyre\cyrr\cyrzh\cyra\cyrn\cyri\cyre}
+
+% \end{macrocode}
+% \item Введение
+% \begin{macrocode}
+\def\introname{{\cyr\CYRV\cyrv\cyre\cyrd\cyre\cyrn\cyri\cyre}}
+\newcommand\intro{\nchapter{\introname}}
+% \end{macrocode}
+% \item Заключение
+% \begin{macrocode}
+\def\conclusionname{%
+{\cyr\CYRZ\cyra\cyrk\cyrl\cyryu\cyrch\cyre\cyrn\cyri\cyre}
+}
+\newcommand\conclusion{\nchapter{\conclusionname}}
+% \end{macrocode}
+% \item Используемые обозначения
+% \end{itemize}
+% \begin{macrocode}
+\def\defsname{%
+{\cyr\CYRI\cyrs\cyrp\cyro\cyrl\cyrsftsn\cyrz\cyru\cyre\cyrm\cyrery\cyre\ %
+\cyro\cyrb\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyri\cyrya}
+}
+\newcommand\defs{\nchapter{\defsname}}
+%
+% Обзор литературы
+% \begin{macrocode}
+\def\reviewname{\cyr\CYRO\cyrb\cyrz\cyro\cyrr\ %
+\cyrl\cyri\cyrt\cyre\cyrr\cyra\cyrt\cyru\cyrr\cyrery}
+\newcommand\review{\nchapter{\reviewname}}
+%</titledefs>
+% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/disser/titlepage.dtx b/Master/texmf-dist/source/latex/disser/titlepage.dtx
new file mode 100644
index 00000000000..7e719fb0f84
--- /dev/null
+++ b/Master/texmf-dist/source/latex/disser/titlepage.dtx
@@ -0,0 +1,139 @@
+% \begin{macrocode}
+
+%<*titlepage>
+% \end{macrocode}
+%
+% \subsection{Титульный лист}
+%
+% Пустое определение макроса для вывода сегодняшней даты (переопределяется в |babel|).
+% \DescribeMacro{\today}
+% \begin{macrocode}
+\newcommand\today{}
+
+\if@titlepage
+% \end{macrocode}
+%
+% Параметры частей титульного листа
+% \DescribeMacro{\titlefont}
+% \DescribeMacro{\topiclabelfont}
+% \DescribeMacro{\topicfont}
+% \begin{macrocode}
+ \newcommand\titlefont{\Large\bfseries}
+ \newcommand\topiclabelfont{\large}
+ \newcommand\topicfont{\large\bfseries}
+ \newcommand\instfont{\normalfont}
+
+ \input{titledefs\substyle@ext}
+% \end{macrocode}
+% \DescribeMacro{\maketitle}
+% \begin{macrocode}
+ \newcommand\maketitle{
+ \begin{titlepage}
+% \end{macrocode}
+%
+% \subsubsection{Общие элементы титульного листа}
+% \begin{macrocode}
+ \setcounter{page}{-1}
+ \thispagestyle{empty}
+ \vspace*{-1cm}
+% \end{macrocode}
+% \paragraph{Название организации}
+% \begin{macrocode}
+ \centering\instfont\@institution\par
+% \end{macrocode}
+% Для решения проблемы с |@| в именах макросов.
+% \begin{macrocode}
+ \makeatletter
+% \end{macrocode}
+% \paragraph{Включение того или иного титульного листа в зависимости от типа
+% документа}
+% \begin{macrocode}
+ \if@bachelor \input{bachelor\substyle@ext}\fi
+ \if@master \input{master\substyle@ext}\fi
+ \if@candidate\input{candidate\substyle@ext}\fi
+ \if@doctor \input{doctor\substyle@ext}\fi
+ \if@autoref \input{autoref\substyle@ext}\fi
+ \enlargethispage{2cm}
+ \vfill
+% \end{macrocode}
+% \paragraph{Город и год}
+% \begin{macrocode}
+ \begin{center}
+ {\@city\\\@date}
+ \end{center}
+ {\null\endtitlepage}
+ \end{titlepage}
+ \normalsize
+ } % \newcommand\maketitle
+ \setcounter{footnote}{0}
+ \clearpage
+ \thispagestyle{empty}
+ \footskip=1cm
+\else %\if@titlepage
+% \end{macrocode}
+% Заголовок без отдельного титульного листа. Дополнительных команд
+% форматирования на этот случай не предусмотрено, поскольку он практически не
+% используется.
+% \DescribeMacro{\maketitle}
+% \begin{macrocode}
+ \newcommand\maketitle{%
+ \par
+ \begingroup
+ \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
+ \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
+ \long\def\@makefntext##1{%
+ \parindent 1em\noindent
+ \hb@xt@1.8em{\hss\@textsuperscript{\normalfont\@thefnmark}}##1%
+ }%
+ \if@twocolumn
+ \ifnum \col@number=\@ne
+ \@maketitle
+ \else
+ \twocolumn[\@maketitle]%
+ \fi
+ \else
+ \newpage
+% \end{macrocode}
+% Предотвращает размещение плавающих объектов вверху страницы.
+% \begin{macrocode}
+ \global\@topnum\z@
+ \@maketitle
+ \fi
+ \thispagestyle{plain}
+ \endgroup
+ \setcounter{footnote}{0}%
+
+ \global\let\thanks\relax
+ \global\let\maketitle\relax
+ \global\let\@maketitle\relax
+ \global\let\@author\@empty
+ \global\let\@date\@empty
+ \global\let\@title\@empty
+ \global\let\title\relax
+ \global\let\author\relax
+ \global\let\date\relax
+ \global\let\and\relax
+ }
+% \end{macrocode}
+% \DescribeMacro{\@maketitle}
+% \begin{macrocode}
+ \def\@maketitle{%
+ \newpage
+ \null
+ \vskip 2em%
+ \begin{center}%
+ \let\footnote\thanks
+ {\titlefont\@title\par}%
+ \vskip 1.5em%
+ {\large\lineskip .5em%
+ \begin{tabular}[t]{c}%
+ \@author
+ \end{tabular}\par}%
+ \vskip 1em%
+ {\large \@date}%
+ \end{center}%
+ \par\vskip 1.5em%
+ }
+\fi % \if@titlepage
+%</titlepage>
+% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/disser/toc.dtx b/Master/texmf-dist/source/latex/disser/toc.dtx
new file mode 100644
index 00000000000..bbe055dadcd
--- /dev/null
+++ b/Master/texmf-dist/source/latex/disser/toc.dtx
@@ -0,0 +1,159 @@
+% \begin{macrocode}
+
+%<*toc>
+% \end{macrocode}
+%
+% \subsection{Автоматически генерируемые списки (содержание, индекс и т.\,д.)}
+% \subsubsection{Параметры}
+%
+% Горизонтальный пробел между постоянной и переменной частями заголовков
+% \DescribeMacro{\@postskip}
+% \begin{macrocode}
+\def\@postskip{\hskip1em}
+% \end{macrocode}
+% Длина пробела между заполнителем и номером страницы.
+% \DescribeMacro{\@pnumwidth}
+% \begin{macrocode}
+\newcommand\@pnumwidth{1.55em}
+% \end{macrocode}
+% Правая граница текста.
+% \DescribeMacro{\@tocrmarg}
+% \begin{macrocode}
+\newcommand\@tocrmarg{2.55em}
+% \end{macrocode}
+% Расстояние между символами (точками) в заполнителе между названием и номером.
+% \DescribeMacro{\@dotsep}
+% \begin{macrocode}
+\newcommand\@dotsep{4.5}
+% \end{macrocode}
+% Команда для заполнения промежутка между названием и номером страницы.
+% \DescribeMacro{\tocfill}
+% \begin{macrocode}
+\def\tocfill#1{
+ \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{#1}\mkern \@dotsep mu$}
+}
+% \end{macrocode}
+% Вертикальный пробел между элементами предметного указателя.
+% \DescribeMacro{\indexspace}
+% \begin{macrocode}
+\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
+% \end{macrocode}
+% Величина отступа для элементов списка литературы.
+% \DescribeMacro{\bibindent}
+% \begin{macrocode}
+\newdimen\bibindent
+\setlength\bibindent{1.5em}
+% \end{macrocode}
+% Горизонтальный пробел между различными частями элемента библиографии.
+% \DescribeMacro{\newblock}
+% \begin{macrocode}
+\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}
+\let\@openbib@code\@empty
+
+% \end{macrocode}
+%
+% \DescribeMacro{\tableofcontents}
+% \begin{macrocode}
+\newcommand\tableofcontents{%
+% \end{macrocode}
+%
+% |\contentsname| необходимо переопределять здесь, т.к. |babel| присваивает
+% свое значение после того, как загружен класс.
+% \begin{macrocode}
+ \renewcommand\contentsname\newcontentsname
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \thispagestyle{empty}
+ \chapter*{\contentsname%
+ \@mkboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}
+ }%
+ \@starttoc{toc}%
+ \if@restonecol\twocolumn\fi
+ \clearpage
+}
+% \end{macrocode}
+%
+% \subsubsection{Список иллюстраций}
+%
+% \DescribeMacro{\listoffigures}
+% \begin{macrocode}
+\newcommand\listoffigures{%
+ \if@twocolumn\@restonecoltrue\onecolumn
+ \else\@restonecolfalse\fi
+% \end{macrocode}
+% Вместо стандартной команды |\chapter*| используется |\nchapter|, чтобы список
+% отображался в Содержании.
+%
+% \begin{macrocode}
+ \nchapter{
+ \listfigurename
+ \@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{Список таблиц}
+% \begin{macrocode}
+\newcommand\listoftables{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \nchapter{
+ \listtablename
+ \@mkboth{\MakeUppercase\listtablename}{\MakeUppercase\listtablename}
+ }%
+ \@starttoc{lot}%
+ \if@restonecol\twocolumn\fi
+}
+% \end{macrocode}
+% Формат элемента списка таблиц.
+% \begin{macrocode}
+\let\l@table\l@figure
+
+% \end{macrocode}
+%
+% \subsubsection{Библиография}
+% Данное окружение будет переопределено в пакете |natbib|.
+% \DescribeEnv{thebibliography}
+% \begin{macrocode}
+\newenvironment{thebibliography}[1]{}{}
+
+% \end{macrocode}
+%
+% \subsubsection{Предметный указатель}
+% \DescribeEnv{theindex}
+% \begin{macrocode}
+\newenvironment{theindex}{
+ \if@twocolumn\@restonecolfalse
+ \else\@restonecoltrue\fi
+ \columnseprule \z@
+ \columnsep 35\p@
+ \twocolumn[\@makeschapterhead{\indexname}]%
+ \@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}
+% \DescribeMacro{\subitem}
+% \DescribeMacro{\subsubitem}
+% \begin{macrocode}
+\newcommand\@idxitem{\par\hangindent 40\p@}
+\newcommand\subitem{\@idxitem \hspace*{20\p@}}
+\newcommand\subsubitem{\@idxitem \hspace*{30\p@}}
+%</toc>
+% \end{macrocode}