\RequirePackage{ifpdf}
\ifpdf % We are running pdfTeX in pdf mode
  \documentclass[pdftex]{article}
\else
  \documentclass{article}
\fi
\usepackage[a4paper, includehead, includefoot, mag=1000,
            left=3cm, right=2cm, top=1cm, bottom=2cm]{geometry}
\usepackage{doc,indentfirst,ltxtable,multicol,color}
\definecolor{darkblue}{rgb}{0,0,.5}
\ifpdf
  \usepackage[%
    pdftex,
    colorlinks,
    plainpages=false,
    pdftitle     = {User manual for disser},
    pdfauthor    = {Stanislav Kruchinin},
    pdfsubject   = {disser},
    pdfstartview = {FitH},
    pdfborder    = {0 0 0},
    bookmarksopen,
    bookmarksnumbered,
    bookmarksopenlevel = 2,
    pdfusetitle,
    unicode]{hyperref}
  \usepackage{cmap}
\else
  \usepackage[hypertex]{hyperref}
\fi

\hypersetup{
  colorlinks = true,     linkcolor = black,
  citecolor  = darkblue, filecolor = darkblue,
  menucolor  = darkblue, urlcolor  = darkblue
}

\ifpdf\usepackage{hypdestopt}\fi

\IfFileExists{pscyr.sty}{%
  \usepackage{pscyr}
  \renewcommand\ttdefault{cmtt}
  \renewcommand\rmdefault{ftm}
}{}
\IfFileExists{url.sty}{\usepackage{url}}{\newcommand\url{\texttt}}
\usepackage[T2A]{fontenc}
\usepackage[cp1251]{inputenc}
\usepackage[english,russian]{babel}

\MakeShortVerb{\|}

