summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/disser
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-12-02 14:58:50 +0000
committerKarl Berry <karl@freefriends.org>2007-12-02 14:58:50 +0000
commita06badd5ddd56caafe23bc9b1c80a2cb4cd5eec7 (patch)
treed2f4be3792761c70377ac41c078ccd50b1c8be73 /Master/texmf-dist/source/latex/disser
parentc5ef0710987f248dea9df928126632d5820a6426 (diff)
disser update (30nov07)
git-svn-id: svn://tug.org/texlive/trunk@5676 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/disser')
-rw-r--r--Master/texmf-dist/source/latex/disser/Makefile57
-rw-r--r--Master/texmf-dist/source/latex/disser/autoref.dtx2
-rw-r--r--Master/texmf-dist/source/latex/disser/bachelor.dtx2
-rw-r--r--Master/texmf-dist/source/latex/disser/candidate.dtx2
-rw-r--r--Master/texmf-dist/source/latex/disser/chapter.dtx147
-rw-r--r--Master/texmf-dist/source/latex/disser/counters.dtx15
-rw-r--r--Master/texmf-dist/source/latex/disser/custom.dtx123
-rw-r--r--Master/texmf-dist/source/latex/disser/disser.dtx531
-rw-r--r--Master/texmf-dist/source/latex/disser/doctor.dtx6
-rw-r--r--Master/texmf-dist/source/latex/disser/env.dtx51
-rw-r--r--Master/texmf-dist/source/latex/disser/floats.dtx128
-rw-r--r--Master/texmf-dist/source/latex/disser/footnote.dtx5
-rw-r--r--Master/texmf-dist/source/latex/disser/gost732.dtx130
-rw-r--r--Master/texmf-dist/source/latex/disser/lists.dtx7
-rw-r--r--Master/texmf-dist/source/latex/disser/master.dtx2
-rw-r--r--Master/texmf-dist/source/latex/disser/page.dtx89
-rw-r--r--Master/texmf-dist/source/latex/disser/part.dtx67
-rw-r--r--Master/texmf-dist/source/latex/disser/sections.dtx125
-rw-r--r--Master/texmf-dist/source/latex/disser/titledefs.dtx134
-rw-r--r--Master/texmf-dist/source/latex/disser/titlepage.dtx43
-rw-r--r--Master/texmf-dist/source/latex/disser/toc.dtx12
21 files changed, 1189 insertions, 489 deletions
diff --git a/Master/texmf-dist/source/latex/disser/Makefile b/Master/texmf-dist/source/latex/disser/Makefile
index 222a4f34bbe..d51c64b1b35 100644
--- a/Master/texmf-dist/source/latex/disser/Makefile
+++ b/Master/texmf-dist/source/latex/disser/Makefile
@@ -1,15 +1,32 @@
+#
+# Makefile for LaTeX packages
+# Author: Stanislav Kruchinin <stanislav.kruchinin@gmail.com>
+#
+
TARGET=disser
+SUBCLASS=gost732
TEXMF=/usr/share/texmf
DESTDIR=$(TEXMF)/tex/latex/$(TARGET)
DOCDIR=$(TEXMF)/doc/latex/$(TARGET)
-LATEX=latex
+TEX=latex
+PDFTEX=pdflatex
+TEXFLAGS=
INSTFILES=*.cls *.rtx
-DOCFILES=$(TARGET).dvi
-CLEANFILES=$(INSTFILES) *.log *.out *.aux *.dvi *.idx *.glo *.toc *.bak *.bbl *.blg
+DOCFILES=*.dvi *.pdf
+CLEXT= *.log *.out *.aux *.dvi *.idx *.glo *.toc *.bak *.bbl *.blg
+CLFILES=$(INSTFILES) $(DOCFILES) $(CLEXT)
+
+all: class doc
+
+class: *.cls
+
+doc: dvi pdf
+
+dvi: $(TARGET).dvi $(SUBCLASS).dvi
-all: *.cls doc
+pdf: $(TARGET).pdf $(SUBCLASS).pdf
install: all
mkdir -p $(DESTDIR)
@@ -17,14 +34,28 @@ install: all
cp $(INSTFILES) $(DESTDIR)
cp $(DOCFILES) $(DOCDIR)
-%.cls: %.ins
- $(LATEX) $<
-
-doc: $(TARGET).dvi
+clean:
+ rm -f $(CLFILES)
-$(TARGET).dvi: $(TARGET).dtx
- $(LATEX) $<
- $(LATEX) -src-specials $<
+%.cls: %.ins
+ $(TEX) $<
+
+%.dvi: %.dtx
+ $(TEX) $(TEXFLAGS) $<
+ $(TEX) $(TEXFLAGS) $<
+
+%.pdf: %.dtx
+ $(PDFTEX) $(TEXFLAGS) $<
+ $(PDFTEX) $(TEXFLAGS) $<
+
+help:
+ @echo "Targets:"
+ @echo " all - (default) build classes and documentation"
+ @echo " class - build classes"
+ @echo " clean - remove ouptut files"
+ @echo " doc - build DVI and PDF versions of documentation"
+ @echo " dvi - build DVI version of documentation"
+ @echo " pdf - build PDF version of documentation"
+ @echo " install - install package and documentation"
+ @echo " help - show help"
-clean:
- rm -f $(CLEANFILES)
diff --git a/Master/texmf-dist/source/latex/disser/autoref.dtx b/Master/texmf-dist/source/latex/disser/autoref.dtx
index c76800ddb32..1a7c1d885fd 100644
--- a/Master/texmf-dist/source/latex/disser/autoref.dtx
+++ b/Master/texmf-dist/source/latex/disser/autoref.dtx
@@ -1,5 +1,7 @@
% \begin{macrocode}
+%<autoref>\ProvidesFile{autoref.rtx}
+
%<*autoref>
% \end{macrocode}
% \subsubsection{Титульный лист автореферата}
diff --git a/Master/texmf-dist/source/latex/disser/bachelor.dtx b/Master/texmf-dist/source/latex/disser/bachelor.dtx
index df146fda6c2..a7dfa77f7d1 100644
--- a/Master/texmf-dist/source/latex/disser/bachelor.dtx
+++ b/Master/texmf-dist/source/latex/disser/bachelor.dtx
@@ -1,5 +1,7 @@
% \begin{macrocode}
+%<bachelor>\ProvidesFile{bachelor.rtx}
+
%<*bachelor>
% \end{macrocode}
% \subsubsection{Титульный лист бакалаврской работы}
diff --git a/Master/texmf-dist/source/latex/disser/candidate.dtx b/Master/texmf-dist/source/latex/disser/candidate.dtx
index 3c9febe209f..f7f22de21f0 100644
--- a/Master/texmf-dist/source/latex/disser/candidate.dtx
+++ b/Master/texmf-dist/source/latex/disser/candidate.dtx
@@ -1,5 +1,7 @@
% \begin{macrocode}
+%<candidate>\ProvidesFile{candidate.rtx}
+
%<*candidate>
% \end{macrocode}
% \subsubsection{Титульный лист кандидатской диссертации}
diff --git a/Master/texmf-dist/source/latex/disser/chapter.dtx b/Master/texmf-dist/source/latex/disser/chapter.dtx
index 6739437674e..5688c54c112 100644
--- a/Master/texmf-dist/source/latex/disser/chapter.dtx
+++ b/Master/texmf-dist/source/latex/disser/chapter.dtx
@@ -1,3 +1,8 @@
+
+% \iffalse
+%%% From File: chapter.dtx
+% \fi
+%
% \begin{macrocode}
%<*chapter>
@@ -5,12 +10,8 @@
%
% \subsection{Глава}
%
-% Пустое определение маркера главы.
-% \begin{macrocode}
-\newcommand*\chaptermark[1]{}
-% \end{macrocode}
-% Далее идут параметры аналогичные тем, что использовались в
-% предыдущем разделе.
+% \subsubsection{Параметры формата записи в Содержании}
+%
% \begin{macrocode}
\providecommand\tocprethechapter{\protect\chaptername~}
\providecommand\tocpostthechapter{.\@postskip}
@@ -20,6 +21,9 @@
\providecommand\tocchapterfillfont{\normalfont}
\providecommand\tocchapternumfont{\normalfont}
+% \end{macrocode}
+% \subsubsection{Параметры формата в тексте}
+% \begin{macrocode}
\providecommand\thechapteralign{\centering}
\providecommand\thechapterfont{\Large}
\providecommand\prethechapter{\protect\chaptername~}
@@ -33,26 +37,12 @@
\def\chapterpagestyle#1{\gdef\@chapterpagestyle{#1}}\chapterpagestyle{plain}
% \end{macrocode}
-% Параметры формата заголовка Приложения.
+%
+% \subsubsection{Низкоуровневые команды}
+%
+% Пустое определение колонтитула главы.
% \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@}
-
+\newcommand*\chaptermark[1]{}
% \end{macrocode}
% Интерфейс.
% \begin{macrocode}
@@ -68,6 +58,11 @@
\secdef\@chapter\@schapter
}
+% \end{macrocode}
+%
+% \DescribeMacro{\@chapter}
+% Команда, формирующая нумеруемый заголовок |\chapter|.
+% \begin{macrocode}
\def\@chapter[#1]#2{
\ifnum \c@secnumdepth >\m@ne
\refstepcounter{chapter}%
@@ -89,7 +84,9 @@
\fi
}
% \end{macrocode}
-% Формат на странице.
+%
+% \DescribeMacro{\@makechapterhead}
+% Формат нумеруемого заголовка.
% \begin{macrocode}
\def\@makechapterhead#1{%
{%
@@ -108,6 +105,11 @@
}
}
+% \end{macrocode}
+%
+% \DescribeMacro{\@schapter}
+% Команда, формирующая ненумеруемый заголовок |\chapter*|.
+% \begin{macrocode}
\def\@schapter#1{
\if@twocolumn
\@topnewpage[\@makeschapterhead{#1}]%
@@ -117,6 +119,11 @@
\fi
}
+% \end{macrocode}
+%
+% \DescribeMacro{\@makeschapterhead}
+% Формат ненумеруемого заголовка.
+% \begin{macrocode}
\def\@makeschapterhead#1{%
{%
\parindent \z@ \raggedright
@@ -125,6 +132,8 @@
}
}
% \end{macrocode}
+%
+% \DescribeMacro{\l@chapter}
% Команда, создающая запись в Содержании.
% \begin{macrocode}
\newcommand*\l@chapter[2]{%
@@ -148,7 +157,37 @@
}
% \end{macrocode}
-% Команда для создания глав Приложения.
+%
+% \subsection{Приложение}
+%
+% \subsubsection{Параметры формата записи в Содержании}
+% \begin{macrocode}
+\providecommand\tocpretheappendix{\protect\appendixname~}
+\providecommand\tocposttheappendix{.\@postskip}
+\providecommand\tocappendixfill{\tocfill{.}}
+
+\providecommand\tocappendixfont{\bfseries}
+\providecommand\tocappendixfillfont{\normalfont}
+\providecommand\tocappendixnumfont{\normalfont}
+
+% \end{macrocode}
+% \subsubsection{Параметры формата в тексте}
+% \begin{macrocode}
+\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}
+%
+% \DescribeMacro{\appendix}
+% Команда для создания глав Приложения. Сохранение и восстановление
+% значений параметров делаются для случая, когда приложения идут до
+% списка литературы.
% \begin{macrocode}
\newcommand\appendix{
\setcounter{chapter}{0}
@@ -200,6 +239,10 @@
\gdef\thechapter{\theappendix}
}
+% \end{macrocode}
+% \DescribeMacro{\noappendix}
+% Восстановление исходных параметров формата заголовков глав.
+% \begin{macrocode}
\newcommand\noappendix{
\let\tocprethechapter=\oldtocprethechapter
\let\tocpostthechapter=\oldtocpostthechapter
@@ -222,55 +265,5 @@
\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}}
- }
-}
-
-% \end{macrocode}
-% \subsubsection{Определения ненумеруемых глав, входящих в Содержание}
-% \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}}
%</chapter>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/disser/counters.dtx b/Master/texmf-dist/source/latex/disser/counters.dtx
index d5a6a87bc93..259e0a2547e 100644
--- a/Master/texmf-dist/source/latex/disser/counters.dtx
+++ b/Master/texmf-dist/source/latex/disser/counters.dtx
@@ -1,3 +1,8 @@
+
+% \iffalse
+%%% From File: counters.dtx
+% \fi
+%
% \begin{macrocode}
%<*counters>
@@ -76,10 +81,10 @@
\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
+\ifDis@bachelor \bachelor@the \fi
+\ifDis@master \master@the \fi
+\ifDis@candidate\candidate@the \fi
+\ifDis@doctor \doctor@the \fi
+\ifDis@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
index 072fe00fa2d..f4c63afd9b8 100644
--- a/Master/texmf-dist/source/latex/disser/custom.dtx
+++ b/Master/texmf-dist/source/latex/disser/custom.dtx
@@ -1,8 +1,13 @@
+
+% \iffalse
+%%% From File: custom.dtx
+% \fi
+%
% \begin{macrocode}
%<*custom>
% \end{macrocode}
-% \subsection{Подключение и настройка параметров сторонних пакетов}
+% \subsection{Подключение и настройка сторонних пакетов}
% Включает отступ в первой строке первого абзаца.
% \begin{macrocode}
\let\@afterindentfalse\@afterindenttrue
@@ -14,33 +19,101 @@
\usepackage[intlimits]{amsmath}
\usepackage{amssymb,amsfonts}
% \end{macrocode}
-% Более естественные символы интегралов (из шрифтов семейства Euler).
+% Включение шрифта Times вместо Computer Modern Roman.
+% \begin{macrocode}
+\ifDis@times
+ \AtEndOfPackage{%
+ \usepackage{pscyr}
+% \end{macrocode}
+% Пакет |txfonts| необходимо подключать \textbf{после} |pscyr| для
+% корректного определения символов, составленных из двух других (таких как
+% $\hbar$ и $\neq$).
% \begin{macrocode}
-\DeclareSymbolFont{EulerExtension}{U}{euex}{m}{n}
-\DeclareMathSymbol\intop\mathop{EulerExtension}{"52}
-\DeclareMathSymbol\ointop\mathop{EulerExtension}{"48}
+ \usepackage{txfonts}
+% \end{macrocode}
+% Установка Times как шрифта по умолчанию.
+% \begin{macrocode}
+ \renewcommand{\rmdefault}{ftm}
+ }
+\fi
+% \end{macrocode}
+% Более естественные символы интегралов из шрифтов семейства Euler.
+% \begin{macrocode}
+\ifDis@fixint
+ \DeclareSymbolFont{EulerExtension}{U}{euex}{m}{n}
+ \DeclareMathSymbol\intop\mathop{EulerExtension}{"52}
+ \DeclareMathSymbol\ointop\mathop{EulerExtension}{"48}
+ \AtBeginDocument{%
+ \def\intkern@{\mkern -6mu }%
+ \def\ints@#1{\mkern -3mu
+ \mathop{\mkern 3mu
+ \intop
+ \ifnum #1=\z@ \intdots@ \else
+ \intkern@
+ \ifnum #1>\tw@ \intop\intkern@
+ \ifnum #1>\thr@@ \intop\intkern@ \fi
+ \fi
+ \fi
+ \intop
+ }\ilimits@
+ }%
+ \renewcommand{\iint}{\DOTSI\protect\MultiIntegral{2}}
+ \renewcommand{\iiint}{\DOTSI\protect\MultiIntegral{3}}
+ \renewcommand{\iiiint}{\DOTSI\protect\MultiIntegral{4}}
+ \renewcommand{\idotsint}{\DOTSI\protect\MultiIntegral{0}}
+ }{}
+\fi
% \end{macrocode}
% Пакет для оформления библиографических ссылок.
% \begin{macrocode}
\usepackage[square, comma, sort&compress]{natbib}
% \end{macrocode}
-% \DescribeMacro{\phantomchapter}
-% Команда для исправления PDF-закладок, указывающих на |\chapter*|.
+% \DescribeMacro{\metaphantom}
+% Команда для исправления PDF-закладок, указывающих на ненумеруемые разделы
+% (|\chapter*|, |\section*| и т. п.).
% \begin{macrocode}
-\def\phantomchapter{%
- \ifhref
+\def\metaphantom#1{%
+ \ifDis@href
\Hy@GlobalStepCount\Hy@linkcounter
- \xdef\@currentHref{chapter*.\the\Hy@linkcounter}%
+ \xdef\@currentHref{#1*.\the\Hy@linkcounter}%
\Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
\fi
}
% \end{macrocode}
+% Команда для создания ненумеруемых глав, которые будут включены в
+% Содержание и PDF-закладки. Для того, чтобы закладка указывала именно на
+% заголовок, а не на первый абзац под ним, нужно поместить |\metaphantom{chapter}|
+% и |\addcontentsline| внутри аргумента |\chapter*|. Честно говоря, мне это
+% не нравится. Надо придумать что-то более простое и изящное.
+% \begin{macrocode}
+\newcommand\nchapter[1]{%
+ \chapter*{%
+ \metaphantom{chapter}\addcontentsline{toc}{chapter}{#1}%
+ #1%
+ \@mkboth{\MakeUppercase{#1}}{\MakeUppercase{#1}}
+ }
+}
+\newcommand\nsection[1]{%
+ \section*{\metaphantom{section}%
+ \addcontentsline{toc}{section}{#1}#1}
+}
+\newcommand\nsubsection[1]{%
+ \subsection*{\metaphantom{subsection}%
+ \addcontentsline{toc}{subsection}{#1}#1}
+}
+\newcommand\nsubsubsection[1]{%
+ \subsection*{\metaphantom{subsubsection}%
+ \addcontentsline{toc}{subsubsection}{#1}#1}
+}
+% \end{macrocode}
% Переопределение для включения ссылки на список литературы в Содержание.
% \DescribeMacro{\bibsection}
% \begin{macrocode}
\renewcommand\bibsection{\nchapter{\bibname}}
+
% \end{macrocode}
-% Переопределение для создания корректной PDF-закладки (основано на варианте % из |natbib|).
+% Переопределение для создания корректной PDF-закладки (основано на варианте
+% из |natbib|).
% \DescribeEnv{thebibliography}
% \begin{macrocode}
\renewenvironment{thebibliography}[1]{%
@@ -59,19 +132,24 @@
\let\citeN\cite
\let\shortcite\cite
\let\citeasnoun\cite
+% \end{macrocode}
+% Убираем интервал между библиографическими ссылками для автореферата.
+% \begin{macrocode}
+ \ifDis@autoref\setlength\bibsep{0pt}\fi
}{%
\def\@noitemerr{\PackageWarning{natbib}{Empty `thebibliography' environment}}
\endlist\vskip-\lastskip%
}
% \end{macrocode}
-% Настройка параметров |hyperref|:
+%
+% Подключение и настройка параметров пакета |hyperref|:
% \begin{macrocode}
\ifpdf
% \end{macrocode}
% \begin{itemize}
% \item для pdf\LaTeX{}
% \begin{macrocode}
- \ifhref
+ \ifDis@href
\usepackage[pdftex,unicode,hyperfigures=true]{hyperref}
\hypersetup{
colorlinks = false,
@@ -84,21 +162,19 @@
\pdfcompresslevel = 9
\fi
\usepackage[pdftex]{graphicx}
- \IfFileExists{cmap.sty}{%
- \usepackage{cmap}
- }{}
+ \usepackage{cmap}
\else
% \end{macrocode}
% \item для \LaTeX{}
% \end{itemize}
% \begin{macrocode}
- \ifhref\usepackage[hypertex,colorlinks=false,hyperfigures=true]{hyperref}\fi
+ \ifDis@href\usepackage[hypertex,colorlinks=false,hyperfigures=true]{hyperref}\fi
\usepackage{graphicx}
\fi
% \end{macrocode}
% Пакет исправлений для совместного использования |hyperref| и |natbib|.
% \begin{macrocode}
-\ifhref\usepackage{hypernat}\fi
+\ifDis@href\usepackage{hypernat}\fi
% \end{macrocode}
% Плавающие рисунки ``в оборку''.
% \begin{macrocode}
@@ -106,7 +182,7 @@
% \end{macrocode}
% \paragraph{Пакет для вложенной нумерации плавающих объектов}
% \begin{macrocode}
-\ifsubf
+\ifDis@subf
\usepackage[config,font=small,labelsep=period]{caption,subfig}
% \end{macrocode}
% Формат счетчика.
@@ -115,13 +191,8 @@
% \end{macrocode}
% Формат ссылки через |\ref|.
% \begin{macrocode}
- \def\p@subfigure{\thefigure, }
+ \providecommand\thefigsubsep{,\ }
+ \def\p@subfigure{\@nameuse{thefigure}\thefigsubsep}
\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
index 085d8a80736..c5611f33188 100644
--- a/Master/texmf-dist/source/latex/disser/disser.dtx
+++ b/Master/texmf-dist/source/latex/disser/disser.dtx
@@ -1,4 +1,4 @@
-%\iffalse
+% \iffalse meta-comment
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% disser -- LaTeX document class for dissertations.
@@ -18,16 +18,19 @@
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%<driver>\ProvidesFile{disser.dtx}
%<*driver>
+\ProvidesFile{disser.drv}[2007/11/29 1.0.4 Document class for dissertations.]
+
\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{ifpdf,indentfirst,tabularx,doc}
-\usepackage[unicode,
+\ifpdf
+ \usepackage[unicode,
pdftitle = {Documented source code of the disser package},
pdfauthor = {Stanislav Kruchinin},
pdfsubject = {disser},
@@ -37,7 +40,10 @@
bookmarksnumbered = true,
bookmarksopenlevel = 2
]{hyperref}
-\usepackage{cmap}
+ \usepackage{cmap}
+\else
+ \usepackage[hypertex]{hyperref}
+\fi
\let\package\textsf
\IfFileExists{pscyr.sty}{%
@@ -45,12 +51,10 @@
\renewcommand\ttdefault{cmtt}
\renewcommand\rmdefault{ftm}
}{}
-\usepackage{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
@@ -59,12 +63,21 @@
%\OnlyDescription % uncomment to suppress code line listing
\RecordChanges % uncomment for a change history
%\CodelineIndex\EnableCrossrefs % uncomment for command index
+\GetFileInfo{disser.drv}
\MakeShortVerb{\|}
-\parindent=0pt
+
+\def\deflabel#1{\ttfamily #1\hfill}
+\def\deflist#1{\begin{list}{}{\settowidth\labelwidth{\ttfamily #1}%
+ \setlength\leftmargin\labelwidth
+ \addtolength\leftmargin\labelsep
+ \let\makelabel\deflabel}}
+\def\enddeflist{\end{list}}
+\def\envfont{\normalfont\ttfamily}
\begin{document}
\sloppy
+ \PrintChanges
\DocInput{disser.dtx}
\DocInput{counters.dtx}
\DocInput{part.dtx}
@@ -80,23 +93,21 @@
\DocInput{candidate.dtx}
\DocInput{doctor.dtx}
\DocInput{autoref.dtx}
+ \DocInput{titledefs.dtx}
\DocInput{toc.dtx}
\DocInput{custom.dtx}
- \DocInput{gost732.dtx}
- \PrintChanges
\end{document}
%</driver>
% \fi
%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% \def\fileversion{1.0.3}
-%
% \title{|disser| "--- класс \LaTeX{} для оформления диссертаций}
+% \date{Версия \fileversion\\[6pt]\filedate}
% \author{Станислав Кручинин\\[6pt]
% \normalsize E-mail:
-% \href{mailto:stas@crypt.org.ru}{\texttt{stas@crypt.org.ru}}}
-% \date{Версия \fileversion}
+% \href{mailto:stanislav.kruchinin@gmail.com}
+% {\texttt{stanislav.kruchinin@gmail.com}}}
%
% \maketitle
%
@@ -120,28 +131,229 @@
% требованиями, поэтому он разбит на несколько файлов и снабжен подробными
% комментариями.
%
-% \section{Исходный текст}
+% \section{Краткое руководство по использованию}
+%
+% \subsection{Шаблоны}
+%
+% Поскольку дипломы и диссертации имеют фиксированную структуру,
+% к классу прилагаются соответствующие шаблоны (каталог |disser/templates|),
+% которые рекомендуется использовать для создания своих документов.
+%
+% \subsection{Зависимости}
+%
+% Список пакетов необходимых для cборки документации и шаблонов с минимумом
+% опций (помимо пакетов для руссификации):
+% \texttt{amssymb},
+% \texttt{amsmath},
+% \texttt{cmap},
+% \texttt{floatflt},
+% \texttt{graphicx},
+% \texttt{ifpdf},
+% \texttt{natbib},
+% \texttt{oberdiek},
+% \texttt{tabularx}.
+%
+% Дополнительные пакеты:
+% \texttt{caption},
+% \texttt{hypernat},
+% \texttt{hyperref},
+% \texttt{pscyr},
+% \texttt{subfig}.
+%
+% Для полноценной работы рекомендуется установить всё вышеперечисленное.
+%
+% \subsection{Опции}
+%
+% \extrarowheight=3pt
+% \tabcolsep=6pt
+% \arraycolsep=0pt
+%
+% \begin{table}[!ht]
+% \begin{tabular}{p{0.3\linewidth}|p{0.55\linewidth}}
+% \hline\hline
+% \textbf{a4paper}, a5paper, b5paper &
+% Размеры листов.
+% \\\hline
+% 8pt, 9pt, 10pt, 11pt, 12pt, \textbf{14pt} &
+% Размер шрифта основного текста.
+% \\\hline
+% landscape &
+% Альбомная ориентация.
+% \\\hline
+% \textbf{oneside}, twoside &
+% Односторонняя или двухсторонняя печать.
+% \\\hline
+% draft, \textbf{final} &
+% Выводить (draft) или нет (final) пометки, фиксирующие переполнение |\hbox|
+% для данной строки.
+% \\\hline
+% \textbf{titlepage}, notitlepage &
+% Печатать титульный лист или нет.
+% \\\hline
+% openright, \textbf{openany} &
+% Главы будут всегда начинаться только с нечетных страниц (т.е. справа, если
+% смотреть на разворот) или c любых.
+% \\\hline
+% \textbf{onecolumn}, twocolumn &
+% Верстка в один или в два столбца.
+% \\\hline
+% fleqn &
+% Выключные формулы будут выравнены по левому краю, а не по центру.
+% \\\hline
+% leqno &
+% Номера будут размещены слева, а не справа от формул.
+% \\\hline
+% openbib &
+% Блоки текста в списке литературы будут печататься на новых строках и с
+% отступом.
+% \\\hline
+% subf &
+% Использовать пакет |subfig| для ведения вложенной нумерации рисунков.
+% \\\hline
+% href &
+% Использовать пакет |hyperref|.
+% \\\hline
+% times &
+% Включает использование гарнитуры Times в тексте и формулах.
+% Для использования опции необходимо установить пакеты |pscyr| и
+% |txfonts|.
+% \\\hline
+% bachelor, master, \textbf{candidate}, doctor &
+% Тип диссертации.
+% \\\hline
+% fixint = \{\textbf{true}$\,\vert\,$false\} &
+% Исправление знаков интегралов и положения пределов интегрирования
+% на более привычные.
+% \\\hline\hline
+% \end{tabular}
+% \end{table}
+%
+% \textbf{Примечание:} жирным шрифтом выделены опции, используемые
+% по умолчанию.
+%
+% \subsection{\texttt{Makefile} и \texttt{nomake.cmd}}
+%
+% Для автоматизации операций сборки, установки и обновления пакета созданы
+% две системы скриптов, имеющих одинаковый набор целей сборки:
+% |Makefile| в формате GNU Make и файлы |nomake.cmd|, написанные на языке
+% командного интерпретатора |cmd.exe| ОС Windows 2000 и выше.
+%
+% Использование в Unix-подобных окружениях: |make <цель>|.
+%
+% В Windows: |nomake <цель>|.
+%
+% Далее следуют описания целей в различных каталогах.
+%
+% \subsubsection{Каталог \texttt{disser/}}
+%
+% \begin{deflist}{marginbreak}
+% \item[all]
+% Сборка классов и шаблонов.
+% \item[class]
+% Сборка классов |disser| и |gost732|. Соответствует цели |class|
+% в каталоге |disser/src|. Цель по умолчанию.
+% \item[clean]
+% Цель |clean| в каталогах |src| и |templates|.
+% \item[doc]
+% Сборка DVI- и PDF-версий документации.
+% \item[export]
+% Экспорт файлов из Subversion-репозитория в каталог |./disser|.
+% \item[help]
+% Справка по целям сборки.
+% \item[install]
+% Копирование класса и документации в дерево каталогов \LaTeX{}.
+% Соответствует цели |install| в каталоге |disser/src|.
+% \item[sfupload]
+% Загрузка |disser-<version>.zip| на upload-сервер SourceForge.
+% \item[srcdist]
+% Упаковка каталога |./disser| в архив |disser-<version>.zip|.
+% \item[template]
+% Сборка всех шаблонов. Соответствует цели по умолчанию в
+% каталоге |disser/templates|.
+% \end{deflist}
+%
+% \subsubsection{Каталог \texttt{disser/src/}}
+%
+% \begin{deflist}{marginbreak}
+% \item[all]
+% Сборка классов и документации. Цель по умолчанию.
+% \item[class]
+% Сборка классов |disser| и |gost732|.
+% \item[clean]
+% Удаление файлов, указанных в переменной |$CLFILES|.
+% \item[doc]
+% Сборка DVI- и PDF-версий документации.
+% \item[dvi]
+% Сборка DVI-версии документации.
+% \item[help]
+% Справка по целям сборки.
+% \item[install]
+% Копирование файлов класса и документации в дерево каталогов
+% дистрибутива \LaTeX{}.
+% \item[pdf]
+% Сборка PDF-версии документации.
+% \end{deflist}
+%
+% \subsubsection{Каталоги \texttt{disser/templates} и
+% \texttt{disser/templates/<тип-диссертации>/}}
+%
+% \begin{deflist}{marginbreak}
+% \item[dvi]
+% Сборка |thesis.dvi|. Цель по умолчанию.
+% \item[clean]
+% Удаление файлов, указанных в переменной |$CLFILES|.
+% \item[epstopdf]
+% Конвертирование EPS в PDF.
+% \item[fixbb]
+% Исправление BoundingBox во всех EPS-файлах.
+% \item[help]
+% Справка по целям сборки.
+% \item[html]
+% Сборка HTML-файла.
+% \item[pdf]
+% Сборка |thesis.pdf|.
+% \item[pdf\_2on1]
+% Сборка PDF-файла <<тетрадкой>> (по 2 страницы на разворот).
+% \item[ps]
+% Сборка |thesis.ps|.
+% \item[ps\_2on1]
+% Сборка PostScript-файла <<тетрадкой>> (по 2 страницы на разворот).
+% \item[srcdist]
+% Сборка архива из содержимого текущего каталога.
+% \end{deflist}
+%
+% \textbf{Примечание:}
+% 1) |nomake.cmd| в подкаталогах шаблонов зависят от |latex.nmk.cmd| и
+% |latex.fig.nmk.cmd|. |Makefile| зависят от |latex.mk| и |latex.fig.mk|.
+% 2) |nomake.cmd| включает в себя цели каталога |fig|.
+%
+% \subsubsection{Каталог \texttt{disser/templates/<тип-диссертации>/fig/}}
+%
+% \begin{deflist}{marginbreak}
+% \item[clean]
+% Удаление PDF файлов.
+% \item[epstopdf]
+% Конвертирование EPS в PDF.
+% \item[fixbb]
+% Исправление BoundingBox во всех EPS-файлах.
+% \item[help]
+% Справка по целям сборки. Цель по умолчанию.
+% \end{deflist}
+%
+% \section{Исходный текст}\parindent=0pt
%
% \begin{macrocode}
-%<disser>\NeedsTeXFormat{LaTeX2e}
-%<disser>\ProvidesClass{disser}[2007/06/15 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>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{disser}[2007/11/29 Document class for dissertations.]
+
% \end{macrocode}
-% Расширение включаемых файлов.
+% Расширение включаемых в |disser.cls| файлов.
% \begin{macrocode}
\def\substyle@ext{.rtx}
% \end{macrocode}
-% Определение условий.
+% Определение операторов условного выполнения.
% \begin{itemize}
% \item |true|, если включена опция, оставляющая одну колонку при
% двухколонном наборе.
@@ -150,45 +362,88 @@
% \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
+\newif\if@titlepage
% \end{macrocode}
% \item |true|, если главы начинаются только с нечетных страниц.
% \begin{macrocode}
\newif\if@openright
% \end{macrocode}
-% \item |true|, если подключается |hyperref|.
+% \item подключение пакета, определяющего |\ifpdf|.
% \begin{macrocode}
-\newif\ifhref\hreffalse
+\RequirePackage{ifpdf}
+
% \end{macrocode}
-% \item |true|, если файл обрабатывается pdf\LaTeX{}.
+% \item Соответствующие типы диссертаций.
% \begin{macrocode}
-\newif\ifpdf
- \ifx\pdfoutput\undefined
- \else
- \ifx\pdfoutput\relax
- \else
- \ifcase\pdfoutput
- \else
- \pdftrue
- \fi
- \fi
- \fi
+\newif\ifDis@bachelor
+\newif\ifDis@master
+\newif\ifDis@candidate
+\newif\ifDis@doctor
+\newif\ifDis@autoref
-\newif\ifsubf\subffalse
+% \end{macrocode}
+% \item |true|, если подключается |hyperref|.
+% \begin{macrocode}
+\newif\ifDis@href
+% \end{macrocode}
+% \item Подключение и настройка пакета |subfig|.
+% \begin{macrocode}
+\newif\ifDis@subf
+% \end{macrocode}
+% \item Шрифт Times как основной.
+% \begin{macrocode}
+\newif\ifDis@times
% \end{macrocode}
% \end{itemize}
+%
+% Установка значений по уиолчанию.
+% \begin{macrocode}
+\@titlepagetrue
+\Dis@bachelorfalse
+\Dis@masterfalse
+\Dis@candidatetrue
+\Dis@doctorfalse
+\Dis@autoreffalse
+\Dis@timesfalse
+\Dis@subffalse
+\Dis@hreffalse
+
+% \end{macrocode}
+%
% \subsection{Опции класса}
%
-% Размер листов.
+% Подключение пакета |kvoptions| для обработки опций в формате
+% |ключ = значение|.
+% \begin{macrocode}
+\RequirePackage{kvoptions}[2006/08/17]
+
+% \end{macrocode}
+% Подключение пакета |hyperref| и необходимых настроек.
+% \begin{macrocode}
+\DeclareOption{href}{\Dis@hreftrue}
+
+% \end{macrocode}
+% Подключение пакета |subfig| и необходимых настроек.
+% \begin{macrocode}
+\DeclareOption{subf}{\Dis@subftrue}
+
+% \end{macrocode}
+% Настройка опций.
+% \begin{macrocode}
+\SetupKeyvalOptions{
+ family=Dis,
+ prefix=Dis@
+}
+% \end{macrocode}
+% Исправление знаков интегралов и пределов интегрирования на более
+% привычные.
+% \begin{macrocode}
+\DeclareBoolOption[true]{fixint}
+
+% \end{macrocode}
+%
+% Размеры листов.
% \begin{macrocode}
\DeclareOption{a4paper}{%
@@ -266,25 +521,13 @@
% \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$).
+% Использовать в тексте и формулах шрифт Times вместо Computer Modern
+% Roman.
% \begin{macrocode}
- \usepackage{txfonts}
-% \end{macrocode}
-% Установка Times как шрифта по умолчанию.
-% \begin{macrocode}
- \renewcommand{\rmdefault}{ftm}
- }
-}
+\DeclareOption{times}{\Dis@timestrue}
% \end{macrocode}
-% Если указана эта опция, то блоки текста в списке литературы будут печататься на новых строках и с отступом.
+% Если указана эта опция, то блоки текста в списке литературы будут
+% печататься на новых строках и с отступом.
% \begin{macrocode}
\DeclareOption{openbib}{%
\AtEndOfPackage{%
@@ -297,34 +540,46 @@
\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
+ \Dis@bachelortrue
+ \Dis@masterfalse
+ \Dis@candidatefalse
+ \Dis@doctorfalse
+ \Dis@autoreffalse
}
\DeclareOption{master}{%
- \@bachelorfalse\@mastertrue\@candidatefalse\@doctorfalse\@autoreffalse
+ \Dis@bachelorfalse
+ \Dis@mastertrue
+ \Dis@candidatefalse
+ \Dis@doctorfalse
+ \Dis@autoreffalse
}
\DeclareOption{candidate}{%
- \@bachelorfalse\@masterfalse\@candidatetrue\@doctorfalse\@autoreffalse
+ \Dis@bachelorfalse
+ \Dis@masterfalse
+ \Dis@candidatetrue
+ \Dis@doctorfalse
+ \Dis@autoreffalse
}
\DeclareOption{doctor}{%
- \@bachelorfalse\@masterfalse\@candidatefalse\@doctortrue\@autoreffalse
+ \Dis@bachelorfalse
+ \Dis@masterfalse
+ \Dis@candidatefalse
+ \Dis@doctortrue
+ \Dis@autoreffalse
}
\DeclareOption{autoref}{%
- \@bachelorfalse\@masterfalse\@candidatefalse\@doctorfalse\@autoreftrue
+ \Dis@bachelorfalse
+ \Dis@masterfalse
+ \Dis@candidatefalse
+ \Dis@doctorfalse
+ \Dis@autoreftrue
}
+
% \end{macrocode}
% Команды изменения регистра.
% \DescribeMacro{\MakeTextUppercase}
@@ -350,6 +605,8 @@
% Выполнение пользовательских опций.
% \begin{macrocode}
\ProcessOptions
+\ProcessKeyvalOptions{Dis}
+
% \end{macrocode}
% \subsection{Настройка шрифтов}
% \subsubsection{Определение размеров}
@@ -416,6 +673,8 @@
%
% \subsubsection{Старые команды изменения начертания шрифтов (без NFSS)}
%
+% Тоже не ясно, почему это вынесено в классы, а не входит в ядро.
+%
% В текстовом режиме.
% \begin{macrocode}
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
@@ -433,12 +692,12 @@
% \end{macrocode}
%
-% \subsection{Параметры текста}
+% \subsection{Параметры основного текста}
%
-% Вертикальный интервал между строками. Упоминаемый здесь и далее макрос |\p@|
-% определяет единицу длины. По умолчанию она равна английскому пункту (pt).
% \DescribeMacro{\lineskip}
% \DescribeMacro{\normallineskip}
+% Вертикальный интервал между строками. Упоминаемый здесь и далее макрос |\p@|
+% определяет единицу длины. По умолчанию она равна английскому пункту (pt).
% \begin{macrocode}
\setlength\lineskip{1\p@}
\setlength\normallineskip{1\p@}
@@ -447,92 +706,24 @@
% \DescribeMacro{\singlespacing}
% \DescribeMacro{\onehalfspacing}
% \DescribeMacro{\doublespacing}
-% Команды задания величины межстрочного интервала.
+% Характерные величины межстрочнах интервалов.
% \begin{macrocode}
-\newcommand\singlespacing {\renewcommand\baselinestretch{1}}
-\newcommand\onehalfspacing{\renewcommand\baselinestretch{1.5}}
-\newcommand\doublespacing {\renewcommand\baselinestretch{2}}
+\newcommand\singlespacing {\renewcommand\baselinestretch{1}\normalsize}
+\newcommand\onehalfspacing{\renewcommand\baselinestretch{1.5}\normalsize}
+\newcommand\doublespacing {\renewcommand\baselinestretch{2}\normalsize}
% \end{macrocode}
-% Установка межстрочного интервала по умолчанию.
+% Межстрочный интервал по умолчанию.
% \begin{macrocode}
-\onehalfspacing\normalsize
+\onehalfspacing
% \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|).
+% Максимальный уровень вложенности секций, помещаемых в Содержание
+% (по умолчанию вносятся |\part|, |\chapter| и |\section|).
% \DescribeMacro{tocdepth}
% \begin{macrocode}
\setcounter{tocdepth}{1}
@@ -542,8 +733,20 @@
% \DescribeMacro{secnumdepth}
% \begin{macrocode}
\setcounter{secnumdepth}{2}
+
+% \end{macrocode}
+%
+% Интервал между колонками текста.
+% \begin{macrocode}
+\setlength\columnsep{10\p@}
+% \end{macrocode}
+%
+% Ширина разделителя (линии) между колонками текста (по умолчанию его нет).
+% \begin{macrocode}
+\setlength\columnseprule{0\p@}
+
% \end{macrocode}
-% Описание структуры постоянных частей заголовков
+% Описание структуры постоянных частей заголовков.
% \begin{itemize}
% \item в тексте,
% \DescribeMacro{\@seccntformat}
diff --git a/Master/texmf-dist/source/latex/disser/doctor.dtx b/Master/texmf-dist/source/latex/disser/doctor.dtx
index 734f9c2c174..6e57572b313 100644
--- a/Master/texmf-dist/source/latex/disser/doctor.dtx
+++ b/Master/texmf-dist/source/latex/disser/doctor.dtx
@@ -1,9 +1,11 @@
% \begin{macrocode}
+%<doctor>\ProvidesFile{doctor.rtx}
+
%<*doctor>
% \end{macrocode}
-% \subsubsection{Титульный лист кандидатской диссертации}
-%
+% \subsubsection{Титульный лист докторской диссертации}
+%
% Вертикальные интервалы между элементами титульного листа.
% \begin{macrocode}
\def\firstskip{\vskip1.5cm}
diff --git a/Master/texmf-dist/source/latex/disser/env.dtx b/Master/texmf-dist/source/latex/disser/env.dtx
index f76639cba3f..b45652c6c70 100644
--- a/Master/texmf-dist/source/latex/disser/env.dtx
+++ b/Master/texmf-dist/source/latex/disser/env.dtx
@@ -1,10 +1,16 @@
+
+% \iffalse
+%%% From File: env.dtx
+% \fi
+%
% \begin{macrocode}
%<*env>
% \end{macrocode}
-% \subsection{Команды пользовательского интерфейса}
+% \subsection{Окружения}
%
-% \subsubsection{Примечание}
+% \DescribeEnv{description}
+% Примечание
% \begin{macrocode}
\newenvironment{description}
{\list{}{\labelwidth\z@ \itemindent-\leftmargin
@@ -12,8 +18,8 @@
{\endlist}
\newcommand*\descriptionlabel[1]{\hspace\labelsep\normalfont\bfseries #1}
% \end{macrocode}
-%
-% \subsubsection{Аннотация}
+% \DescribeEnv{abstract}
+% Аннотация
% \begin{macrocode}
\if@titlepage
\newenvironment{abstract}{
@@ -38,6 +44,7 @@
}{\if@twocolumn\else\endquotation\fi}
\fi
% \end{macrocode}
+% \DescribeEnv{quotation}
% Цитирование
% \begin{macrocode}
\newenvironment{quotation}{
@@ -50,6 +57,7 @@
\item\relax
}{\endlist}
% \end{macrocode}
+% \DescribeEnv{quote}
% Выдержка
% \begin{macrocode}
\newenvironment{quote}{
@@ -57,6 +65,7 @@
\item\relax
}{\endlist}
% \end{macrocode}
+% \DescribeEnv{titlepage}
% Титульный лист
% \begin{macrocode}
\newenvironment{titlepage}{
@@ -73,9 +82,43 @@
\if@twoside\else\setcounter{page}\@ne\fi
}
% \end{macrocode}
+%
+% \DescribeEnv{figure}
+% \DescribeEnv{figure*}
% Рисунок
% \begin{macrocode}
\newenvironment{figure}{\@float{figure}}{\end@float}
\newenvironment{figure*}{\@dblfloat{figure}}{\end@dblfloat}
+% \end{macrocode}
+%
+% \DescribeEnv{table}
+% \DescribeEnv{table*}
+% Таблица
+% \begin{macrocode}
+\newenvironment{table}{\@float{table}}{\end@float}
+\newenvironment{table*}{\@dblfloat{table}}{\end@dblfloat}
+% \end{macrocode}
+%
+% \subsection{Команды для создания окружений типа <<теорема>>}
+% Параметры формата.
+% \begin{macrocode}
+\providecommand\theoremstyle{\itshape}
+\providecommand\thetheoremstyle{\bfseries}
+\providecommand\opargtheoremstyle{\rm}
+\providecommand\preopargtheorem{(}
+\providecommand\postopargtheorem{)}
+\providecommand\postthetheorem{.}
+
+% \end{macrocode}
+% Низкоуровневые команды для создания заголовка теоремы.
+% \begin{macrocode}
+\def\@begintheorem#1#2{\trivlist
+ \item[\hskip \labelsep{\thetheoremstyle #1\ %
+ #2\unskip\postthetheorem}]\theoremstyle}
+\def\@opargbegintheorem#1#2#3{\trivlist
+ \item[\hskip \labelsep{\thetheoremstyle #1\ #2\ %
+ {\opargtheoremstyle\preopargtheorem #3\postopargtheorem}}]\theoremstyle}
+\def\@endtheorem{\endtrivlist}
+
%</env>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/disser/floats.dtx b/Master/texmf-dist/source/latex/disser/floats.dtx
index 7268a644f21..97f2e82b3fa 100644
--- a/Master/texmf-dist/source/latex/disser/floats.dtx
+++ b/Master/texmf-dist/source/latex/disser/floats.dtx
@@ -1,17 +1,95 @@
+
+% \iffalse
+%%% From File: floats.dtx
+% \fi
+%
% \begin{macrocode}
%<*floats>
% \end{macrocode}
%
% \subsection{Плавающие объекты}
+% \subsubsection{Параметры размещения плавающих объектов на странице}
+% \paragraph{Количество объектов}
+% \begin{itemize}
+% \item Максимальное количество плавающих объектов, размещаемое вверху
+% страницы (при двухколонном наборе --- вверху колонки).
+% \DescribeMacro{topnumber}
+% \begin{macrocode}
+\setcounter{topnumber}{2}
+% \end{macrocode}
+% \item Максимальное количество плавающих объектов, размещаемое внизу
+% страницы (при двухколонном наборе --- внизу колонки).
+% \DescribeMacro{bottomnumber}
+% \begin{macrocode}
+\setcounter{bottomnumber}{1}
+% \end{macrocode}
+% \item Максимальное количество плавающих объектов, размещаемое
+% на странице (при двухколонном наборе --- в колонке).
+% \DescribeMacro{totalnumber}
+% \begin{macrocode}
+\setcounter{totalnumber}{3}
+% \end{macrocode}
+% \item При наборе в две колонки: максимальное количество плавающих
+% объектов шириной во всю страницу, которое разрешается разместить вверху
+% страницы
+% \begin{macrocode}
+\setcounter{dbltopnumber}{2}
+% \end{macrocode}
+% \end{itemize}
%
-% \subsubsection{Параметры}
+% \paragraph{Величина места, занимаемого плавающими объектами}
+% \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{\textfraction}
+% \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}
+%
+% \subsubsection{Параметры формата подписей}
%
+% \DescribeMacro{\abovecaptionskip}
% Вертикальный интервал перед подписью.
% \begin{macrocode}
\newlength\abovecaptionskip
\setlength\abovecaptionskip{10\p@}
% \end{macrocode}
+% \DescribeMacro{\belowcaptionskip}
% Вертикальный интервал за подписью.
% \begin{macrocode}
\newlength\belowcaptionskip
@@ -33,7 +111,7 @@
\newcommand\captionlabelfont{\small\selectfont}
% \end{macrocode}
% \DescribeMacro{\@makecaption}
-% Формат подписи.
+% Низкоуровневая команда, создающая подпись.
% \begin{macrocode}
\long\def\@makecaption#1#2{%
\vskip\abovecaptionskip
@@ -48,14 +126,23 @@
}
% \end{macrocode}
-%
-% \subsection{Рисунок}
%
+% \subsubsection{figure}
+%
+% \DescribeMacro{\thefigure}
% Формат номера.
% \begin{macrocode}
\renewcommand\thefigure{\ifnum \c@chapter>\z@\thechapter.\fi\@arabic\c@figure}
+% \end{macrocode}
+% \DescribeMacro{\fps@figure}
+% Описатель положения плавающих объектов типа |figure|.
+% \begin{macrocode}
\def\fps@figure{tbp}
+% \end{macrocode}
+% \DescribeMacro{\ftype@figure}
+% Номер типа, ассоциированный с |figure|.
+% \begin{macrocode}
\def\ftype@figure{1}
% \end{macrocode}
% \DescribeMacro{\ext@figure}
@@ -70,62 +157,75 @@
% \end{macrocode}
%
-% \subsection{Таблица}
+% \subsubsection{table}
%
+% \DescribeMacro{\thetable}
% Формат номера.
% \begin{macrocode}
\renewcommand\thetable{\ifnum \c@chapter>\z@\thechapter.\fi\@arabic\c@table}
% \end{macrocode}
%
-% Промежуток между колонками в массиве (окружение |array|).
+% \DescribeMacro{\arraycolsep}
+% Промежуток между колонками в |array|.
% \begin{macrocode}
\setlength\arraycolsep{5\p@}
% \end{macrocode}
+% \DescribeMacro{\tabcolsep}
% Промежуток между колонками в таблице.
% \begin{macrocode}
\setlength\tabcolsep{6\p@}
% \end{macrocode}
-% Толщина линейки в массиве.
+% \DescribeMacro{\arrayrulewidth}
+% Толщина линейки в |array|.
% \begin{macrocode}
\setlength\arrayrulewidth{.4\p@}
% \end{macrocode}
+% \DescribeMacro{\doublerulesep}
% Промежуток между линиями в двойной линейке |\hrule\hrule|.
% \begin{macrocode}
\setlength\doublerulesep{2\p@}
% \end{macrocode}
+% \DescribeMacro{\tabbingsep}
% Промежуток между столбцами в окружении |tabular|.
% \begin{macrocode}
\setlength\tabbingsep{\labelsep}
% \end{macrocode}
-% Промежуток, добавляемый при наличии сноски при использовании окружения |minipage|.
+% Промежуток, добавляемый при наличии сноски при использовании окружения
+% |minipage|.
% \begin{macrocode}
\skip\@mpfootins = \skip\footins
% \end{macrocode}
+% \DescribeMacro{\fboxsep}
% Промежуток между линией и текстом в |\fbox|.
% \begin{macrocode}
\setlength\fboxsep{3\p@}
% \end{macrocode}
+% \DescribeMacro{\fboxrule}
% Толщина линии для |\fbox|.
% \begin{macrocode}
\setlength\fboxrule{.4\p@}
+
% \end{macrocode}
-% Окружения.
-% \DescribeEnv{table}
-% \DescribeEnv{table*}
+% \DescribeMacro{\fps@table}
+% Описатель положения плавающих объектов типа |table|.
% \begin{macrocode}
-\newenvironment{table}{\@float{table}}{\end@float}
-\newenvironment{table*}{\@dblfloat{table}}{\end@dblfloat}
-
\def\fps@table{tbp}
+% \end{macrocode}
+% \DescribeMacro{\ftype@table}
+% Номер типа, ассоциированный с |figure|.
+% \begin{macrocode}
\def\ftype@table{2}
% \end{macrocode}
+% \DescribeMacro{\ext@table}
% Расширение файла, содержащего сгенерированный список таблиц.
% \begin{macrocode}
\def\ext@table{lot}
% \end{macrocode}
+% \DescribeMacro{\fnum@table}
% Формат заголовка подписи (Таблица~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
index a627adf576b..86e672ec4f9 100644
--- a/Master/texmf-dist/source/latex/disser/footnote.dtx
+++ b/Master/texmf-dist/source/latex/disser/footnote.dtx
@@ -1,3 +1,8 @@
+
+% \iffalse
+%%% From File: footnote.dtx
+% \fi
+%
% \begin{macrocode}
%<*footnote>
diff --git a/Master/texmf-dist/source/latex/disser/gost732.dtx b/Master/texmf-dist/source/latex/disser/gost732.dtx
index 984af148791..5e2f55a909f 100644
--- a/Master/texmf-dist/source/latex/disser/gost732.dtx
+++ b/Master/texmf-dist/source/latex/disser/gost732.dtx
@@ -1,58 +1,153 @@
-% \begin{macrocode}
+% \iffalse meta-comment
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% gost732 -- GOST 7.32-2001 implementation.
+%%
+%% Copyright (c) 2004-2007 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.
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%<*gost732>
-% \end{macrocode}
+%<*driver>
+\ProvidesFile{gost732.drv}[2007/11/29 1.0.1 GOST 7.32-2001 implementation.]
+
+\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{ifpdf}
+
+\ifpdf
+ \usepackage[unicode,
+ pdftitle = {Documented source code of the disser package},
+ pdfauthor = {Stanislav Kruchinin},
+ pdfsubject = {disser},
+ pdfstartview = {FitH},
+ pdfborder = {0 0 0},
+ bookmarksopen = true,
+ bookmarksnumbered = true,
+ bookmarksopenlevel = 2]{hyperref}
+ \usepackage{cmap}
+\else
+ \usepackage[hypertex]{hyperref}
+\fi
+
+\let\package\textsf
+\IfFileExists{pscyr.sty}{%
+ \usepackage{pscyr}
+ \renewcommand\ttdefault{cmtt}
+ \renewcommand\rmdefault{ftm}
+}{}
+\IfFileExists{url.sty}{\RequirePackage{url}}{\newcommand\url{\texttt}}
+
+\hypersetup{
+ 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
+%\EnableCrossrefs % uncomment for command index
+
+\MakeShortVerb{\|}
+\parindent=0pt
+
+\GetFileInfo{gost732.drv}
+\begin{document}
+ \sloppy
+ \PrintChanges
+ \DocInput{gost732.dtx}
+\end{document}
+%</driver>
+% \fi
%
-% \section{Класс-обёртка для оформления документов в соответствии с ГОСТ
-% 7.32-2001}
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \title{Подкласс для оформления документов в соответствии с ГОСТ 7.32-2001}
+% \date{Версия \fileversion\\[6pt]\filedate}
+% \author{Станислав Кручинин\\[6pt]
+% \normalsize E-mail:
+% \href{mailto:stanislav.kruchinin@gmail.com}
+% {\texttt{stanislav.kruchinin@gmail.com}}}
+%
+% \maketitle
+%
+% \tableofcontents
+%
+% \section{Введение}
%
% Насколько известно автору, на данный момент отсутствуют какие-либо ГОСТы,
% регламентирующие структуру и правила оформления диссертаций. Наиболее
% подходящим среди существующих стандартов следует считать ГОСТ 7.32-2001
% <<Отчет о научно-исследовательской работе>>, реализованный в настоящем
-% классе.
+% классе. С другой стороны, количество кода, использованное для создания
+% этого подкласса является демонстрацией эффективности высокоуровневых
+% макросов класса |disser|.
+%
+% \section{Исходный текст}
%
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesClass{gost732}[2007/02/16 GOST 7.32-2001 implementation]
+\ProvidesClass{gost732}[2007/11/29 1.0.1 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\tocposttheappendix{\@postskip}
+
\renewcommand\chapteralign{\raggedright}
\renewcommand\thechapterfont{\Large\bfseries}
\renewcommand\prethechapter{\newpage}
-\renewcommand\postthechapter{~}
+\renewcommand\postthechapter{\@postskip}
\renewcommand\postchapter{\vskip 16\p@}
-\renewcommand\postthesection{~}
-\renewcommand\tocpostthesection{~}
+\renewcommand\postthesection{\@postskip}
+\renewcommand\tocpostthesection{\@postskip}
-\renewcommand\postthesubsection{~}
+\renewcommand\postthesubsection{\@postskip}
\renewcommand\tocpostthesubsection{\@postskip}
-\renewcommand\postthesubsubsection{~}
+\renewcommand\postthesubsubsection{\@postskip}
\renewcommand\tocpostthesubsubsection{\@postskip}
-\renewcommand\posttheparagraph{~}
+\renewcommand\posttheparagraph{\@postskip}
\renewcommand\tocposttheparagraph{\@postskip}
-\renewcommand\postthesubparagraph{~}
+\renewcommand\postthesubparagraph{\@postskip}
\renewcommand\tocpostthesubparagraph{\@postskip}
-\newcommand\newbibname{\cyr\CYRS\cyrp\cyri\cyrs\cyro\cyrk\ %
+\AtBeginDocument{%
+\addto\captionsrussian{%
+\def\bibname{%
+\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}
@@ -93,7 +188,6 @@
\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
index 761b654ed64..cfd22947ce5 100644
--- a/Master/texmf-dist/source/latex/disser/lists.dtx
+++ b/Master/texmf-dist/source/latex/disser/lists.dtx
@@ -1,3 +1,8 @@
+
+% \iffalse
+%%% From File: lists.dtx
+% \fi
+%
% \begin{macrocode}
%<*lists>
@@ -6,7 +11,7 @@
% \subsection{Списки}
%
% Пробелы между левым полем полем окружения и полем перечня для элементов
-% указанного уровня вложенности.
+% указанного уровня вложенности.
% \paragraph{1}
% \begin{macrocode}
\if@twocolumn
diff --git a/Master/texmf-dist/source/latex/disser/master.dtx b/Master/texmf-dist/source/latex/disser/master.dtx
index 0d6107e39b2..36ae8bcdb4e 100644
--- a/Master/texmf-dist/source/latex/disser/master.dtx
+++ b/Master/texmf-dist/source/latex/disser/master.dtx
@@ -1,5 +1,7 @@
% \begin{macrocode}
+%<master>\ProvidesFile{master.rtx}
+
%<*master>
% \end{macrocode}
% \subsubsection{Титульный лист магистерской диссертации}
diff --git a/Master/texmf-dist/source/latex/disser/page.dtx b/Master/texmf-dist/source/latex/disser/page.dtx
index c17b6edf331..33ebe7da7ff 100644
--- a/Master/texmf-dist/source/latex/disser/page.dtx
+++ b/Master/texmf-dist/source/latex/disser/page.dtx
@@ -1,11 +1,46 @@
+
+% \iffalse
+%%% From File: page.dtx
+% \fi
+%
% \begin{macrocode}
%<*page>
% \end{macrocode}
%
-% \subsection{Определение стилей страниц}
+% \subsection{Формат страниц}
+%
+% \subsubsection{Шрифт колонтитулов}
+% \DescribeMacro{\evenheadfont}
+% \DescribeMacro{\evenfootfont}
+% \DescribeMacro{\oddheadfont}
+% \DescribeMacro{\oddfootfont}
+% Верхний, на четных страницах.
+% \begin{macrocode}
+\newcommand\evenheadfont{\slshape}
+% \end{macrocode}
+% Нижний, на четных страницах.
+% \begin{macrocode}
+\newcommand\evenfootfont{}
+% \end{macrocode}
+% Верхний, на нечетных страницах.
+% \begin{macrocode}
+\newcommand\oddheadfont{\slshape}
+% \end{macrocode}
+% Нижний, на нечетных страницах.
+% \begin{macrocode}
+\newcommand\oddfootfont{}
+% \end{macrocode}
%
-% \subsubsection{headings}
+% Шрифт колонтитулов.
+% \DescribeMacro{\chaptermarkfont}
+% \DescribeMacro{\sectionmarkfont}
+% \begin{macrocode}
+\providecommand\chaptermarkfont{\slshape}
+\providecommand\sectionmarkfont{\MakeUppercase}
+% \end{macrocode}
+% \subsubsection{Определения стилей колонтитулов}
+% \paragraph{headings}
% \begin{macrocode}
\if@twoside
% \end{macrocode}
@@ -35,6 +70,7 @@
\let\@mkboth\markboth
% \end{macrocode}
% \end{itemize}
+% \DescribeMacro{\chaptermark}
% \item Формат заголовков глав в колонтитулах.
% \begin{macrocode}
\def\chaptermark##1{%
@@ -45,6 +81,7 @@
##1}}{}%
}%
% \end{macrocode}
+% \DescribeMacro{\sectionmark}
% \item Формат заголовков секций в колонтитулах.
% \begin{macrocode}
\def\sectionmark##1{%
@@ -55,7 +92,7 @@
##1}%
}%
}%
- }%
+ } % \def\ps@headings
% \end{macrocode}
% \end{itemize}
% \begin{macrocode}
@@ -102,7 +139,8 @@
% \end{itemize}
% \end{itemize}
%
-% \subsubsection{myheadings}
+% \paragraph{myheadings}
+% \DescribeMacro{\ps@myheadings}
% \begin{macrocode}
\def\ps@myheadings{%
\let\@oddfoot\@empty\let\@evenfoot\@empty
@@ -113,17 +151,8 @@
\let\sectionmark\@gobble
}
% \end{macrocode}
-% \subsection{Параметры страниц}
-%
-% Интервал между колонками текста.
-% \begin{macrocode}
-\setlength\columnsep{10\p@}
-% \end{macrocode}
-%
-% Ширина разделителя (линии) между колонками текста (по умолчанию его нет).
-% \begin{macrocode}
-\setlength\columnseprule{0\p@}
-% \end{macrocode}
+% \subsubsection{Формат по умолчанию}
+%
% Стиль оформления колонтитулов страницы.
% \begin{macrocode}
\pagestyle{plain}
@@ -143,36 +172,6 @@
% \begin{macrocode}
\if@twocolumn\twocolumn\sloppy\flushbottom
\else\onecolumn\fi
-% \end{macrocode}
-% \DescribeMacro{\evenheadfont}
-% \DescribeMacro{\evenfootfont}
-% \DescribeMacro{\oddheadfont}
-% \DescribeMacro{\oddfootfont}
-% Шрифт колонтитулов.
-% \begin{itemize}
-% \item Верхний, на четных страницах.
-% \begin{macrocode}
-\newcommand\evenheadfont{\slshape}
-% \end{macrocode}
-% \item Нижний, на четных страницах.
-% \begin{macrocode}
-\newcommand\evenfootfont{}
-% \end{macrocode}
-% \item Верхний, на нечетных страницах.
-% \begin{macrocode}
-\newcommand\oddheadfont{\slshape}
-% \end{macrocode}
-% \item Нижний, на нечетных страницах.
-% \begin{macrocode}
-\newcommand\oddfootfont{}
-% \end{macrocode}
-% \end{itemize}
-%
-% \DescribeMacro{\chaptermarkfont}
-% \DescribeMacro{\sectionmarkfont}
-% \begin{macrocode}
-\newcommand\chaptermarkfont{\slshape}
-\newcommand\sectionmarkfont{\MakeUppercase}
%</page>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/disser/part.dtx b/Master/texmf-dist/source/latex/disser/part.dtx
index da96ab70055..24d1623adec 100644
--- a/Master/texmf-dist/source/latex/disser/part.dtx
+++ b/Master/texmf-dist/source/latex/disser/part.dtx
@@ -1,37 +1,68 @@
+
+% \iffalse
+%%% From File: part.dtx
+% \fi
+%
% \begin{macrocode}
%<*part>
% \end{macrocode}
% \subsection{Часть}
%
-% \subsubsection{Формат записи в Содержании}
-% Постоянный текст до номера (по умолчанию --- слово ``Часть'').
+% Как уже говорилось во Введении, одной из основных проблем \LaTeX{} является
+% отсутствие простого способа настройки формата заголовков и соответствующих
+% им записей в Содержании. Любое изменение приходится вносить путем
+% переопределения громоздких низкоуровневых макросов. Класс |disser|
+% устраняет эту проблему путем ввода высокоуровневых макросов для всех
+% основных параметров формата заголовков и записей в автоматически формируемых
+% списках.
+%
+% \subsubsection{Параметры формата записи в Содержании}
+%
+% \DescribeMacro{\tocprethepart}
+% Постоянный текст до номера.
% \begin{macrocode}
\providecommand\tocprethepart{\partname~}
% \end{macrocode}
+% \DescribeMacro{\tocpostthepart}
% Постоянный текст после номера.
% \begin{macrocode}
\providecommand\tocpostthepart{.\@postskip}
% \end{macrocode}
-% Заполнитель между названием и номером страницы. Для части по умолчанию отсутствует.
-% Чтобы заполнить какими-либо символами |\tocpartfill| нужно присвоить значение
-% |\tocfill{символ}|. Для примера см. далее определение |\tocsectionfill|.
+% \DescribeMacro{\tocpartfill}
+% Заполнитель между названием и номером страницы. Для части по умолчанию
+% отсутствует. Чтобы заполнить какими-либо символами, |\tocpartfill| нужно
+% присвоить значение |\tocfill{символ}|. Для примера см. далее определение
+% |\tocsectionfill|.
% \begin{macrocode}
\providecommand\tocpartfill{}
% \end{macrocode}
+% \DescribeMacro{\tocpartfont}
% Шрифт заголовка в Содержании.
% \begin{macrocode}
\providecommand\tocpartfont{\bfseries}
% \end{macrocode}
+% \DescribeMacro{\tocpartfillfont}
% Шрифт заполнителя.
% \begin{macrocode}
\providecommand\tocpartfillfont{\normalfont}
% \end{macrocode}
+% \DescribeMacro{\tocpartnumfont}
% Шрифт номера.
% \begin{macrocode}
\providecommand\tocpartnumfont{\normalfont}
% \end{macrocode}
+%
+% \subsubsection{Параметры формата в тексте}
+% \DescribeMacro{\thepartalign}
+% \DescribeMacro{\thepartfont}
+% \DescribeMacro{\prethepart}
+% \DescribeMacro{\postthepart}
+% \DescribeMacro{\partalign}
+% \DescribeMacro{\partfont}
+% \DescribeMacro{\prepart}
+% \DescribeMacro{\postpart}
% Параметры номера и названия: выравнивание, шрифт, отступы, текст до и после.
% \begin{macrocode}
\providecommand\thepartalign{\centering}
@@ -45,11 +76,16 @@
\providecommand\postpart{\par}
% \end{macrocode}
+% \DescribeMacro{\partpagestyle}
% Стиль страницы, на которой расположен заголовок части.
% \begin{macrocode}
-\def\partpagestyle#1{\gdef\@partpagestyle{#1}}\partpagestyle{empty}
+\def\partpagestyle#1{\gdef\@partpagestyle{#1}}
+\partpagestyle{empty}
% \end{macrocode}
%
+% \subsubsection{Низкоуровневые команды}
+%
+% \DescribeMacro{\part}
% Интерфейс.
% \begin{macrocode}
\newcommand\part{
@@ -68,7 +104,9 @@
\null\vfil\secdef\@part\@spart
}
% \end{macrocode}
-% Установка счетчиков и добавление строки в Содержание.
+%
+% \DescribeMacro{\@part}
+% Команда, формирующая нумеруемый заголовок части |\part|.
% \begin{macrocode}
\def\@part[#1]#2{%
\ifnum \c@secnumdepth >-2\relax
@@ -87,7 +125,6 @@
\normalfont
\ifnum \c@secnumdepth >-2\relax
% \end{macrocode}
-%
% Постоянная часть заголовка и номер.
% \begin{macrocode}
{\thepartfont\partalign\@seccntformat{part}}
@@ -100,12 +137,22 @@
\@endpart%
}
+% \end{macrocode}
+%
+% \DescribeMacro{\@spart}
+% Команда, формирующая ненумеруемый заголовок части |\part*|.
+% \begin{macrocode}
\def\@spart#1{%
\partalign{\interlinepenalty \@M%
\partfont\prepart #1\postpart}%
\@endpart
}
+% \end{macrocode}
+%
+% \DescribeMacro{\@endpart}
+% Завершение страницы с заголовком части.
+% \begin{macrocode}
\def\@endpart{
\vfil\newpage
\if@twoside
@@ -115,8 +162,10 @@
\fi
\if@tempswa\twocolumn\fi
}
+
% \end{macrocode}
-% Команда, создающая запись в Содержании.
+% \DescribeMacro{\l@part}
+% Низкоуровневая команда, создающая запись в Содержании.
% \begin{macrocode}
\newcommand*\l@part[2]
{%
diff --git a/Master/texmf-dist/source/latex/disser/sections.dtx b/Master/texmf-dist/source/latex/disser/sections.dtx
index 22dd0dfe787..07fb3c32420 100644
--- a/Master/texmf-dist/source/latex/disser/sections.dtx
+++ b/Master/texmf-dist/source/latex/disser/sections.dtx
@@ -1,9 +1,16 @@
+
+% \iffalse
+%%% From File: sections.dtx
+% \fi
+%
% \begin{macrocode}
%<*sections>
% \end{macrocode}
% \subsection{Секции и параграфы}
+%
% \subsubsection{Section}
+% \paragraph{Параметры формата записи в Содержании}
% \begin{macrocode}
\providecommand\tocprethesection{}
\providecommand\tocpostthesection{.\@postskip}
@@ -13,44 +20,48 @@
\providecommand\tocsectionfillfont{}
\providecommand\tocsectionnumfont{}
% \end{macrocode}
-% Величина отступа записи в Содержании.
% \DescribeMacro{\tocsectionindent}
+% Величина отступа записи в Содержании.
% \begin{macrocode}
\providecommand\tocsectionindent{1.5em}
% \end{macrocode}
-% Пробел после номера.
% \DescribeMacro{\tocsectionnameindent}
+% Пробел после номера.
% \begin{macrocode}
\providecommand\tocsectionnameindent{2.3em}
+% \end{macrocode}
+% \paragraph{Параметры формата в тексте}
+% \begin{macrocode}
\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}
+\providecommand\beforesection{-3.5ex \@plus -1ex \@minus -.2ex}
% \end{macrocode}
-% Величина вертикального отступа после заголовка секции.
% \DescribeMacro{\postsection}
+% Величина вертикального отступа после заголовка секции.
% \begin{macrocode}
-\providecommand\postsection{2.3ex \@plus.2ex}
+\providecommand\aftersection{2.3ex \@plus.2ex}
% \end{macrocode}
-% Выравнивание заголовка.
% \DescribeMacro{\sectionalign}
+% Выравнивание заголовка.
% \begin{macrocode}
\providecommand\sectionalign{\raggedright}
% \end{macrocode}
% \subsubsection{Subsection}
+% \paragraph{Параметры формата записи в Содержании}
% \begin{macrocode}
\providecommand\tocprethesubsection{}
\providecommand\tocpostthesubsection{.\@postskip}
@@ -63,18 +74,22 @@
\providecommand\tocsubsectionindent{3.8em}
\providecommand\tocsubsectionnameindent{3.2em}
+% \end{macrocode}
+% \paragraph{Параметры формата в тексте}
+% \begin{macrocode}
\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\beforesubsection{-3.25ex\@plus -1ex \@minus -.2ex}
+\providecommand\aftersubsection{1.5ex \@plus .2ex}
\providecommand\subsectionalign{\raggedright}
% \end{macrocode}
% \subsubsection{Subsubsection}
+% \paragraph{Параметры формата записи в Содержании}
% \begin{macrocode}
\providecommand\tocprethesubsubsection{}
\providecommand\tocpostthesubsubsection{.\@postskip}
@@ -87,18 +102,22 @@
\providecommand\tocsubsubsectionindent{7.0em}
\providecommand\tocsubsubsectionnameindent{4.1em}
+% \end{macrocode}
+% \paragraph{Параметры формата в тексте}
+% \begin{macrocode}
\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\beforesubsubsection{-3.25ex\@plus -1ex \@minus -.2ex}
+\providecommand\aftersubsubsection{1.5ex \@plus .2ex}
\providecommand\subsubsectionalign{\raggedright}
% \end{macrocode}
% \subsubsection{Paragraph}
+% \paragraph{Параметры формата записи в Содержании}
% \begin{macrocode}
\providecommand\tocpretheparagraph{}
\providecommand\tocposttheparagraph{.\@postskip}
@@ -111,18 +130,22 @@
\providecommand\tocparagraphindent{10em}
\providecommand\tocparagraphnameindent{5em}
+% \end{macrocode}
+% \paragraph{Параметры формата в тексте}
+% \begin{macrocode}
\providecommand\paragraphfont{\normalfont\normalsize\bfseries}
\providecommand\pretheparagraph{}
\providecommand\posttheparagraph{.~}
\providecommand\paragraphindent{\z@}
-\providecommand\preparagraph{3.25ex \@plus1ex \@minus.2ex}
-\providecommand\postparagraph{-1em}
+\providecommand\beforeparagraph{3.25ex \@plus1ex \@minus.2ex}
+\providecommand\afterparagraph{-1em}
\providecommand\paragraphalign{\raggedright}
% \end{macrocode}
% \subsubsection{Subparagraph}
+% \paragraph{Параметры формата записи в Содержании}
% \begin{macrocode}
\providecommand\tocprethesubparagraph{}
\providecommand\tocpostthesubparagraph{.\@postskip}
@@ -135,20 +158,24 @@
\providecommand\tocsubparagraphindent{12em}
\providecommand\tocsubparagraphnameindent{6em}
+% \end{macrocode}
+% \paragraph{Параметры формата в тексте}
+% \begin{macrocode}
\providecommand\subparagraphfont{\normalfont\normalsize\bfseries}
\providecommand\prethesubparagraph{}
\providecommand\postthesubparagraph{.~}
\providecommand\subparagraphindent{\parindent}
-\providecommand\presubparagraph{3.25ex \@plus1ex \@minus .2ex}
-\providecommand\postsubparagraph{-1em}
+\providecommand\beforesubparagraph{3.25ex \@plus1ex \@minus .2ex}
+\providecommand\aftersubparagraph{-1em}
\providecommand\subparagraphalign{\raggedright}
% \end{macrocode}
-% \subsubsection{Заголовки секций}
+% \subsubsection{Низкоуровневые команды}
%
-% Обобщенная версия стандартного макроса, создающего заголовки секций.
+% \DescribeMacro{\@sect}
+% Обобщенная версия команды, создающей заголовки секций.
% \begin{macrocode}
\def\@sect#1#2#3#4#5#6[#7]#8{%
\ifnum #2>\c@secnumdepth
@@ -183,9 +210,10 @@
\fi
\@xsect{#5}
}
-
% \end{macrocode}
-% Обобщенная версия стандартного макроса, добавляющего запись в Содержание.
+%
+% \DescribeMacro{\@tocline}
+% Обобщенная версия команды, добавляющей запись в Содержание.
% \begin{macrocode}
\def\@tocline#1#2#3#4#5#6{%
\ifnum #2>\c@tocdepth \else
@@ -205,41 +233,28 @@
\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}}
-
-% \end{macrocode}
-% Команда для создания ненумеруемых секций, которые будут включены в Содержание.
-% \begin{macrocode}
-\newcommand\nsection[1]{%
- \section*{\phantomsection\addcontentsline{toc}{section}{#1}#1}
+% \end{macrocode}
+%
+% \DescribeMacro{\defsection}
+% Генератор команд типа |\l@<section>| и |\<section>|.
+% \begin{macrocode}
+\newcommand\defsection[2]{%
+ \@namedef{l@#1}{%
+ \@tocline{#1}{#2}{\csname toc#1indent\endcsname}
+ {\csname toc#1nameindent\endcsname}
+ }
+ \@namedef{#1}{%
+ \@startsection{#1}{#2}{\csname #1indent\endcsname}
+ {\csname before#1\endcsname}{\csname after#1\endcsname}
+ {\csname #1font\endcsname\csname #1align\endcsname}
+ }
}
+
+\defsection{section}{1}
+\defsection{subsection}{2}
+\defsection{subsubsection}{3}
+\defsection{paragraph}{4}
+\defsection{subparagraph}{5}
+
%</sections>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/disser/titledefs.dtx b/Master/texmf-dist/source/latex/disser/titledefs.dtx
index 77c47e52c06..903a233dffc 100644
--- a/Master/texmf-dist/source/latex/disser/titledefs.dtx
+++ b/Master/texmf-dist/source/latex/disser/titledefs.dtx
@@ -1,7 +1,11 @@
+% \begin{macrocode}
+
+%<titledefs>\ProvidesFile{titledefs.rtx}
+
%<*titledefs>
% \end{macrocode}
%
-% \subsection{Постоянные части заголовков и элементов титульного листа}
+% \subsection{Постоянные части заголовков, титульного листа и текста}
%
% Аннотация
% \begin{macrocode}
@@ -18,7 +22,6 @@
\cyrs\cyrl\cyro\cyrv\cyra}
\def\keywordssep{:}
\def\keywordslabel{\keywordsname\keywordssep}
-\def\yearname{\cyr\cyrg.}
% \end{macrocode}
% Диссертация
% \begin{macrocode}
@@ -51,7 +54,8 @@
% \end{macrocode}
% Специальность
% \begin{macrocode}
-\def\specname{\cyr\CYRS\cyrp\cyre\cyrc\cyri\cyra\cyrl\cyrsftsn\cyrn\cyro\cyrs\cyrt\cyrsftsn}
+\def\specname{%
+\cyr\CYRS\cyrp\cyre\cyrc\cyri\cyra\cyrl\cyrsftsn\cyrn\cyro\cyrs\cyrt\cyrsftsn}
\def\specsep{:}
\def\speclabel{\specname\specsep}
% \end{macrocode}
@@ -68,9 +72,10 @@
\cyrs\cyrt\cyru\cyrd\cyre\cyrn\cyrt}
\def\studentlabel{\studentname}
% \end{macrocode}
-% Руководитель (sa -- сокр. от scientific adviser)
+% Научный руководитель (sa -- сокр. от scientific adviser)
% \begin{macrocode}
-\def\saname{\cyr\CYRR\cyru\cyrk\cyro\cyrv\cyro\cyrd\cyri\cyrt\cyre\cyrl\cyrsftsn}
+\def\saname{\cyr\CYRN\cyra\cyru\cyrch\cyrn\cyrery\cyrishrt\ %
+\cyrr\cyru\cyrk\cyro\cyrv\cyro\cyrd\cyri\cyrt\cyre\cyrl\cyrsftsn}
\def\salabel{\saname}
% \end{macrocode}
% Рецензент
@@ -96,6 +101,7 @@
% \begin{macrocode}
\def\consultname{\cyr\CYRK\cyro\cyrn\cyrs\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrn\cyrt\cyrery:}
% \end{macrocode}
+%
% \subsection{Интерфейс для определения элементов титульного листа}
%
% Организация
@@ -163,27 +169,65 @@
\def\hod#1{\gdef\@hod{#1}}\hod{}
% \end{macrocode}
%
-% \paragraph{Научный руководитель}
-% \subparagraph{ФИО}
+% Номер УДК
+% \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}
+%
+% Значение |\data| по умолчанию
+% \begin{macrocode}
+\date{\number\year}
+
+% \end{macrocode}
+%
+% Сокращение года <<г.>>
+% \begin{macrocode}
+\def\yearname{\cyr\cyrg.}
+% \end{macrocode}
+%
+% \DescribeMacro{\introsect}
+% Стиль заголовков общего текста <<Введения>> и автореферата.
+% \begin{macrocode}
+\let\introsect=\paragraph
+% \end{macrocode}
+%
+% \subsubsection{Научный руководитель}
+% ФИО
% \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{ФИО}
+% \subsubsection{Рецензент}
+% ФИО
% \begin{macrocode}
\def\rev#1{\gdef\@rev{#1}}\rev{}
% \end{macrocode}
-% \paragraph{учёное звание}
+% учёное звание
% \begin{macrocode}
\def\revstatus#1{\gdef\@revstatus{#1}}\revstatus{}
% \end{macrocode}
%
-% \paragraph{Консультант}
+% \subsubsection{Консультант}
%
% Специальность
% \begin{macrocode}
@@ -191,49 +235,71 @@
% \end{macrocode}
%
% ФИО
+% \begin{macrocode}
\def\con#1{\gdef\@con{#1}}
% \end{macrocode}
%
% Учёное звание и степень
% \begin{macrocode}
\def\constatus#1{\gdef\@constatus{#1}}
+
% \end{macrocode}
%
-% Номер УДК
+% \subsubsection{Названия ненумеруемых глав, входящих в Содержание}
+% \begin{itemize}
+%
+% \item Содержание
% \begin{macrocode}
-\def\libcatnum#1{\gdef\@libcatnum{#1}}\libcatnum{}
+\AtBeginDocument{
+ \addto\captionsrussian{%
+ \def\contentsname{\cyr\CYRS\cyro\cyrd\cyre\cyrr\cyrzh\cyra\cyrn\cyri\cyre}
+ }
+}
+
% \end{macrocode}
-%
-% Академическая группа
+% \item Введение
% \begin{macrocode}
-\def\group#1{\gdef\@group{#1}}\group{}
+\newcommand\introname{{\cyr\CYRV\cyrv\cyre\cyrd\cyre\cyrn\cyri\cyre}}
+\newcommand\intro{\nchapter{\introname}}
% \end{macrocode}
-%
-% Номер магистерской программы
+% \item Заключение
% \begin{macrocode}
-\def\masterprognum#1{\gdef\@masterprognum{#1}}\masterprognum{}
+\newcommand\conclusionname{%
+{\cyr\CYRZ\cyra\cyrk\cyrl\cyryu\cyrch\cyre\cyrn\cyri\cyre}
+}
+\newcommand\conclusion{\nchapter{\conclusionname}}
% \end{macrocode}
-%
-% Название магистерской программы
+% \item Список используемых обозначений
+% \end{itemize}
% \begin{macrocode}
-\def\masterprog#1{\gdef\@masterprog{#1}}\masterprog{}
+\newcommand\defsname{%
+{\cyr\CYRS\cyrp\cyri\cyrs\cyro\cyrk\ \cyru\cyrs\cyrl\cyro\cyrv\cyrn\cyrery\cyrh %
+\cyro\cyrb\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyri\cyrishrt}
+}
+\newcommand\defs{\nchapter{\defsname}}
% \end{macrocode}
%
-% Значение даты по умолчанию
+% Обзор литературы
% \begin{macrocode}
-\date{\number\year}
+\newcommand\reviewname{\cyr\CYRO\cyrb\cyrz\cyro\cyrr\ %
+\cyrl\cyri\cyrt\cyre\cyrr\cyra\cyrt\cyru\cyrr\cyrery}
+\newcommand\review{\nchapter{\reviewname}}
% \end{macrocode}
%
-% Формат записей для научного руководителя, рецензента и консультанта.
+% \subsubsection{Низкоуровневые макросы}
+%
+% \DescribeMacro{\field}
+% Формат записей для научного руководителя, рецензента и консультанта
% \begin{macrocode}
\def\field#1{%
- \csname #1label\endcsname,\ %
+ \csname #1label\endcsname,\\%
\csname @#1status\endcsname\>
\makebox[8.5cm][l]{\hrulefill\ \csname @#1\endcsname}
}
% \end{macrocode}
%
+% \DescribeMacro{\@permitted}
% Диссертация допущена к защите
% \begin{macrocode}
\def\@permitted{
@@ -250,15 +316,21 @@
}
% \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}
+% \DescribeMacro{\mkintrosect}
+% Генератор команд для оформления общего текста из <<Введения>>
+% диссертации и автореферата.
+% \begin{macrocode}
+\newcommand\mkintrosect[3]{%
+ \@namedef{#1head}{#2}
+ \@namedef{#1section}{\introsect{\expandafter\csname #1head\endcsname}}
+ \@namedef{#1text}{#3}
+}
%</titledefs>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/disser/titlepage.dtx b/Master/texmf-dist/source/latex/disser/titlepage.dtx
index 7e719fb0f84..5b161681028 100644
--- a/Master/texmf-dist/source/latex/disser/titlepage.dtx
+++ b/Master/texmf-dist/source/latex/disser/titlepage.dtx
@@ -17,63 +17,63 @@
% \DescribeMacro{\titlefont}
% \DescribeMacro{\topiclabelfont}
% \DescribeMacro{\topicfont}
+% \DescribeMacro{\instfont}
% \begin{macrocode}
\newcommand\titlefont{\Large\bfseries}
\newcommand\topiclabelfont{\large}
\newcommand\topicfont{\large\bfseries}
\newcommand\instfont{\normalfont}
+% \end{macrocode}
+%
+% Разделитель между названием города и годом.
+% \DescribeMacro{\cdsep}
+% \begin{macrocode}
+ \newcommand\cdsep{~-- }
\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}
+ \vspace*{-2cm}
% \end{macrocode}
% \paragraph{Название организации}
% \begin{macrocode}
- \centering\instfont\@institution\par
+ \begin{center}
+ \instfont\@institution\par
% \end{macrocode}
% Для решения проблемы с |@| в именах макросов.
% \begin{macrocode}
\makeatletter
% \end{macrocode}
-% \paragraph{Включение того или иного титульного листа в зависимости от типа
+% \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
+ \ifDis@bachelor \input{bachelor\substyle@ext}\fi
+ \ifDis@master \input{master\substyle@ext}\fi
+ \ifDis@candidate\input{candidate\substyle@ext}\fi
+ \ifDis@doctor \input{doctor\substyle@ext}\fi
+ \ifDis@autoref \input{autoref\substyle@ext}\fi
\enlargethispage{2cm}
\vfill
% \end{macrocode}
% \paragraph{Город и год}
% \begin{macrocode}
- \begin{center}
- {\@city\\\@date}
+ {\@city\cdsep\@date}
\end{center}
- {\null\endtitlepage}
- \end{titlepage}
\normalsize
+ \clearpage
+ \thispagestyle{empty}
} % \newcommand\maketitle
\setcounter{footnote}{0}
- \clearpage
- \thispagestyle{empty}
- \footskip=1cm
\else %\if@titlepage
% \end{macrocode}
-% Заголовок без отдельного титульного листа. Дополнительных команд
-% форматирования на этот случай не предусмотрено, поскольку он практически не
-% используется.
+% Заголовок без отдельного титульного листа.
% \DescribeMacro{\maketitle}
% \begin{macrocode}
\newcommand\maketitle{%
@@ -116,12 +116,15 @@
}
% \end{macrocode}
% \DescribeMacro{\@maketitle}
+% Команда для форматирования заголовка документа, который не будет
+% расположен на отдельной странице.
% \begin{macrocode}
\def\@maketitle{%
\newpage
\null
\vskip 2em%
\begin{center}%
+ \let\footnotesize\small
\let\footnote\thanks
{\titlefont\@title\par}%
\vskip 1.5em%
diff --git a/Master/texmf-dist/source/latex/disser/toc.dtx b/Master/texmf-dist/source/latex/disser/toc.dtx
index a4ce657af46..57ac3902d58 100644
--- a/Master/texmf-dist/source/latex/disser/toc.dtx
+++ b/Master/texmf-dist/source/latex/disser/toc.dtx
@@ -1,3 +1,8 @@
+
+% \iffalse
+%%% From File: toc.dtx
+% \fi
+%
% \begin{macrocode}
%<*toc>
@@ -21,7 +26,8 @@
% \begin{macrocode}
\newcommand\@tocrmarg{2.55em}
% \end{macrocode}
-% Расстояние между символами (точками) в заполнителе между названием и номером.
+% Расстояние между символами (точками) в заполнителе между названием и номером
+% (в единицах mu = 1/18 em, em --- длина буквы |M| текущего шрифта).
% \DescribeMacro{\@dotsep}
% \begin{macrocode}
\newcommand\@dotsep{4.5}
@@ -57,10 +63,7 @@
\newcommand\tableofcontents{%
% \end{macrocode}
%
-% |\contentsname| необходимо переопределять здесь, т.к. |babel| присваивает
-% свое значение после того, как загружен класс.
% \begin{macrocode}
- \renewcommand\contentsname\newcontentsname
\if@twocolumn
\@restonecoltrue\onecolumn
\else
@@ -69,7 +72,6 @@
\chapter*{\contentsname%
\@mkboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}
}%
- \thispagestyle{empty}
\@starttoc{toc}%
\if@restonecol\twocolumn\fi
\clearpage