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