\def\deflabel#1{\ttfamily #1\hfill}
\newenvironment{deflist}[1]{%
  \begin{list}{}{%
  \settowidth\labelwidth{\ttfamily #1}%
  \setlength\leftmargin\labelwidth
  \addtolength\leftmargin\labelsep
  \let\makelabel\deflabel}
}{\end{list}}

\def\fileversion{1.1.1}
\def\filedate{2009/04/08}

\begin{document}
\sloppy
\title{Пакет для оформления диссертаций |disser|:\\руководство пользователя}
\date{Версия \fileversion\\[6pt]\filedate}
\author{Станислав Кручинин\\[6pt]
\normalsize E-mail:
\href{mailto:stanislav.kruchinin@gmail.com}
{\texttt{stanislav.kruchinin@gmail.com}}}

\maketitle

\begin{abstract}\noindent
Данный документ содержит руководство по использованию класса.
Инструкции по установке и обновлению смотрите в файлах |README| и |README.ru|.
Описание исходных текстов содержится в файлах |disser.pdf|, |disser-bst.pdf| и |gost732.pdf|.
\end{abstract}

\tableofcontents

\section{Введение}

Пакет |disser| был создан в результате объединения множества дополнений и исправлений для класса |extreport|, написанных автором при оформлении бакалаврской и магистерской работ, а также кандидатской диссертации.
Основной целью этих исправлений являлось устранение одного из главных  недостатков стандартных классов "--- отсутствия возможности прямого редактирования формата элементов титульного листа, заголовков и записей в автоматически генерируемых списках (содержание, список иллюстраций, список таблиц).
Для достижения этой цели была переопределена значительная часть команд, входящих в ядро \LaTeX{}, и введен ряд параметров, которые описаны в комментариях к исходным текстам.

В состав пакета входят классы |disser.cls| и |gost732.cls|, стиль оформления библиографии |disser.bst| и скрипты для их сборки из исходных текстов (|Makefile|/|nomake.cmd|).
Поскольку дипломы и диссертации имеют фиксированную структуру, в пакет включены соответствующие шаблоны (каталог |disser/templates|), которые рекомендуется использовать для создания своих документов.

\section{Общие замечания}

Класс |disser|, как и любой класс документов \LaTeXe{}, подключается в преамбуле документа с помощью команды следующего вида
\begin{verbatim}
\documentclass{disser}
\end{verbatim}

Зависимости от пакетов: |amsfonts|, |amsmath|, |amssymb|, |caption|, |cmap|, |graphicx|, |ifpdf|, |natbib|.

Дополнительные пакеты: |hyperref|, |hypcap|, |hypernat|, |pscyr| или |cyrtimes|, |txfonts| или |mtpro|, |subfig|.

\section{Опции класса}

\textbf{Примечание:} полужирным начертанием выделены опции, используемые по умолчанию.
\extrarowheight=3pt
\tabcolsep=6pt
\arraycolsep=0pt
\begin{longtable}{l|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
  noams &
  Не подключать пакеты |amsmath|, |amssymb| и |amsfonts|.
\\\hline
  subf &
  Использовать пакет |subfig| для ведения вложенной нумерации рисунков.
\\\hline
  href &
  Использовать пакет |hyperref|.
\\\hline
  times &
  Включает использование гарнитуры Times в тексте и формулах.
  Для использования опции необходимо установить пакеты |pscyr| (или |cyrtimes|) и
  |txfonts| (или |mtpro|).
\\\hline
  bachelor, master, \textbf{candidate}, doctor &
  Тип диссертации.
\\\hline
  fixint = \{\textbf{true}$\,\vert\,$false\} &
  Замена стандартных знаков интегралов на прямые (из математического шрифта
  |euler|).
\\\hline
  libcat &
  Включает вывод номера УДК на титульном листе.
\\\hline
  facsimile &
  Включает отображение подписей диссертанта и ученого секретаря на
  титульных листах автореферата и диссертации (только для кандидатских и докторских).
  По умолчанию включена только в шаблоне автореферата.
\\\hline
  mtpro &
  Поддержка шрифтов MathTime Pro. При наличии опции |times| вместо
  пакета |txfonts| подключается пакет |mtpro|.
\\\hline\hline
\end{longtable}

\section{Стили колонтитулов}

Поскольку в российских диссертациях обычно не используются колонтитулы, содержащие название текущей главы документа, то стили, реализованные в данном классе, влияют лишь на положение номера страницы.
Стиль колонтитулов обычных страниц документа задается в преамбуле командой |\pagestyle{<style>}|, а стиль страниц, с которых начинается новая глава "--- командой |\chapterpagestyle{<style>}|.
Здесь |<style>| может принимать следующие значения:
\begin{deflist}{headcenter}
\item[footleft] Номер внизу и слева.
\item[footcenter] Номер внизу и по середине.
\item[footright] Номер внизу и справа.
\item[headleft] Номер вверху и слева.
\item[headcenter] Номер вверху и по середине.
\item[headright] Номер вверху и справа.
\item[plain] Совпадает с |footcenter|.
\end{deflist}

Для односторонних документов шрифт надписей в верхнем и нижнем колонтитулах можно задать путем переопределения команд |\headfont| и |\footfont|.
В двухсторонних документах следует использовать команды |\evenheadfont|, |\evenfootfont|, |\oddheadfont|, |\oddfootfont| для четных и нечетных страниц, соответственно.

\textbf{Пример:} номера всех страниц одностороннего документа печатаются в верхнем колонтитуле по центру, шрифтом размера |\small|.
\begin{verbatim}
\def\headfont{\small}
\pagestyle{headcenter}
\chapterpagestyle{headcenter}\end{verbatim}

\section{Система сборки (\texttt{Makefile} и \texttt{nomake.cmd})}

Для автоматизации сборки и установки пакета были созданы две системы скриптов, имеющих одинаковый набор целей: |Makefile| в формате GNU Make и файлы |nomake.cmd|, написанные на языке командного интерпретатора |cmd.exe| ОС Windows 2000 и выше.
Использование в Unix-подобных окружениях: |make <цель>|.
В Windows: |nomake <цель>|.

Далее следуют описания целей в зависимости от каталога, в котором производится сборка.

\subsection{Каталог \texttt{disser/}}

\begin{deflist}{123456789}
\item[all]
  Сборка классов и шаблонов.
\item[class]
  Сборка классов |disser| и |gost732|.
  Соответствует цели |class| в каталоге |disser/src|.
  Цель по умолчанию.
\item[clean]
  Цель |clean| в каталогах |src| и |templates|.
\item[doc]
  Сборка DVI- и PDF-версий документации.
\item[help]
  Справка по целям сборки.
\item[install]
  Копирование класса и документации в дерево каталогов \LaTeX{}.
  Соответствует цели |install| в каталоге |disser/src|.
\item[template]
  Сборка всех шаблонов.
  Соответствует цели по умолчанию в каталоге |disser/templates|.
\item[update]
  Скачивание репозитория Mercurial в каталог |./disser|.
\end{deflist}

\subsection{Каталог \texttt{disser/src/}}

\begin{deflist}{123456789}
\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}

\subsection{Каталоги \texttt{disser/templates} и
  \texttt{disser/templates/<тип-диссертации>/}}

\begin{deflist}{123456789}
\item[dvi]
  Сборка |thesis.dvi|.
  Цель по умолчанию.
\item[clean]
  Удаление файлов, указанных в переменной |CLFILES|.
\item[epstoeps]
  Оптимизация EPS с помощью Ghostscript.
\item[epstopdf]
  Конвертирование EPS в PDF.
\item[fixbb]
  Исправление BoundingBox во всех EPS-файлах.
\item[help]
  Справка по целям сборки.
\item[html]
  Сборка HTML-файла.
\item[pdf]
  Сборка |thesis.pdf|.
\item[pdf\_2on1]
  Сборка PDF-файла по 2 страницы на один разворот A4.
\item[pdf\_book]
  Сборка PDF-файла для брошюрования.
\item[ps]
  Сборка |thesis.ps|.
\item[ps\_2on1]
  Сборка PostScript-файла по 2 страницы на один разворот A4.
\item[ps\_book]
  Сборка PostScript-файла для брошюрования.
\item[srcdist]
  Сборка архива из содержимого текущего каталога.
\end{deflist}

\begin{flushleft}
\textbf{Примечания:}

1) Файлы |nomake.cmd| в подкаталогах шаблонов зависят от |include/latex.nmk.cmd| и |include/latex.fig.nmk.cmd|.
Файлы |Makefile| зависят от |include/latex.mk| и |include/latex.fig.mk|.

