From a06badd5ddd56caafe23bc9b1c80a2cb4cd5eec7 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 2 Dec 2007 14:58:50 +0000 Subject: disser update (30nov07) git-svn-id: svn://tug.org/texlive/trunk@5676 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/source/latex/disser/Makefile | 57 ++- Master/texmf-dist/source/latex/disser/autoref.dtx | 2 + Master/texmf-dist/source/latex/disser/bachelor.dtx | 2 + .../texmf-dist/source/latex/disser/candidate.dtx | 2 + Master/texmf-dist/source/latex/disser/chapter.dtx | 147 +++--- Master/texmf-dist/source/latex/disser/counters.dtx | 15 +- Master/texmf-dist/source/latex/disser/custom.dtx | 123 ++++- Master/texmf-dist/source/latex/disser/disser.dtx | 531 ++++++++++++++------- Master/texmf-dist/source/latex/disser/doctor.dtx | 6 +- Master/texmf-dist/source/latex/disser/env.dtx | 51 +- Master/texmf-dist/source/latex/disser/floats.dtx | 128 ++++- Master/texmf-dist/source/latex/disser/footnote.dtx | 5 + Master/texmf-dist/source/latex/disser/gost732.dtx | 130 ++++- Master/texmf-dist/source/latex/disser/lists.dtx | 7 +- Master/texmf-dist/source/latex/disser/master.dtx | 2 + Master/texmf-dist/source/latex/disser/page.dtx | 89 ++-- Master/texmf-dist/source/latex/disser/part.dtx | 67 ++- Master/texmf-dist/source/latex/disser/sections.dtx | 125 ++--- .../texmf-dist/source/latex/disser/titledefs.dtx | 134 ++++-- .../texmf-dist/source/latex/disser/titlepage.dtx | 43 +- Master/texmf-dist/source/latex/disser/toc.dtx | 12 +- 21 files changed, 1189 insertions(+), 489 deletions(-) (limited to 'Master/texmf-dist/source/latex/disser') 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 +# + 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} +%\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} +%\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} +%\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}} % % \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 % % \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 % % \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. %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%\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,11 +51,9 @@ \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, @@ -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} % % \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-.zip| на upload-сервер SourceForge. +% \item[srcdist] +% Упаковка каталога |./disser| в архив |disser-.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} -%\NeedsTeXFormat{LaTeX2e} -%\ProvidesClass{disser}[2007/06/15 Document class for dissertations.] -%\ProvidesPackage{disser} - -%\ProvidesFile{bachelor.rtx} -%\ProvidesFile{master.rtx} -%\ProvidesFile{candidate.rtx} -%\ProvidesFile{doctor.rtx} -%\ProvidesFile{autoref.rtx} -%\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} +%\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} + % % \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} + % % \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} +% +% \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} -% % \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} +%\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} % % \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@
| и |\
|. +% \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} + % % \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} + +%\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{ @@ -249,16 +315,22 @@ \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} +% \DescribeMacro{\mkintrosect} +% Генератор команд для оформления общего текста из <<Введения>> +% диссертации и автореферата. +% \begin{macrocode} +\newcommand\mkintrosect[3]{% + \@namedef{#1head}{#2} + \@namedef{#1section}{\introsect{\expandafter\csname #1head\endcsname}} + \@namedef{#1text}{#3} +} % % \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 -- cgit v1.2.3