2) |Makefile/nomake.cmd| в подкаталогах шаблонов включают цели каталога |fig|.
\end{flushleft}

\subsection{Каталог \texttt{disser/templates/<тип-диссертации>/fig/}}

\begin{deflist}{123456789}
\item[clean]
  Удаление PDF файлов.
\item[epstoeps]
  Оптимизация EPS с помощью Ghostscript.
\item[epstopdf]
  Конвертирование EPS в PDF.
\item[fixbb]
  Исправление BoundingBox во всех EPS-файлах.
\item[help]
  Справка по целям сборки. Цель по умолчанию.
\end{deflist}

\section{Стиль библиографических ссылок \texttt{disser.bst}}

В состав пакета начиная с версии 1.1.0 включен стиль для оформления библиографических ссылок |disser.bst|.
Данный стиль представляет собой доработанную версию |gost71u.bst| из пакета |gost|, написанного Максимом Поляковым.
Создание |disser.bst| обусловлено следующими причинами: пакет |gost| более не поддерживается автором, оформление библиографии в соответствии с его стилями противоречит здравому смыслу и требованиям, предъявляемым диссертационными советами к библиографическим ссылкам.

Основные отличия |disser.bst| от |gost71u.bst|:

\begin{enumerate}
\item Инициалы авторов всегда печатаются перед фамилией.
\item Имена авторов, независимо от их количества, всегда печатаются перед названием источника.
\item Отсутствует поддержка украинского языка.
\item Настраиваемый префикс номера библиографической ссылки (макрос |\BibPrefix|).
\end{enumerate}

Руководство по использованию стиля и описание его исходного кода находится в файле \href{file:disser-bst.pdf}{disser-bst.dtx}.

\section{Авторефераты кандидатских и докторских диссертаций}

\subsection{Общий текст}

В соответствии с неформальными требованиями, раздел <<Общая характеристика работы>> автореферата и глава <<Введение>> диссертации должны совпадать.
Общие разделы создаются с помощью команды |\mkcommonsect| в файле |common.tex|, который подключается из |autoref.tex| и |thesis.tex|.

Пример:
\begin{verbatim}
\mkcommonsect{novelty}{Научная новизна}{%
Текст раздела
}
\end{verbatim}
Здесь первый аргумент "--- корень имени создаваемых макросов (|\noveltysection| и |\noveltytext|), второй аргумент "--- заголовок раздела (значение |\noveltysection|), третий "--- текст раздела (значение |\noveltytext|).

\subsection{Список работ диссертанта}

В автореферате список работ диссертанта должен быть отделен от списка цитируемой литературы, а ссылки на них должны отличаться друг от друга.
Для этого в стиле |disser.bst| введен макрос |\BibPrefix|, в котором содержится настраиваемый префикс номеров ссылок.
Для размещения двух списков литературы с независимой нумерацией пакет |multibib|.

Описание библиографических ссылок на работы диссертанта должно находиться в файле |thesis.bib| вместе с остальными ссылками.

Полная ручная сборка автореферата с двумя библиографиями выполняется следующей последовательностью команд.
\begin{verbatim}
latex autoref
bibtex8 -H -c cp1251 autoref
bibtex8 -H -c cp1251 my
latex autoref
latex autoref\end{verbatim}
Данные операции выполняются автоматически при сборке с помощью скриптов |Makefile| и |nomake.cmd|.
Сборка автореферата в Windows:
\begin{verbatim}
set target=autoref
nomake\end{verbatim}
В Unix-like окружениях:
\begin{verbatim}
env TARGET=autoref make\end{verbatim}

\subsection{Подписи диссертанта и ученого секретаря}

Согласно требованиям ВАК, автореферат должен быть подписан диссертантом и ученым секретарем.
Поскольку экземпляров автореферата достаточно много, эту задачу необходимо автоматизировать.
Начиная с версии 1.1.0 в классе появилась опция |facsimile|, позволяющая включать графические файлы с подписью (факсимиле) на титульном листе и внутренней стороне обложки.
Эта опция по умолчанию включена только в шаблонах авторефератов.
Факсимиле диссертанта находится в файле |./fig/facsimile.<type>|, факсимиле ученого секретаря диссертационного совета "--- в файле |./fig/sec-facsimile.<type>|.
Здесь |<type>| "--- один из типов графических файлов, поддерживаемых в \LaTeX{} (eps) или в pdf\LaTeX{} (pdf, tiff, png).
Команда |\facsimile|, включающая файл с подписью диссертанта в документ, определена в файле |titledefs.dtx|.
Команда, включающая файл с подписью ученого секретаря, находится в файле |autoref.tex|.
\end{document} 