% \iffalse meta-comment
%
% vakthesis.dtx
% Copyright 2003--2008 Олександр М. Барановський (Oleksandr M. Baranovskyi)
%
% This work 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 2005/12/01 or later.
%
% This work has the LPPL maintenance status `author-maintained'.
%
% This work consists of the files listed in the README file.
%
% \fi
%
% \iffalse
%<*driver>
\ProvidesFile{vakthesis.dtx}
%</driver>
%<vakthesis|vakaref>\NeedsTeXFormat{LaTeX2e}[1995/12/01]
%<vakthesis>\ProvidesClass{vakthesis}
%<vakaref>\ProvidesClass{vakaref}
%<*driver|vakthesis|vakaref>
  [2008/01/08 v0.07
%</driver|vakthesis|vakaref>
%<vakthesis>   VAKU thesis document class (OMB)]
%<vakaref>   VAKU author's abstract document class (OMB)]
%<*driver>
   vakthesis bundle (OMB)]
%\def\docdate{2008/01/08}
\documentclass{ltxdoc}
%\EnableCrossrefs
%\RecordChanges
\OnlyDescription
\usepackage[T2A]{fontenc}
\usepackage[cp1251]{inputenc}
\usepackage[ukrainian]{babel}
\usepackage{url}
%\usepackage{backref}
\newcommand{\cls}[1]{\textsf{#1}}
\newcommand{\pkg}[1]{\textsf{#1}}
\newcommand{\vakthesis}{\cls{vakthesis}}
\newcommand{\vakaref}{\cls{vakaref}}
\newenvironment{example}%
  {\begin{flushleft}\ttfamily}
  {\end{flushleft}}
\begin{document}
  \DocInput{vakthesis.dtx}
%  \IndexInput{vakthesis.dtx}
\end{document}
%</driver>
% \fi
%
% \CheckSum{5165}
%
% \CharacterTable
%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%   Digits        \0\1\2\3\4\5\6\7\8\9
%   Exclamation   \!     Double quote  \"     Hash (number) \#
%   Dollar        \$     Percent       \%     Ampersand     \&
%   Acute accent  \'     Left paren    \(     Right paren   \)
%   Asterisk      \*     Plus          \+     Comma         \,
%   Minus         \-     Point         \.     Solidus       \/
%   Colon         \:     Semicolon     \;     Less than     \<
%   Equals        \=     Greater than  \>     Question mark \?
%   Commercial at \@     Left bracket  \[     Backslash     \\
%   Right bracket \]     Circumflex    \^     Underscore    \_
%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%   Right brace   \}     Tilde         \~}
%
% \GetFileInfo{vakthesis.dtx}
%
% \title{Класи документа \vakthesis\ та \vakaref:
% оформлення дисертації та автореферату за~рекомендаціями ВАК України^^A
% \thanks{Цей документ описує файл \texttt{\filename} версії~\fileversion, виправлений~\filedate.}}
% \author{Олександр Барановський\\
% ^^A\small Інститут математики НАН України,\\
% ^^A\small Національний педагогічний університет ім. М.~П.~Драгоманова\\
% \texttt{ombaranovskyi at gmail dot com}}
% \date{}
%
% \maketitle
%
% \begin{abstract}
% Цей документ описує класи документів \LaTeX{} \vakthesis{} та
% \vakaref{}, які призначені для оформлення тексту дисертації та
% автореферату за рекомендаціями ВАК України. Описано нові та
% змінені команди для генерування титульної сторінки, структурування
% дисертації, оформлення списку літератури та~ін.
% \end{abstract}
%
% ^^A\tableofcontents
%
%
% \section{Вступ}
%
% Підготовка тексту дисертації на здобуття наукового ступеня
% потребує значних зусиль: дисертація є великим документом, що
% містить певну кількість математичних формул, ілюстрацій, таблиць,
% посилань на структурні частини дисертації, формули та джерела у
% списку літератури. Автор дисертації повинен постійно редагувати
% свій геніальний текст, дуже часто це потрібно робити терміново.
% Але при цьому текст повинен зберігати структуру, посилання мають
% залишатися коректними і~т.~д. Допомогти в цьому може \LaTeX.
% Система \LaTeX, що ґрунтується на системі комп'ютерної верстки
% \TeX, є однією з найпотужніших і найефективніших сучасних систем
% підготовки документів.
%
% Класи документа \LaTeX{} \vakthesis{} та \vakaref{} призначені для
% оформлення тексту дисертації та автореферату відповідно згідно з
% рекомендаціями ВАК України~\cite{guide}. Як і будь-який клас
% документа, вони мають допомогти автору дисертації відволіктися від
% подробиць оформлення і зосередитися на написанні власне тексту.
%
% Перш ніж почати працювати з класами \vakthesis{} та \vakaref{},
% користувачі мають отримати кілька попереджень. По-перше,
% рекомендації ВАК щодо оформлення дисертації трохи відрізняються
% від рекомендацій державного стандарту України ДСТУ~3008-95
% <<Документація. Звіти у сфері науки і техніки. Структура і правила
% оформлення>> (наприклад, у оформленні заголовків пунктів і
% підпунктів, оформленні підписів до ілюстрацій і таблиць тощо),
% незважаючи на те, що мали б наслідувати останній~\cite[с.~14,
% п.~1.1]{guide}. Класи \vakthesis{} та \vakaref{} дотримуються
% рекомендацій ВАК та ігнорують ДСТУ~3008-95 у випадку розбіжностей.
%
% По-друге, нагадаю, що ВАК України вимагає після захисту подавати
% електронний варіант автореферату у форматі RTF. Тому можливі два
% варіанти:
% \begin{enumerate}
% \item Для друкарні підготувати автореферат в \LaTeX,
% використовуючи пакет \vakaref. А потім для ВАК конвертувати його
% за допомогою однієї з доступних програм
% конвертування\footnote{Наприклад, \LaTeX2RTF "--- це конвертер з
% \LaTeX\ в RTF, який розповсюджується на умовах GNU General Public
% License. Доступний за адресою \url{CTAN:support/latex2rtf} (див.
% також веб-сторінку проекту
% \url{http://latex2rtf.sourceforge.net}).}.
% ^^AFIXME: дати ще посилання на сторінку-огляд конвертерів
%
% \item Відразу готувати автореферат у форматі RTF, використовуючи
% MS Word: і для друку, і для ВАК. Тоді використовувати пакет
% \vakaref{} взагалі немає потреби.
% \end{enumerate}
%
% І автореферат, і дисертацію в електронному вигляді потрібно
% подавати до УкрІНТЕІ, але їх цілком задовольняє файл у форматі PDF
% (принаймні, задовольняв раніше, коли я віддавав свою дисертацію).
%
% По-третє, я жодним чином не пов'язаний з ВАК України, тому не можу
% гарантувати, що класи \vakthesis\ та \vakaref\ дозволяють оформити
% дисертацію та автореферат саме так, як потрібно для ВАК. Жодні
% претензії ВАК не можуть бути переадресовані мені. Це означає,
% зокрема, що цей документ не може замінити рекомендації
% ВАК~\cite{guide}, які варто уважно прочитати. Але зауважу, що я
% використовував ці класи для своєї дисертації та автореферату, і
% від ВАК зауважень до їх оформлення не надходило.
%
% Крім того, цей документ може лише навчити, як працювати з класами
% \vakthesis\ та \vakaref, але не може навчити основ роботи з
% \LaTeX. Якщо маєте таку потребу, читайте,
% наприклад,~\cite{lshort}.
%
% У певному розумінні, я здійснюю підтримку запропонованого
% програмного забезпечення, тобто повідомлення про помилки і
% пропозиції щодо вдосконалення прийматиму із задоволенням, а також
% намагатимуся їх враховувати у нових версіях.
%
%
% \section{Необхідні класи і пакети}
%
% Для використання розміру шрифта 14pt потрібен набір класів і опцій
% \cls{extsizes} (точніше, класи \vakthesis\ та \vakaref\
% використовують файл |size14.clo| з нього). Цей набір доступний за
% адресою \url{CTAN:macros/latex/contrib/extsizes}. Достатньо, щоб
% він був встановлений у системі. Класи \vakthesis\ та \vakaref\
% знайдуть необхідні файли, користувач не зобов'язаний явно
% використовувати цей набір.
%
%
% \section{Приклади}
%
% У комплекті з класами є файли-приклади дисертації, розділу
% дисертації, автореферату тощо (файли |xampl-*.*|). Вони містять
% необхідні команди та деякі коментарі. Для користувачів, що не
% мають часу читати документацію (чи не мають такої звички), цих
% файлів достатньо, я сподіваюся, щоб почати роботу з класами
% негайно.
%
%
% \section{Інтерфейс користувача}
%
% Класи \vakthesis\ та \vakaref\ ґрунтуються на стандартному класі
% документа \cls{report}. Тому робота користувача з ними не
% відрізняється істотно від роботи зі стандартними класами
% документів. Нові опції та команди, а також зміни інтерфейсу (у
% порівнянні зі стандартним класом \cls{report}) описані далі.
%
% \subsection{Опції класів \vakthesis\ та \vakaref}
%
% Опції |a4paper|, |a5paper|, |b5paper|, |letterpaper|,
% |legalpaper|, |executivepaper|, що визначають формат паперу,
% успадковані від класу документа \cls{report}. Також успадковані
% опції |10pt|, |11pt|, |12pt|, що визначають розмір шрифта, та
% опції |oneside|, |twoside|, що визначають відповідно односторонній
% та двосторонній друк. Нові та змінені опції перераховані нижче.
%
% \begin{description}
% \item[14pt] Основний розмір шрифта 14pt.
%
% \item[draft, final] Крім жирних лінійок на полях, опція |draft|
% також пише відповідний текст у нижніх колонтитулах.
%
% \item[titlepage, notitlepage] Показувати/не показувати титульну
% сторінку. Але нумерація сторінок зберігається.
%
% \item[1space, 1.5space] (лише \vakthesis) Міжрядковий інтервал:
% <<один інтервал>> та <<півтора інтервали>>. Друга опція встановлює
% міжрядковий інтервал так, щоб було схоже на Microsoft Word:
% \begin{verbatim}
% \renewcommand\baselinestretch{1.434}
%\end{verbatim}^^A No blank at line start
% ^^AДив. подробиці у розділі <<Реалізація>>.
%
% Клас документа \vakaref{} не має таких опцій, оскільки не
% передбачається друкування автореферату у <<півтора інтервали>>.
%
% \item[c, d] Режим кандидатської/докторської дисертації.
% \end{description}
%
% За замовчуванням клас \vakthesis{} вибирає опції |a4paper|,
% |14pt|, |1.5space|, |oneside|, |final|, |c|, а клас \vakaref{}
% "--- опції |a5paper|, |10pt|, |twoside|, |final|, |c|.
%
% \subsection{Параметри сторінки}
%
% Користувач може самостійно встановити необхідні розміри берегів,
% оскільки рекомендації ВАК залишають свободу в цьому
% питанні~\cite[с.~19]{guide}. Пакет \pkg{geometry} може бути
% корисним для цього. Наприклад, якщо написати у преамбулі
% дисертації
% \begin{verbatim}
% \usepackage{geometry}
% \geometry{hmargin={30mm,15mm},vmargin={26mm,26mm}}
%\end{verbatim}
% отримаємо в дисертації береги справа "--- 30~мм, зліва "--- 15~мм,
% вгорі та знизу "--- 26~мм і (якщо вибрана опція |1.5space|)
% 29~рядків на сторінці. Розміри берегів трохи більші мінімальних
% рекомендованих ВАК, щоб дисертацію можна було зшити і обрізати.
%
% Якщо написати у преамбулі автореферату
% \begin{verbatim}
% \usepackage{geometry}
% \geometry{total={11cm,17cm},includehead}
%\end{verbatim}
%^^AFIXME: чому тут nofoot? чи впливає це на кількість рядків? якщо ні, то проблеми немає.
% отримаємо параметри сторінки, які задовольняють вимоги друкарні
% Інституту математики НАН України (розміри $11\times17$~см,
% включаючи верхній колонтитул).
%
% \subsection{Титульна сторінка}
%
% \subsubsection{Титульна сторінка дисертації}
%
% \DescribeMacro{\title}
% \DescribeMacro{\author}
% \DescribeMacro{\maketitle}
% Клас \vakthesis\ оформлює титульну сторінку дисертації відповідно
% до форми~5, див.~\cite[с.~33]{guide}. Команди |\title|, |\author|
% та |\maketitle| використовуються, як у стандартних класах
% документів \LaTeX. Аргумент команди |\author| повинен бути
% пропусками розбитий на прізвище, ім'я та по батькові:
% \begin{example}
% \cmd\author\{\meta{Прізвище}\meta{space}\meta{Ім'я}\meta{space}\meta{По батькові}\}
% \end{example}
% ^^AFIXME: Чи про ці команди варто говорити? Вони ж використовуються стандартні.
%
% \DescribeMacro{\supervisor}
% Команда |\supervisor| отримує два обов'язкові аргументи:
% \begin{itemize}
% \item повне ім'я (прізвище, ім'я, по батькові) наукового
% керівника,
%
% \item його науковий ступінь і вчене звання (розділені комою).
% \end{itemize}
% Зауважте, що п.~3.1 рекомендує вказувати на титульній сторінці
% спочатку науковий ступінь і вчене звання, а потім "--- прізвище,
% ім'я, по батькові наукового керівника~\cite[с.~15]{guide}, але
% форма~5 пропонує обернений порядок~\cite[с.~33]{guide}. Клас
% \vakthesis\ дотримується форми~5 (доводиться припускати, що у
% п.~3.1 лише перераховані необхідні елементи без вказування порядку
% їх розміщення на сторінці).
%
% \DescribeMacro{\speciality}
% Команда |\speciality| задає спеціальність за переліком
% ВАК^^A~\cite{speciality} ^^AFIXME: url
% . Один обов'язковий аргумент "--- шифр спеціальності. Два
% факультативні "--- назва спеціальності, галузь науки (у родовому
% відмінку), "--- потрібні лише, якщо файл |speciality| не містить
% заданого шифру спеціальності. Приклад:
% \begin{example}
% \cmd\speciality[математичний аналіз]\{01.01.01\}[фізико-математичних наук]
% \end{example}
% За деякими спеціальностями можливе присудження наукового ступеня
% за різними галузями наук: наприклад, за спеціальністю 01.02.05 ^^A"--- механіка рідини, газу та плазми
% можливе присудження наукового ступеня або з фізико-математичних
% наук, або з технічних наук. Для цього випадку призначений другий
% факультативний аргумент. А~перший може знадобитися, наприклад, для
% спеціальності 13.00.02, коли необхідно вказувати галузь знань,
% тобто теорія та методика навчання математики, фізики тощо.
%
% Файл |speciality| має спеціальний формат, описаний у
% розділі~\ref{sec:speciality.file.format}.
%
% \DescribeMacro{\udc}
% Команда |\udc| визначає індекс за УДК (Універсальною десятковою
% класифікацією) галузі науки, до якої відноситься дисертація.
%
% \DescribeMacro{\institution}
% Команда |\institution| отримує два обов'язкові аргументи: назву
% установи, де виконана робота, і місто, де розташована установа.
% Назва може складатися з двох частин, розділених комою: власне
% назва установи і відомство, якому установа підпорядковується. Тоді
% на титульній сторінці буде відображена відповідна інформація.
%
% \DescribeMacro{\date}
% Команда |\date| має один аргумент "--- рік, коли дисертація подана
% на розгляд ради. Якщо команда не задана, то використовується
% поточний рік.
%
% \DescribeMacro{\secret}
% Команда |\secret| має один обов'язковий аргумент і задає гриф
% обмеження розповсюдження відомостей. Можливі значення аргумента:
% таємно, для службового користування.
%
% У рекомендаціях ВАК немає чіткої інформації про гриф обмеження
% розповсюдження відомостей. З одного боку, сказано, що така
% інформація вказується на титульній сторінці дисертації, з іншого
% "--- зразок не містить вказівок, де саме її вказувати. Звичайно,
% для таємної дисертації неважливо, як вона оформлена, бо ніхто
% ніколи її не побачить. Я міг би просто посміятися (цікаво, як
% можливий прилюдний захист таємної дисертації?). Але форма~13
% (облікова картка здобувача) згадує про необхідність вказувати таку
% інформацію. І програма, яку пропонує УкрІНТЕІ для створення
% облікової картки дисертації (ОКД), теж містить відповідне поле.
%
% ^^A Далі наведено приклад титульної сторінки дисертації.
% ^^A \begin{verbatim}
% ^^A \title{Метрична та ймовірнісна теорія чисел,
% ^^A        представлених рядами Остроградського 1-го~виду}
% ^^A \author{Барановський Олександр Миколайович}
% ^^A \supervisor{Працьовитий Микола Вікторович}
% ^^A            {доктор фізико-математичних наук, професор}
% ^^A \speciality{01.01.01}
% ^^A \udc{511.72}
% ^^A \institution{{Національний педагогічний університет імені~М.",П.",Драгоманова}}
% ^^A             {Київ}
% ^^A \date{2006}
% ^^A
% ^^A \maketitle
% ^^A\end{verbatim}
%
% \DescribeEnv{titlepage}
% Якщо користувача з якихось причин не задовольняє вигляд титульної
% сторінки, він може скористатися оточенням |titlepage|, всередині
% якого можна сконструювати потрібну титульну сторінку.
%
% \subsubsection{Обкладинка автореферату}
%
% \DescribeMacro{\title}
% \DescribeMacro{\author}
% \DescribeMacro{\speciality}
% \DescribeMacro{\udc}
% \DescribeMacro{\maketitle}
% Цей документ описує відразу два класи: \vakthesis\ і \vakaref,
% оскільки вони мають подібні команди. Але цей розділ містить
% інформацію про команди, які пропонує клас \vakaref\ для створення
% обкладинки автореферату відповідно до форм~6 та~7,
% див.~\cite[с.~34--35]{guide}. Команди |\title|, |\author|,
% |\speciality|, |\udc| (і,~звичайно, |\maketitle|) мають такі ж
% функції і такий синтаксис, як і в режимі дисертації.
%
% Як і у випадку дисертації, існують розбіжності в описі порядку
% розміщення елементів обкладинки автореферату: чи вказувати індекс
% УДК перед прізвищем автора~\cite[с.~28]{guide}, чи після
% (форма~6~\cite[с.~34]{guide})? Клас \vakaref\ дотримується
% форми~6.
%
% \DescribeMacro{\supervisor}
% \DescribeMacro{\opponent}
% Команда |\supervisor| отримує три обов'язкові аргументи:
% \begin{itemize}
% \item повне ім'я (прізвище, ім'я, по батькові) наукового
% керівника,
%
% \item його науковий ступінь і вчене звання (розділені комою),
%
% \item місце роботи і посада (розділені комою).
% \end{itemize}
% Аналогічно, команда |\opponent| задає інформацію про офіційного
% опонента.
%
% \DescribeMacro{\institution}
% Команда |\institution| отримує один обов'язковий аргумент: назву
% установи, де виконана робота. Тут ВАК рекомендує вказувати назву
% відомства, якому підпорядкована установа.
%
% \DescribeMacro{\council}
% Команда |\council| задає інформацію про спеціалізовану раду, де
% відбуватиметься захист. Отримує три обов'язкові аргументи: шифр
% ради, назву установи, в якій створена рада, та адресу установи.
%
% Один факультативний аргумент (якщо використовується, то
% розміщується між першим і другим обов'язковими) задає
% альтернативну назву установи для обкладинки, наприклад,
% \begin{verbatim}
% \council{Д~26.206.01}
%         [Інститут математики, Національна академія наук України]
%         {Інститут математики НАН України}
%         {01601 м.~Київ, вул.~Терещенківська, 3}
%\end{verbatim}
%
% \DescribeMacro{\secretary}
% Прізвище та ініціали ученого секретаря спеціалізованої вченої
% ради. Аргумент ніяк не обробляється: користувач вирішує сам,
% писати ініціали до чи після прізвища. ВАК віднедавна рекомендує
% <<до>>, деякі ради мають традиції "--- <<після>>.
%
% \DescribeMacro{\library}
% Команда |\library| отримує два обов'язкові аргументи і задає назву
% й адресу установи, де можна ознайомитися з дисертацією. Якщо
% команда не задана, то використовується назва установи, де створена
% рада, і адреса взагалі не пишеться. Якщо перший аргумент порожній,
% то використовується назва установи, де створена рада, і нова
% адреса. Це можна використати, наприклад, якщо засідання ради
% відбуваються за адресою, що відрізняється від адреси бібліотеки.
%
% \DescribeMacro{\linstitution}
% Команда |\linstitution| задає інформацію про провідну установу і
% має такий синтаксис:
% \begin{example}
% \cmd\linstitution\marg{назва, підрозділ, відомство}\marg{місто}\\
% або\\
% \cmd\linstitution\marg{назва, відомство}\marg{місто}
% \end{example}
% Тобто користувач може вказувати чи не вказувати назву підрозділу
% (кафедри, відділу) провідної установи, де розглядається дисертація
% (відповідно до своїх потреб чи рекомендацій спеціалізованої ради).
%
% Крім того, ВАК України з 2007~року скасувала інститут провідних
% установ^^A~\cite{zakon} ^^AFIXME: url
% . Тому ця команда потрібна лише для авторефератів дисертацій,
% написаних раніше.
%
% \DescribeMacro{\defencedate}
% \DescribeMacro{\postdate}
% Дату захисту дисертації та дату розсилання автореферату задають
% команди |\defencedate| та |\postdate| відповідно. Синтаксис такий
% \begin{example}
% \cmd\defencedate\marg{РРРР/ММ/ДД}\marg{ГГ:ХХ}\\
% \cmd\postdate\marg{РРРР/ММ/ДД}
% \end{example}
% Якщо команди не задані, то на звороті обкладинки проставляються
% шаблони під дату і час. Відповідну інформацію слід вписувати у
% надрукований автореферат, як вимагають традиції.
%
% \DescribeMacro{\manuscript}
% \DescribeMacro{\monograph}
% Можливі два варіанти захисту дисертації: підготувати рукопис або
% захищати за монографією. Команди |\manuscript| (за замовчуванням),
% |\monograph| вибирають тип дисертації.
%
% Клас \vakaref\ використовує допоміжний пакет \pkg{casus} для
% відмінювання назв установ на обкладинці автореферату. Він не
% призначений для безпосереднього використання користувачем, тому не
% описується тут.
%
% \subsubsection{Формат файла опису спеціальностей}
% \label{sec:speciality.file.format}
%
% Файл |speciality| встановлює відповідність між шифром
% спеціальності та назвою спеціальності. Рядок опису спеціальності є
% обов'язковим елементом цього файлу і повинен мати такий формат:
% \begin{verbatim}
% ##.##.## назва_спеціальності/галузь_науки_у_родовому_відмінку
%\end{verbatim}
% Присутність символа |/| обов'язкова. Якщо за певною спеціальністю
% можливе присудження наукового ступеня більше, ніж з однієї галузі
% наук, то кожна відокремлюється символом |/|.
%
% Рядок опису галузі науки і рядок опису групи спеціальностей не
% використовуються командою |\speciality| (принаймні, у цій версії
% класів) і призначені лише для інформування користувача. Якщо вони
% присутні, то повинні мати такий формат:
% \begin{verbatim}
% ##       галузь_науки
% ##.##    назва_групи_спеціальностей
%\end{verbatim}
%
% Зауважте, що файл не повинен містити порожніх рядків! Символ |%|
% використовується як коментар. Між шифром і назвою спеціальності
% може бути довільна кількість пропусків.
%
% \DescribeMacro{\specialityfilename}
% Команда |\specialityfilename| задає ім'я файла |speciality|.
% Переозначивши її, можна підключити альтернативний файл (наприклад,
% для іншого наказу ВАК або іншою мовою).
%
% \subsection{Секціонування дисертації та автореферату}
%
% \DescribeMacro{\chapter}
% \DescribeMacro{\section}
% \DescribeMacro{\subsection}
% \DescribeMacro{\subsubsection}
% ВАК рекомендує поділяти дисертацію на розділи, підрозділи, пункти
% та підпункти~\cite[с.~19]{guide}. Цим рівням секціонування клас
% документа \cls{vakthesis} ставить у відповідність такі команди
% \LaTeX:
%
% \begin{tabular}{ll}
% розділ & |\chapter| \\
% підрозділ & |\section| \\
% пункт & |\subsection| \\
% підпункт & |\subsubsection|
% \end{tabular}
%
% \DescribeMacro{\chapter*}
% \DescribeMacro{\section*}
% \DescribeMacro{\subsection*}
% \DescribeMacro{\subsubsection*}
% Для ненумерованих частин дисертації (таких, як вступ, список
% використаних джерел, висновки тощо) використовуються |*|-варіанти
% вказаних команд. Наприклад,
% \begin{verbatim}
% \chapter*{Вступ}
%\end{verbatim}
% дає назву розділу <<Вступ>> без номера.
%
% \DescribeMacro{\part}
% \DescribeMacro{\part*}
% Автореферат дисертації не повинен мати розділів, підрозділів
% і~т.~д., а лише структурні частини, які задаються командами
% |\part|. Команда |\part*| теж доступна для сумісності документів,
% але у ній немає потреби, оскільки структурні частини автореферату
% не нумеруються. Клас документа \cls{vakaref} забороняє команди
% |\chapter| та |\(sub)(sub)section|.^^A\) Щоб ВінЕдт не розфарбовував
%
% \DescribeMacro{\paragraph}
% \DescribeMacro{\subparagraph}
% Крім того, і в дисертації, і в авторефераті можна використовувати
% команди |\paragraph| і |\subparagraph| для дрібніших секцій
% документа, які не повинні потрапляти у зміст.
% ^^AЯ використовую ці команди для частин вступу (Актуальність теми,
% ^^AЗв'язок роботи і~т.~д.). Чи це правильно? відповідає вимогам ВАК?
% ^^Aпринципу логічної розмітки документа?
%
% \DescribeMacro{\nopunct}
% Заголовки пунктів і підпунктів (тобто аргументи команд
% |\subsection| і |\subsubsection|), а також аргументи команд
% |\paragraph| і |\subparagraph|, розміщуються у підбір до тексту.
% Крапка в кінці такого заголовка додається автоматично при потребі.
% Щоб уникнути цього, напишіть у кінці заголовка |\nopunct|.
%
% Зауважте, що клас \vakthesis\ ігнорує рекомендацію виділяти
% заголовки пунктів <<в розбивку>>~\cite[с.~19]{guide}, оскільки я
% вважаю, що виділення напівжирним чи курсивом для дисертації
% достатньо (а для набору <<в розбивку>> до того ж потрібно
% підключати додаткові пакети).
% ^^A <<в розбивку>> вважається поганим стилем
%
% \DescribeMacro{\tableofcontents}
% На основі вказаних команд секціонування збирається зміст. Перелік
% усіх розділів, підрозділів і пунктів (як вимагає ВАК) з'являється
% там, де вказана команда |\tableofcontents|. На відміну від
% стандартної поведінки \LaTeX{}, ненумеровані заголовки теж
% з'являються у змісті.
%
% \DescribeMacro{\appendix}
% Якщо дисертація має додатки, то їх потрібно розміщувати після
% списку використаних джерел. Команда |\chapter| задає заголовок
% додатка, як і для звичайних розділів дисертації. Перед першим
% додатком необхідно викликати команду |\appendix|. Додатки
% позначаються великими літерами української абетки, за винятком
% літер Ґ, Є, І, Ї, Й, О, Ч, Ь (див. також пояснення у
% розділі~\ref{sec:bugs&todo}).
%
% Зауважте, що додаток може поділятися на підрозділи, пункти і
% підпункти (команди |\section|, |\subsection| і |\subsubsection|
% відповідно), що суперечить рекомендаціям ВАК поділяти додаток на
% розділи і підрозділи~\cite[с.~26]{guide}, але дозволяє зберегти
% структуру дисертації (бо інакше додаток слід вважати структурною
% одиницею, вищою розділу, а для цього ні клас не передбачає
% відповідної команди, ні рекомендації ВАК "--- адекватного
% оформлення).
%
% Крім того, підрозділи, формули, ілюстрації, таблиці тощо
% нумеруються в межах додатка, знову ж таки, для збереження логіки
% нумерації у всій дисертації. Важко сказати, чи це відповідає
% рекомендаціям ВАК~\cite[с.~20, 26]{guide}, тим більше, що приклад
% на с.~26 суперечить сам собі.
%
% \subsection{Таблиці та ілюстрації}
%
% \DescribeEnv{figure}
% \DescribeEnv{table}
% Для створення плаваючих ілюстрацій та таблиць слід використовувати
% стандартні оточення \LaTeX{} |figure| і |table|, які переозначені
% відповідно до рекомендацій ВАК. Підпис до плаваючого об'єкта
% задається командою |\caption|. Можливість автоматичного розміщення
% підпису під ілюстрацією (відповідно над таблицею) не реалізовано.
% Це робить користувач, записуючи команду |\caption| відповідним
% чином.
%
% ^^A\subsection{Формули і теореми}
% \subsection{Теореми}
%
% ^^AДля нумерованих виділених формул доцільно користуватися оточеннями
% ^^A|equation|, |align|, |gather| та іншими з пакету AMS-\LaTeX. На
% ^^Aщастя, те, як \LaTeX{} нумерує формули, не суперечить
% ^^Aрекомендаціям ВАК.
%
% Під теоремами прийнято розуміти будь-які теоремоподібні структури:
% теореми, леми, наслідки, гіпотези, означення, зауваження, задачі,
% приклади тощо. Рекомендації ВАК нічого не говорять про оформлення
% теорем, зокрема про їх нумерацію. Класи \cls{vakthesis} та
% \cls{vakaref} переозначають стандартні команди \LaTeX\ так, що
% теореми починаються з абзацного відступу і мають менші відступи
% перед і після. Нумерацію користувач визначає на свій смак за
% допомогою факультативних аргументів команди |\newtheorem|: або в
% межах розділу, підрозділу тощо, або всі теореми однією
% послідовністю номерів.
%
% Пакет \pkg{amsthm} можна використовувати разом з цими класами.
% Крім команди |\theoremstyle|, яка дозволяє задавати різне
% оформлення для різних типів теорем, він ще пропонує оточення
% |proof| для доведення теореми (або розв'язання задачі: заголовок
% можна задати як факультативний аргумент оточення). Зауважте, що
% пакет \pkg{amsthm} слід підключати після \pkg{amsmath}, якщо ви
% використовуєте останній~\cite{amsthm}.
%
% Підтримка інших пакетів для роботи з теоремами (наприклад,
% |theorem|) не реалізована.
%
% \DescribeMacro{\slantedthmbody}
% \DescribeMacro{\italicthmbody}
% \DescribeMacro{\slantedall}
% Текст певних теоремоподібних структур (наприклад, теорем та лем)
% традиційно виділяють курсивом. Команда |\slantedthmbody| дозволяє
% замінити \textit{курсив} на \textsl{похилий} у текстах таких
% теоремоподібних структур, а команда |\italicthmbody| "--- навпаки,
% похилий на курсив. І, нарешті, команда |\slantedall| замінює
% курсив на похилий в усьому тексті. ^^AЦі команди доступні автору, але
% ^^Aвони скоріше експеримент, ніж готовий продукт. Якщо ви вважаєте,
% ^^Aщо похилий шрифт не дуже гарний на вигляд, просто не
% ^^Aвикористовуєте цих команд.
%
% \subsection{Список використаних джерел}
%
% ^^AДва списки літератури слід узгодити з існуючими розробками
%
% Для оформлення списку використаних джерел є два стандартні
% способи:
% \begin{itemize}
% \item використовувати оточення |thebibliography|,
%
% \item генерувати список з |bib|-файла за допомогою \BibTeX.
% \end{itemize}
% В останньому випадку доцільно користуватися набором \BibTeX-стилів
% |gost| (доступний за адресою
% \url{CTAN:biblio/bibtex/contrib/gost}), що дозволяє оформити
% список літератури за стандартом ГОСТ~7.1-84, як рекомендує
% ВАК~\cite[с.~18, 25]{guide}.
%
% \DescribeEnv{bibset}
% Клас документа \cls{vakthesis} пропонує оточення |bibset| для
% підтримки кількох списків літератури в одному документі.
% Обов'язковий аргумент задає заголовок списку, а факультативний
% "--- мітку, що з'являється біля номерів у списку і в посиланнях у
% тексті. Всередині оточення слід задавати команди
% |\bibliographystyle| та |\bibliography|.
%
% Нехай файл |thesis.tex| повинен містити два списки: список
% використаних джерел (файл |thesis.bib|) і список публікацій автора
% (файл |mybib.bib|). Тоді слід написати щось подібне:
% \begin{verbatim}
% \begin{bibset}{Список використаних джерел}
% \bibliographystyle{gost71s}
% \bibliography{thesis}
% \end{bibset}
%
% \begin{bibset}[a]{Список публікацій автора}
% \bibliographystyle{gost71u}
% \bibliography{mybib}
% \end{bibset}
%\end{verbatim}
% і виконати таку послідовність дій:
% \begin{enumerate}
% \item Вилучити |.aux|- та |.bbl|-файли, якщо вони вже існують.
%
% \item Для кожного $i\in\{1,2\}$ виконати команди
% \begin{verbatim}
% latex thesis.tex
% bibtex8 --csfile 1251cyr --big thesis
%\end{verbatim}
% і отриманий файл |thesis.bbl| перейменувати в |thesis|$i$|.bbl|.
% (Потрібно використовувати саме |bibtex8|, якщо |.bib|-файл містить
% записи з кириличними літерами. Файл сортування та інші ключі
% використовувати за потребою.)
%
% \item Виконати команду
% \begin{verbatim}
% latex thesis.tex
%\end{verbatim}
% стільки разів, щоб посилання коректно розставилися (щонайменше
% двічі).
% \end{enumerate}
%
% Зауважте, що рекомендації ВАК ні дозволяють, ні забороняють
% виділяти список публікацій автора окремо. Я реалізував це <<для
% себе>>.
%
%
% \section{Альтернатива}
%
% Зараз мені відомі кілька інших класів для роботи з дисертаціями,
% що можуть бути корисними для здобувачів наукового ступеня в
% Україні. Якби я дізнався про них раніше, можливо, і не починав би
% писати \vakthesis.
%
% Перший "--- клас документа \cls{dissert}\footnote{Доступний за
% адресою \url{http://ppg.ice.ru/files/59553/dissert.tgz}.} Андрія ^^AFIXME: correct url? перевірити на RU.TEX
% Мартовлоса "--- призначений саме для оформлення дисертацій за
% вимогами ВАК України. Він ґрунтується на стандартному класі
% \cls{report} та стандартній опції класу \cls{size14.clo}. Основні
% відмінності класів \vakthesis\ (разом з \vakaref) та
% \cls{dissert}:
% \begin{itemize}
% \item \vakthesis{} має набір команд для генерування титульної
% сторінки.
%
% \item \vakaref{} дозволяє оформляти автореферат, \cls{dissert}
% таких можливостей не має взагалі.
%
% \item \vakthesis{} має підтримку двох списків літератури: списку
% використаних джерел та списку публікацій автора.
%
% \item Деякі необхідні модифікації стандартного класу \cls{report}
% не реалізовані в класі \cls{dissert}, зокрема заміна
% зарезервованих слів типу |\bibname|. Користувачеві рекомендується
% замінювати їх самостійно в тілі документа.
%
% \item \vakthesis{} має певні <<естетичні>> переваги, наприклад,
% візуальне виділення у змісті (мова йде про |\tableofcontents|)
% ієрархії структурних частин дисертації, успадковане від
% стандартних класів.
%
% \item \cls{dissert} не оновлювався від 2002~року (деякі
% розбіжності з рекомендаціями ВАК, можливо, зумовлені цим).
%
% \item \cls{dissert} має підтримку шрифтів типу Times, на відміну
% від \vakthesis{}.
% \end{itemize}
%
% Другий "--- клас документа \cls{disser}\footnote{Документований
% код (у форматі |.dtx|) і приклади доступні за адресою
% \url{CTAN:macros/latex/contrib/disser}.} для оформлення
% дисертацій, створений Станіславом Кручиніним шляхом об'єднання
% доповнень і виправлень до класу \cls{extreport}. Клас орієнтований
% на російськомовних користувачів, як стверджує автор. Але він має
% багаті можливості для налагоджування, і, можливо, його можна
% налагодити під рекомендації ВАК України. Я не намагався це
% зробити.
%
% ^^AFIXME: Написати ще про клас rusthesis.
% Нарешті, класи \cls{rusthesis} та \cls{rthauto}\footnote{Доступні
% за адресою \url{http://www.ispms.ru/files/rusthesis_TeTeX.tgz}.
% Див. також
% \url{http://www.botik.ru/PSI/EmNet_NIS/transactions/gorelski/gorelski_smolin.koi8.html}.}
% Олексія Смоліна, розроблені на основі класу \cls{ucthesis}. Автор
% стверджує, що клас \cls{rusthesis} дозволяє оформити дисертацію за
% вимогами ВАК Росії. Як вони узгоджені з класом \cls{disser} (чи
% взагалі узгоджені), я не перевіряв.
% ^^A quick&dirty
%
%
% \section{Можливі проблеми, відомі баґи і TODO}
% \label{sec:bugs&todo}
%
% \begin{itemize}
% \item Команда |\speciality| не може прочитати з файла |speciality|
% рядок опису спеціальності, якщо він не містить символа /. Будьте
% уважні, якщо редагуєте цей файл.
%
% \item У випадку використання двох списків літератури можливі
% конфлікти з пакетами \pkg{hyperref}, \pkg{cite} та іншими, що
% мають справу з командами створення списку літератури та посилань
% на літературу. Наприклад, пакет \pkg{cite} вже не зможе сортувати
% посилання, задані в аргументі команди |\cite|. Очікується, що це
% буде виправлено в наступних версіях.
%
% \item ВАК рекомендує так звані примітки оформляти по-різному
% залежно від їх кількості на сторінці~\cite[с.~21]{guide}. На
% перший погляд, під примітками тут розуміють виноски (footnote).
% Але в ДСТУ~3008-95 окремо написано про примітки (підрозділ~7.8) і
% про виноски (підрозділ~7.9). Тому я вважаю, що такі примітки, як
% описані у рекомендаціях ВАК, нікому не потрібні (бо є виноски),
% отже, немає потреби турбуватися про їх підтримку. Але користувач
% при потребі може їх оформити як теоремоподібну структуру за
% допомогою команди |\newtheorem|. Нові стилі для однієї та для
% кількох приміток (наприклад, нехай вони називаються |note| та
% |notes| відповідно) можна створити за допомогою команди
% |\newtheoremstyle| (з пакету \pkg{amsthm}). Для кількох приміток
% виникає така неприємність: примітка з номером~1 ніяк не хоче мати
% абзацного відступу, навіть якщо явно вказати |\par|. Я не розумію
% зараз, чому це так. І не дуже переймаюся, бо думаю, що це навряд
% чи комусь знадобиться. Але швидкий і брудний патч "--- це написати
% перед приміткою~1 таке
% \begin{verbatim}
% \ \vskip-\baselineskip
%\end{verbatim}
%
% Для інформації: оформлення виносок в \LaTeX{} відрізняється від
% того, як рекомендує ДСТУ~3008-95. Але я про це не турбувався,
% оскільки у рекомендаціях ВАК про оформлення виносок немає жодного
% слова.
%
% \item Правила ВАК рекомендують не використовувати літери Г, Є, І,
% Ї, Й, О, Ч, Ь для позначення додатків~\cite[с.~26]{guide}. Для
% мене незрозуміла ідея пропускати літери: це наче нумерувати
% розділи числами, але не використовувати, скажімо, числа 4 та 13.
% Але особливо нелогічною є заборона Г, оскільки літера Ґ
% залишається. Державний стандарт ДСТУ~3008-95 забороняє саме літеру
% Ґ, а також літеру З (пункт~7.16.4). Якби ще була заборонена Щ,
% можна було б припустити, що забороняються літери, які <<схожі>> на
% цифри чи на інші літери. Чому в рекомендаціях ВАК немає літери З?
% Можливо, це просто друкарська помилка?
%
% Як би не було, я не дотримуюся ДСТУ~3008-95, як уже було сказано у
% вступі. Тому до списку <<ворогів народу>> потрапили літери Ґ, Є,
% І, Ї, Й, О, Ч, Ь (я лише замінив Г на Ґ, їй уже не страшно). Якщо
% користувач бажає мати свій набір дозволених/заборонених літер,
% мусить переозначити команду |\@lost@Asbuk|, додавши чи вилучивши
% потрібні літери. Команди рівня користувача для цього немає, слід
% написати у преамбулі документа щось таке:
% \begin{verbatim}
% \makeatletter
% \def\@lost@Asbuk#1{\ifcase#1\or
%   \CYRA\or\CYRB\or\CYRV\or\CYRG\or\CYRD\or\CYRE\or%\CYRIE\or
%   \CYRZH\or\CYRZ\or\CYRI\or%\CYRII\or\CYRYI\or\CYRISHRT\or
%   \CYRK\or\CYRL\or\CYRM\or\CYRN\or%\CYRO\or
%   \CYRP\or\CYRR\or
%   \CYRS\or\CYRT\or\CYRU\or\CYRF\or\CYRH\or\CYRC\or%\CYRCH\or
%   \CYRSH\or\CYRSHCH\or\CYRYU\or\CYRYA\else\@ctrerr\fi}
% \makeatother
%\end{verbatim}
%
% \item Підтримка оформлення додатків окремою книгою (ще) не
% реалізована.
%
% ^^A\item Клас \vakthesis\ не має ніяких засобів для оформлення
% ^^Aпереліку умовних позначень відповідно до рекомендацій ВАК.
%
% \item Колись у майбутньому потрібно зробити, щоб клас міг
% генерувати <<електронний документ>>: гіперпосилання, додавати
% інформацію про автора та про дисертацію до document info section
% PDF-файла тощо.
% ^^A[Використовувати PDF\TeX-примітив |\pdfinfo|. Проблема лише з
% ^^Aкирилицею.]
%
% \item Значна частина автореферату "--- це просто текст з
% дисертації. Було б добре якимось чином пов'язати дисертацію і
% автореферат, щоб автоматизувати вибирання тексту для автореферату
% і <<збереження>> нумерації формул, теорем тощо.
% ^^A[Тобто, теорема в авторефераті повинна мати той же номер, що й в
% ^^Aдисертації, незалежно від номера попередньої чи наступної теореми.
% ^^AЗараз я просто перед теоремою змінюю лічильник |theorem| на
% ^^Aпотрібне значення. Я думаю, вже таке зробили? Знайти і приєднати.]
% \end{itemize}
%
%
% \StopEventually{%
% \begin{thebibliography}{99}
%
% \bibitem{guide}
% Довідник здобувача наукового ступеня: Зб. нормат. док. та інформ.
% матеріалів з питань атестації наук. кадрів вищої кваліфікації~/
% Упоряд. Ю.~І.~Цеков; За ред. Р.~В.~Бойка. "--- 3-є вид., випр. і
% допов. "--- К.: Ред. <<Бюл. Вищої атестац. коміс. України>>;
% Вид-во <<Толока>>, 2006. "--- 70~с.
%
% ^^A\bibitem{guide1}
% ^^AІнші рекомендації ВАК України
%
% ^^A\bibitem{guide2}
% ^^AІнші рекомендації ВАК України
%
% \bibitem{lshort}
% Не надто короткий вступ до \LaTeXe~/ T.~Oetіker et~al.; Перекл. з
% англ. М.~Поляков. "--- Книга у різних форматах доступна за адресою
% \url{CTAN:info/lshort/ukrainian}.
%
% ^^A\bibitem{speciality} З сайту ВАК про спеціальності ^^AFIXME: url?
%
% ^^A\bibitem{zakon} З сайту ВАК про провідні ^^AFIXME: url?
%
% \bibitem{amsthm}
% Using the |amsthm| package~/ Amer. Math. Soc. Ver.~2.20,
% Aug.~2004. Входить до набору AMS-\LaTeX{} як файл
% \url{amsthdoc.tex}.
%
% \end{thebibliography}
%
% \PrintIndex
% }
%
%
% \section{Реалізація}
%
% Опис коду ще не завершено, тому ця частина не включена до
% документації. Я думаю, що це цікаво не для всіх користувачів, тому
% не є першочерговим завданням. Сподіваюся зробити це пізніше.
%
% Класи \vakthesis{} та \vakaref{} ґрунтуються на
% стандартному класі \cls{report}. Тому далі я описую лише зміни.
%    \begin{macrocode}
%<*vakthesis|vakaref>
%\newif\if@debug \@debugtrue
%\def\debug#1{\if@debug\typein[\debugging]{**********^^J#1^^J**********}\fi}
%\def\zz#1{\typein[\Lethe]{#1}}
%<vakthesis>\def\@classname{vakthesis}
%<vakaref>\def\@classname{vakaref}
\newcommand\@ptsize{}
\newif\if@restonecol
\newif\if@titlepage
\@titlepagetrue
\newif\if@openright %FIXME: непотрібно, але потрібно для ток
%    \end{macrocode}
% Резервуємо два нові прапорці: для режиму чернетки і для наукового
% ступеня здобувача (кандидат, доктор). А для класу дисертації "---
% ще для міжрядкового інтервалу, як у Ворді.
%    \begin{macrocode}
\newif\if@draftmode
\newif\if@cthesis
%<*vakthesis>
\newif\if@wordlikespacing
\@wordlikespacingtrue
%</vakthesis>
%    \end{macrocode}
% Декларуємо опції, як і в стандартному класі. Режим сумісності не
% підтримується.
%    \begin{macrocode}
%\if@compatibility\else
\DeclareOption{a4paper}
   {\setlength\paperheight {297mm}%
    \setlength\paperwidth  {210mm}}
\DeclareOption{a5paper}
   {\setlength\paperheight {210mm}%
    \setlength\paperwidth  {148mm}}
\DeclareOption{b5paper}
   {\setlength\paperheight {250mm}%
    \setlength\paperwidth  {176mm}}
\DeclareOption{letterpaper}
   {\setlength\paperheight {11in}%
    \setlength\paperwidth  {8.5in}}
\DeclareOption{legalpaper}
   {\setlength\paperheight {14in}%
    \setlength\paperwidth  {8.5in}}
\DeclareOption{executivepaper}
   {\setlength\paperheight {10.5in}%
    \setlength\paperwidth  {7.25in}}
%    \end{macrocode}
% Опція |landscape| не підтримується.
%    \begin{macrocode}
%\DeclareOption{landscape}
%   {\setlength\@tempdima   {\paperheight}%
%    \setlength\paperheight {\paperwidth}%
%    \setlength\paperwidth  {\@tempdima}}
%\fi
%\if@compatibility
%  \renewcommand\@ptsize{0}
%\else
\DeclareOption{10pt}{\renewcommand\@ptsize{0}}
%\fi
\DeclareOption{11pt}{\renewcommand\@ptsize{1}}
\DeclareOption{12pt}{\renewcommand\@ptsize{2}}
\DeclareOption{14pt}{\renewcommand\@ptsize{4}}
%\if@compatibility\else
\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
%\fi
\DeclareOption{twoside}{\@twosidetrue  \@mparswitchtrue}
\DeclareOption{draft}{\@draftmodetrue\setlength\overfullrule{5pt}}
%\if@compatibility\else
\DeclareOption{final}{\@draftmodefalse\setlength\overfullrule{0pt}}
%\fi
\DeclareOption{titlepage}{\@titlepagetrue}
%\if@compatibility\else
\DeclareOption{notitlepage}{\@titlepagefalse}
%\fi
%\if@compatibility
%\else
%\DeclareOption{openright}{\@openrighttrue}
%\DeclareOption{openany}{\@openrightfalse}
%\fi
%\if@compatibility\else
%\DeclareOption{onecolumn}{\@twocolumnfalse}
%\fi
%\DeclareOption{twocolumn}{\@twocolumntrue}
%\DeclareOption{leqno}{\input{leqno.clo}}
%\DeclareOption{fleqn}{\input{fleqn.clo}}
%\DeclareOption{openbib}{%
%  \AtEndOfPackage{%
%   \renewcommand\@openbib@code{%
%      \advance\leftmargin\bibindent
%      \itemindent -\bibindent
%      \listparindent \itemindent
%      \parsep \z@
%      }%
%   \renewcommand\newblock{\par}}%
%}
%    \end{macrocode}
% Для класу дисертації декларуємо опції <<один інтервал>> та <<півтора інтервали>>.
%    \begin{macrocode}
%<*vakthesis>
\DeclareOption{1space}{\@wordlikespacingfalse}
\DeclareOption{1.5space}{\@wordlikespacingtrue}
%</vakthesis>
%    \end{macrocode}
% Опція |c| "--- кандидатська, |d| "--- докторська дисертація.
%    \begin{macrocode}
\DeclareOption{c}{\@cthesistrue
  \def\degreename{\cyrk\cyra\cyrn\cyrd\cyri\cyrd\cyra\cyrt}%
  \def\onesupervisorname{\CYRN\cyra\cyru\cyrk\cyro\cyrv\cyri\cyrishrt\
    \cyrk\cyre\cyrr\cyrii\cyrv\cyrn\cyri\cyrk}%
  \def\manysupervisorsname{\CYRN\cyra\cyru\cyrk\cyro\cyrv\cyrii\
    \cyrk\cyre\cyrr\cyrii\cyrv\cyrn\cyri\cyrk\cyri}}
\DeclareOption{d}{\@cthesisfalse
  \def\degreename{\cyrd\cyro\cyrk\cyrt\cyro\cyrr}%
  \def\onesupervisorname{\CYRN\cyra\cyru\cyrk\cyro\cyrv\cyri\cyrishrt\
    \cyrk\cyro\cyrn\cyrs\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrn\cyrt}%
  \def\manysupervisorsname{\CYRN\cyra\cyru\cyrk\cyro\cyrv\cyrii\
    \cyrk\cyro\cyrn\cyrs\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrn\cyrt\cyri}}
\DeclareOption*{\ClassError{\@classname}
  {Option `\CurrentOption' not supported}
  {Do not use option `\CurrentOption' please.}}
%<*vakthesis>
%\ExecuteOptions{a4paper,14pt,oneside,final,1.5space,c}% ?: якщо twoside, то з'являється додатковий клей (в розділі 1.3) / from previous version
\ExecuteOptions{a4paper,14pt,1.5space,oneside,final,c}
%</vakthesis>
%<*vakaref>
\ExecuteOptions{a5paper,10pt,twoside,final,c}
%</vakaref>
\ProcessOptions
%    \end{macrocode}
% Підключаємо пакети.
%    \begin{macrocode}
\RequirePackage{ifthen}
\RequirePackage{indentfirst}
\RequirePackage{verbatim}
\input{size1\@ptsize.clo}
%<*vakthesis>
% Перепльот. Але неакуратно
\addtolength\oddsidemargin{10mm}
\if@twoside\addtolength\evensidemargin{-10mm}\fi
%</vakthesis>
%%
%%% Перевірка берегів сторінки відповідно до правил ВАК
%%%        >=20mm
%%% >=20mm        >=10mm
%%%        >=20mm
%%...
%%\def\checkmargins#1#2#3#4{%?
%%
\setlength\lineskip{1\p@}
\setlength\normallineskip{1\p@}
\renewcommand\baselinestretch{}
%    \end{macrocode}
% Ой, про міжрядковий інтервал багато треба написати\ldots
%    \begin{macrocode}
%<*vakthesis>
% magic number :-)
% 297mm - 20mm - 20mm =
% 731pt / 30 =
% 24.37 / 17 = 1.43
%\renewcommand\baselinestretch{1.43}
% magic number :-)
% 297mm - 23mm - 23mm =
% 714pt / 30 =
% 23.8 / 17 = 1.4
%\renewcommand\baselinestretch{1.4}
% magic number :-)
% (297mm - 20mm - 20mm) / (30 * 17pt) = 1.434
\if@wordlikespacing
  \ifcase \@ptsize \relax % 10pt
    \renewcommand\baselinestretch{1.25}%
  \or % 11pt
    \renewcommand\baselinestretch{1.213}%
  \or % 12pt
    \renewcommand\baselinestretch{1.241}%
  \else % 14pt et al.
    \renewcommand\baselinestretch{1.434}%
  \fi
\fi
%</vakthesis>
\setlength\parskip{0\p@ \@plus \p@}
\@lowpenalty   51
\@medpenalty  151
\@highpenalty 301
\setcounter{topnumber}{2}
\renewcommand\topfraction{.7}
\setcounter{bottomnumber}{1}
\renewcommand\bottomfraction{.3}
\setcounter{totalnumber}{3}
\renewcommand\textfraction{.2}
\renewcommand\floatpagefraction{.5}
\setcounter{dbltopnumber}{2}
\renewcommand\dbltopfraction{.7}
\renewcommand\dblfloatpagefraction{.5}
%<*vakthesis>
\def\ps@plain{\let\@mkboth\@gobbletwo
  \def\@oddhead{\small\hfil\thepage}%
  \def\@evenhead{\small\thepage\hfil}%
  \let\@oddfoot\@empty\let\@evenfoot\@empty}
%</vakthesis>
%<*vakaref>
\def\ps@plain{\let\@mkboth\@gobbletwo
  \def\@oddhead{\small\hfil\thepage\hfil}%
  \def\@evenhead{\small\hfil\thepage\hfil}
  \let\@oddfoot\@empty\let\@evenfoot\@empty}
%</vakaref>
\if@draftmode
  \let\ps@draft\ps@plain
  \g@addto@macro\ps@draft{\def\chaptermark#1{\markboth{#1}{#1}}%
    \def\@oddfoot{\scriptsize \draftname\ $\circ$\ \today\hfil \rightmark}%
    \def\@evenfoot{\scriptsize \leftmark\hfil \draftname\ $\circ$\ \today}}
  \let\ps@plain\ps@draft
  \def\draftname{Draft Version}%
  \AtBeginDocument{\addto\captionsukrainian{%
    \def\draftname{{\cyr\CYRCH\cyre\cyrr\cyrn\cyre\cyrt\cyrk\cyra}}}
  }
%TODO: В режимі чернетки зробити нумерацію сторінок в межах розділу?
\fi
\if@twoside
  \def\ps@headings{%
      \let\@oddfoot\@empty\let\@evenfoot\@empty
      \def\@evenhead{\thepage\hfil\slshape\leftmark}%
      \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
      \let\@mkboth\markboth
    \def\chaptermark##1{%
      \markboth {\MakeUppercase{%
        \ifnum \c@secnumdepth >\m@ne
            \@chapapp\ \thechapter. \ %
        \fi
        ##1}}{}}%
    \def\sectionmark##1{%
      \markright {\MakeUppercase{%
        \ifnum \c@secnumdepth >\z@
          \thesection. \ %
        \fi
        ##1}}}}
\else
  \def\ps@headings{%
    \let\@oddfoot\@empty
    \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
    \let\@mkboth\markboth
    \def\chaptermark##1{%
      \markright {\MakeUppercase{%
        \ifnum \c@secnumdepth >\m@ne
            \@chapapp\ \thechapter. \ %
        \fi
        ##1}}}}
\fi
\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}
%
%
% \subsection{Титульна сторінка}
%
% \begin{macro}{\@nocmdgiven}
%    Тепер означуємо команди, необхідні для титульної сторінки.
%    Спочатку допоміжна команда, що генерує помилку, коли потрібної
%    команди (|\author|, |\title| тощо) немає в документі.
%    \begin{macrocode}
\def\@nocmdgiven#1{%
  \ClassError{\@classname}
  {No \protect#1 given}
  {Use command \protect#1 in your document.}}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\placeholder}
%    Це шаблон під дату на звороті автореферату, коли вона не задана.
%    Чому воно тут означується?
%\iffalse
%\newcommand{\placeholder}[2][100pt]{\parbox[t]{#1}{%
%  \hrulefill\par\centering\tiny(#2)}}
%\newcommand{\placeholder}[2][100pt]{\raisebox{-1.2\height}{%
%    \shortstack{\rule{#1}{0.4pt}\\\tiny\slshape#2}}}
%\fi
%    \begin{macrocode}
\newcommand{\placeholder}[1][100pt]{\rule{#1}{0.4pt}}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\title}
%    Я так і не вирішив, чи є потреба переозначувати тут цю
%    команду\ldots
%\iffalse
%FIXME: \renewcommand{\title} \renewcommand{\author} ?
%\fi
%    \begin{macrocode}
%%\renewcommand{\title}[1]{\def\@title{#1}}
\def\@title{<\CYRN\cyra\cyrz\cyrv\cyra\
  \cyrd\cyri\cyrs\cyre\cyrr\cyrt\cyra\cyrc\cyrii\cyryi>%
  \@nocmdgiven{\title}}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\author}
%    і цю\ldots
%    \begin{macrocode}
%%\renewcommand{\author}[1]{\def\@author{#1}}
\def\@author{<\CYRP\cyrr\cyrii\cyrz\cyrv\cyri\cyrshch\cyre{}
%    \end{macrocode}
%    Між прізвищем та ім'ям потрібен пропуск, бо команда |\emphsurname|
%    по ньому їх розділяє, щоб \textsc{виділити} прізвище.
%    \begin{macrocode}
  \CYRII\cyrm'\cyrya\
  \CYRP\cyro\ \cyrb\cyra\cyrt\cyrsftsn\cyrk\cyro\cyrv\cyrii>%
  \@nocmdgiven{\author}}
%    \end{macrocode}
% \end{macro}
%    Означуємо лічильник, що рахує кількість наукових керівників. Для
%    чого?
%    \begin{macrocode}
\newcounter{@supervisors@count}
%    \end{macrocode}
% \begin{macro}{\supervisor}
%    Команда |\supervisor| задає інформацію про наукового керівника.
%    Для класу дисертації вона має два аргументи: <<ім'я>> і <<науковий
%    ступінь, вчене звання>>(розділені комою). Для класу автореферату
%    додається ще <<місце роботи, посада>> (розділені комою).
%    \begin{macrocode}
%<vakthesis>\newcommand{\supervisor}[2]{%
%<vakaref>\newcommand{\supervisor}[3]{%
  \stepcounter{@supervisors@count}%
%    \end{macrocode}
%    Далі "--- стандартний код. Якщо це перша команда |\supervisor|, то
%    розпочинаємо список, інакше "--- додаємо до існуючого списку.
%    \begin{macrocode}
  \ifnum\value{@supervisors@count}=1
%<*vakthesis>
    \def\@supervisors{\\{#1}{#2}}%
  \else
    \g@addto@macro\@supervisors{\\{#1}{#2}}%
  \fi}
%</vakthesis>
%<*vakaref>
    \def\@supervisors{\\{#1}{#2}{#3}}%
  \else
    \g@addto@macro\@supervisors{\\{#1}{#2}{#3}}%
  \fi}
%</vakaref>
\if@cthesis
%    \end{macrocode}
%    Значення за замовчуванням, якщо кандидатська дисертація.
%    \begin{macrocode}
  \def\@supervisors{\@nocmdgiven{\supervisor}%
    \\{<\CYRP\cyrr\cyrii\cyrz\cyrv\cyri\cyrshch\cyre\
       \CYRII\cyrm'\cyrya\ \CYRP\cyro\ \cyrb\cyra\cyrt\cyrsftsn\cyrk\cyro\cyrv\cyrii>}%
      {<\cyrn\cyra\cyru\cyrk\cyro\cyrv\cyri\cyrishrt\ \cyrs\cyrt\cyru\cyrp\cyrii\cyrn\cyrsftsn,
       \cyrv\cyrch\cyre\cyrn\cyre\ \cyrz\cyrv\cyra\cyrn\cyrn\cyrya>}%
%<*vakaref>
      {<\cyrm\cyrii\cyrs\cyrc\cyre\ \cyrr\cyro\cyrb\cyro\cyrt\cyri, \cyrp\cyro\cyrs\cyra\cyrd\cyra>}%
%</vakaref>
  }%
\else
%    \end{macrocode}
%    Для докторської дисертації може не буде наукового консультанта.
%    Тому команди може не бути, звичайно.
%    \begin{macrocode}
  \let\@supervisors\@empty
\fi
%    \end{macrocode}
% \end{macro}
%    Тепер зробимо для опонентів. Це лише для автореферату. Треба десь
%    разом зібрати всі зарезервовані слова\ldots\ а не тут\ldots
%    \begin{macrocode}
%<*vakaref>
\def\oneopponentname{\CYRO\cyrf\cyrii\cyrc\cyrii\cyrishrt\cyrn\cyri\cyrishrt\
  \cyro\cyrp\cyro\cyrn\cyre\cyrn\cyrt}
\def\manyopponentsname{\CYRO\cyrf\cyrii\cyrc\cyrii\cyrishrt\cyrn\cyrii\
  \cyro\cyrp\cyro\cyrn\cyre\cyrn\cyrt\cyri}
%    \end{macrocode}
%    Аналогічно, вводимо новий лічильник.
%    \begin{macrocode}
\newcounter{@opponents@count}
%    \end{macrocode}
% \begin{macro}{\opponent}
%    Аналогічно. Аж нецікаво.
%    \begin{macrocode}
\newcommand{\opponent}[3]{%
  \stepcounter{@opponents@count}%
  \ifnum\value{@opponents@count}=1
    \def\@opponents{\\{#1}{#2}{#3}}%
  \else
    \g@addto@macro\@opponents{\\{#1}{#2}{#3}}%
  \fi}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\@opponents}
%    \begin{macrocode}
\def\@opponents{\@nocmdgiven{\opponent}%
  \\{<\CYRP\cyrr\cyrii\cyrz\cyrv\cyri\cyrshch\cyre\
     \CYRII\cyrm'\cyrya\ \CYRP\cyro\ \cyrb\cyra\cyrt\cyrsftsn\cyrk\cyro\cyrv\cyrii>}%
    {<\cyrn\cyra\cyru\cyrk\cyro\cyrv\cyri\cyrishrt\ \cyrs\cyrt\cyru\cyrp\cyrii\cyrn\cyrsftsn,
     \cyrv\cyrch\cyre\cyrn\cyre\ \cyrz\cyrv\cyra\cyrn\cyrn\cyrya>}%
    {<\cyrm\cyrii\cyrs\cyrc\cyre\ \cyrr\cyro\cyrb\cyro\cyrt\cyri,
     \cyrp\cyro\cyrs\cyra\cyrd\cyra>}}
%</vakaref>
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\specialityfilename}
%    Далі про спеціальність. Команда |\specialityfilename| задає ім'я
%    файла, що встановлює відповідність між шифром спеціальності та
%    назвою спеціальності. Суфікс імені файла означає дату і наказ ВАК
%    України, яким затверджені зміни до переліку спеціальностей. А
%    змінювати вони люблять.
%    \begin{macrocode}
\def\specialityfilename{speciality.20070212N70}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\speciality}
%    Команда має один обов'язковий і два факультативні аргументи:
%\begin{verbatim}
%\speciality[математичний аналіз]{01.01.01}[фізико-математичних наук]
%\end{verbatim}
%    Тому стандартною командою |\newcommand| означити її не вийде.
%    Доведеться морочитися з усіма випадками. Якщо заданий лише шифр
%    спеціальності, то з файла спеціальностей потрібно прочитати назву
%    спеціальності та галузь науки, за якою присуджується науковий
%    ступінь. Якщо раптом шифр невідомий, то для цього перший
%    факультативний аргумент (і другий теж). Але якщо навіть відомий,
%    необхідно користуватися другим факультативним аргументом, якщо за
%    цією спеціальністю можливе присудження за різними галузями науки.
%    \begin{macrocode}
\def\speciality{\@ifnextchar[\n@speciality\n@specialitya}
%    \end{macrocode}
%    Якщо задано назву спеціальності, то запам'ятовуємо її\ldots
%    \begin{macrocode}
\def\n@speciality[#1]{%
  \def\@specialityname{#1}%
  \@speciality}
%    \end{macrocode}
%    і далі аналізуємо шифр спеціальності. Тобто назва, схоже, не буде
%    братися з файла, навіть якщо шифр буде знайдено. Справді, навіщо
%    потрібен факультативний аргумент, якщо він перезаписується.
%    \begin{macrocode}
\def\@speciality#1{%
  \@parse@speciality#1.\@nil
  \def\@specialitycode{\@speca.\@specb.\@specc}%
  \@ifnextchar[\ns@speciality\s@specialitya}
%    \end{macrocode}
%    Якщо задано галузь науки, то запам'ятовуємо її. І все, навіть файл
%    читати не будемо.
%    \begin{macrocode}
\def\ns@speciality[#1]{\def\@science{#1}}
%    \end{macrocode}
%    А якщо не задано, доведеться шукати у файлі. І візьмемо те, що
%    після слеша.
%    \begin{macrocode}
\def\s@specialitya{%
  \@find@speciality
  \def\@science{\expandafter\@afterslash\@found\@nil}}
%    \end{macrocode}
%    Нарешті, повертаємося до випадку, коли назву спеціальності не
%    задано.
%    \begin{macrocode}
\def\n@specialitya#1{%
%    \end{macrocode}
%    О, цей код уже був. Як некрасиво! Це я таке понаписував?!
%    \begin{macrocode}
  \@parse@speciality#1.\@nil
  \def\@specialitycode{\@speca.\@specb.\@specc}%
  \@ifnextchar[\s@speciality\ns@specialitya}
%    \end{macrocode}
%    Отже, якщо назву спеціальності не задано, а галузь науки
%    задано\ldots
%    \begin{macrocode}
\def\s@speciality[#1]{%
  \def\@science{#1}%
  \@find@speciality
  \def\@specialityname{\expandafter\@beforeslash\@found\@nil}}
%    \end{macrocode}
%    І якщо ні назву спеціальності, ні галузь науки не задано, то
%    обидві шукаємо у файлі.
%    \begin{macrocode}
\def\ns@specialitya{%
  \@find@speciality
  \def\@specialityname{\expandafter\@beforeslash\@found\@nil}%
  \def\@science{\expandafter\@afterslash\@found\@nil}}
\def\@find@speciality{%
  \findinfile{\specialityfilename}{\@specialitycode}%
  \ifthenelse{\equal{\@found}{}}
%TODO: два повідомлення погано. переписати
  {\def\@found{<\cyrn\cyra\cyrishrt\cyrm\cyre\cyrn\cyru\cyrv\cyra\cyrn\cyrn\cyrya\
     \cyrs\cyrp\cyre\cyrc\cyrii\cyra\cyrl\cyrsftsn\cyrn\cyro\cyrs\cyrt\cyrii>%
     \ClassError{\@classname}{Unknown speciality code (speciality name)}
     {I can not determinate speciality name.\MessageBreak
      Command \protect\speciality\space has two optional arguments. Use them please.}/%
     <\cyrg\cyra\cyrl\cyru\cyrz\cyrsftsn\ \cyrn\cyra\cyru\cyrk>%
     \ClassError{\@classname}{Unknown speciality code (science)}
     {I can not determinate science.\MessageBreak
      Command \protect\speciality\space has two optional arguments. Use them please.}}}
  {\relax}}
\def\@specialitycode{<\cyrsh\cyri\cyrf\cyrr\
  \cyrs\cyrp\cyre\cyrc\cyrii\cyra\cyrl\cyrsftsn\cyrn\cyro\cyrs\cyrt\cyrii>%
  \@nocmdgiven{\speciality}}
\def\@specialityname{%
  <\cyrn\cyra\cyrishrt\cyrm\cyre\cyrn\cyru\cyrv\cyra\cyrn\cyrn\cyrya\
  \cyrs\cyrp\cyre\cyrc\cyrii\cyra\cyrl\cyrsftsn\cyrn\cyro\cyrs\cyrt\cyrii>}
\def\@science{<\cyrg\cyra\cyrl\cyru\cyrz\cyrsftsn\ \cyrn\cyra\cyru\cyrk>}
%    \end{macrocode}
%    Розбиваємо шифр на компоненти. В принципі, це й не потрібно. Це
%    все для того, щоб забрати крапку в кінці, якщо вона є: за
%    допомогою четвертого аргумента. Але що тут розповідати, це відомий
%    спосіб.
%    \begin{macrocode}
\def\@parse@speciality#1.#2.#3.#4\@nil{%
  \def\@speca{#1}%
  \def\@specb{#2}%
  \def\@specc{#3}}
%    \end{macrocode}
%    Нарешті, прийшли до читання файла! Резервуємо новий вхідний потік.
%    \begin{macrocode}
\newread\@specialityfile
\def\findinfile#1#2{%
  \def\@required{#2}%
  \def\@found{}%
%    \end{macrocode}
%    Відкриваємо для читання.
%    \begin{macrocode}
  \openin\@specialityfile #1\relax
  \ifeof\@specialityfile
    \typeout{No file #1.}
  \else
%    \end{macrocode}
%    Якщо файл існує, то дописуємо його до списку файлів (чи щось таке,
%    нецікаво зараз) і читаємо рядок за рядком.
%    \begin{macrocode}
%? призначення цих команд?
    \@addtofilelist{#1}
    \ProvidesFile{#1}[(\@classname)]
    \@readline
  \fi
%    \end{macrocode}
%    Коли закінчили роботу з файлом, закрити треба.
%    \begin{macrocode}
  \closein\@specialityfile}
\def\@readline{%
  \read\@specialityfile to\@currline
  \ifeof\@specialityfile
  \else
%    \end{macrocode}
%    Якщо вдалося прочитати рядок, то застосовуємо до нього |\test|.
%    \begin{macrocode}
    \expandafter\test\@currline\@nil
    \next
  \fi}
%    \end{macrocode}
%    І що ж робить цей |\test|?
%    \begin{macrocode}
\def\test#1\@nil{%
%    \end{macrocode}
%    Якщо все гаразд, то далі знову буде |\@readline|.
%    \begin{macrocode}
  \let\next\@readline
  \def\@temp{#1}%
%    \end{macrocode}
%    Якщо прочитали щось непорожнє\ldots
%    \begin{macrocode}
  \ifx\@temp\@empty \else\@test#1\@nil \fi}
\def\@test#1 #2\@nil{%
%    \end{macrocode}
%    і його перша частина (до пропуска) збігається з тим, що шукали, то
%    на вихід даємо другу частину (після пропуска). І зупиняємося.
%    \begin{macrocode}
  \ifthenelse{\equal{\@required}{#1}}
  {\def\@found{#2}\let\next\relax}
  {}}
%    \end{macrocode}
%    Все просто. Але цікаво, що рекурсія тут використовується.
%    \begin{macrocode}
%TODO: якщо файл спеціальностей чомусь не має слеша, то збій
\def\@beforeslash#1/#2\@nil{#1}
\def\@afterslash#1/#2\@nil{#2}
%    \end{macrocode}
%    А ніяк тут не перевіряється, чи є той слеш, чи немає. Я думаю, це
%    не так страшно, треба уважно файл редагувати. Але колись зроблю,
%    може, перевірку.
% \end{macro}
% \begin{macro}{\udc}
%    Універсальна десяткова класифікація.
%    \begin{macrocode}
\newcommand{\udc}[1]{\def\@udc{#1}}
\def\@udc{<\cyrii\cyrn\cyrd\cyre\cyrk\cyrs\ \CYRU\CYRD\CYRK>}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\institution}
%    Установа, де виконана робота. Місто пишеться на титульній. Для
%    автореферату на обкладинці пишеться місто, де розміщена установи,
%    в якій створена рада.
%    \begin{macrocode}
%<*vakthesis>
%FIXME: institution or institute?
\newcommand{\institution}[2]{%
  \@split@institution#1,,\@nil
  \def\@town{#2}}
%</vakthesis>
%<*vakaref>
\newcommand{\institution}[1]{\@split@institution#1,,\@nil}
%</vakaref>
\def\@split@institution#1,#2,#3\@nil{%
  \def\@institution{#1}%
%FIXME: no transformsentence
  \def\@institution@office{\ignorespaces
  #2}}
\def\@institution{<\CYRN\cyra\cyrz\cyrv\cyra\
  \cyro\cyrr\cyrg\cyra\cyrn\cyrii\cyrz\cyra\cyrc\cyrii\cyryi,\
  \cyrv\ \cyrya\cyrk\cyrii\cyrishrt\
  \cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrn\cyra\
  \cyrd\cyri\cyrs\cyre\cyrr\cyrt\cyra\cyrc\cyrii\cyrya>}
\def\@institution@office{\ignorespaces}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\council}
%    Спеціалізована рада. Знову нестандартне місце для факультативного
%    аргумента і багато випадків. Знову рутина.
%    \begin{macrocode}
%<*vakaref>
%% Синтаксис команди
%% \council{шифр ради}[установа, відомство]{назва установи}{адреса}
%FIXME: council or board or ...?
\newcommand{\council}[1]{\catcode`м=11
  \def\@council@code{#1}%
  \@ifnextchar[\o@council\@council}
\def\o@council[#1,#2]#3#4{%
  \def\@council@institutiont{#1}%
  \def\@council@institutiont@office{#2}%
  \@council{#3}{#4}}
\def\@council#1#2{%
  \def\@council@institution{#1}%
  \def\@council@address{#2}%
  \@extracttown#2\@nil}
\def\@extracttown#1.#2,#3\@nil{%
  \global\def\@town{\ignorespaces
    \@ifnextchar~{\@gobble}{\relax}#2}}
\def\@council@code{<\cyrsh\cyri\cyrf\cyrr\ \cyrr\cyra\cyrd\cyri>}
\def\@council@institution{<\CYRN\cyra\cyrz\cyrv\cyra\ \cyru\cyrs\cyrt\cyra\cyrn\cyro\cyrv\cyri,
  \cyrv\ \cyrya\cyrk\cyrii\cyrishrt\ \cyrs\cyrt\cyrv\cyro\cyrr\cyre\cyrn\cyra\ \cyrr\cyra\cyrd\cyra>}
\def\@council@address{<\cyra\cyrd\cyrr\cyre\cyrs\cyra>}
\newcommand{\secretary}[1]{\def\@secretary{#1}}
%</vakaref>
\def\@town{<\CYRM\cyrii\cyrs\cyrt\cyro>}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\library}
%    Бібліотека, де зберігається дисертація.
%    \begin{macrocode}
%<*vakaref>
%% Синтаксис команди
%% \library{назва}{адреса}
\newcommand{\library}[2]{%
  \def\@library@institution{#1}%
  \def\@library@address{#2}}
\def\@library@institution{}
%    \end{macrocode}
% \end{macro}
%\iffalse
%\def\@gobble@comma#1,{#1}%FIXME: це що?
%\fi
% \begin{macro}{\linstitution}
%    Провідна установа.
%    \begin{macrocode}
%% Синтаксис команди
%% \linstitution{назва, підрозділ, відомство}{місто}
%% або
%% \linstitution{назва, відомство}{місто}
% Без обробки аргумента
\newcommand{\linstitution}[2]{%
  \def\@linstitution{#1}%
  \def\@linstitution@town{#2}}
% Попередня версія: з обробкою аргумента
% \newcommand{\linstitution}[2]{%
%   \edef\@linstitution{\zap@commaspace#1, \@empty}%
%   \expandafter\@split@linstitution\@linstitution\@nil
%   \def\@linstitution@town{#2}}
% \def\@split@linstitution#1,#2,#3\@nil{%
%   \def\@linstitution{#1}%
%   \ifx\relax#2\relax\else\def\@linstitution@dept{#2}\fi
%   \ifx\relax#3\relax\else\def\@linstitution@office{#3}\fi}
% % see latex.ltx \zap@space
% \def\zap@commaspace#1, #2{%
%   #1%
%   \ifx#2\@empty\else,\expandafter\zap@commaspace\fi
%   #2}
% %\def\@linstitution{<\CYRN\cyra\cyrz\cyrv\cyra\
% %  \cyrp\cyrr\cyro\cyrv\cyrii\cyrd\cyrn\cyro\cyryi\
% %  \cyru\cyrs\cyrt\cyra\cyrn\cyro\cyrv\cyri>}
% %\let\@linstitution@town\@town
%</vakaref>
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\date}
%    Дата написання дисертації.
%    \begin{macrocode}
%<*vakthesis>
\def\date#1{\def\@year{#1}}
%</vakthesis>
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\defencedate,\postdate}
%    Дата захисту і дата розсилання автореферату.
%    \begin{macrocode}
%<*vakaref>
%% Синтаксис команди
%% \defencedate{YYYY/MM/DD}{TT:MM}
%% \postdate{YYYY/MM/DD}
\newcommand\defencedate[2]{%
  \@split@date#1\@nil
  \def\@defencedate{#1}%
  \def\@defencetime{#2}}
\def\@split@date#1/#2/#3\@nil{\def\@year{#1}}
\newcommand\postdate[1]{\def\@postdate{#1}}
%\def\typedate#1/#2/#3\@nil{\begingroup
%  \def\year{#1}\def\month{#2}\def\day{#3}\today\endgroup}
%FIXME: correct ukr date: <<??>>
\def\typedate#1/#2/#3\@nil{<<\number#3>>~\ifcase#2\or
  \cyrs\cyrii\cyrch\cyrn\cyrya\or
  \cyrl\cyryu\cyrt\cyro\cyrg\cyro\or
  \cyrb\cyre\cyrr\cyre\cyrz\cyrn\cyrya\or
  \cyrk\cyrv\cyrii\cyrt\cyrn\cyrya\or
  \cyrt\cyrr\cyra\cyrv\cyrn\cyrya\or
  \cyrch\cyre\cyrr\cyrv\cyrn\cyrya\or
  \cyrl\cyri\cyrp\cyrn\cyrya\or
  \cyrs\cyre\cyrr\cyrp\cyrn\cyrya\or
  \cyrv\cyre\cyrr\cyre\cyrs\cyrn\cyrya\or
  \cyrzh\cyro\cyrv\cyrt\cyrn\cyrya\or
  \cyrl\cyri\cyrs\cyrt\cyro\cyrp\cyra\cyrd\cyra\or
  \cyrg\cyrr\cyru\cyrd\cyrn\cyrya\fi
  \space\number#1~\cyrr.}
\def\typedateholder{<<\placeholder[5mm]>>~\placeholder[25mm]\ \@year~\cyrr.}
\def\typetime#1:#2\@nil{#1\ifnum#2=0\ \cyrg\cyro\cyrd\cyri\cyrn\cyrii\else\textsuperscript{#2}\fi}
\def\typetimeholder{\placeholder[5mm]\ \cyrg\cyro\cyrd\cyri\cyrn\cyrii}
%</vakaref>
\def\@year{\the\year}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\secret}
%    Гриф обмеження розповсюдження відомостей: таємно, для службового
%    користування.
%    \begin{macrocode}
%<*vakthesis>
\newcommand\secret[1]{\def\@secret{#1}}
%</vakthesis>
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\manuscript,\monograph}
%    Тип дисертації.
%    \begin{macrocode}
%<*vakaref>
\newcommand\manuscript{\def\@thesistype{\cyrr\cyru\cyrk\cyro\cyrp\cyri\cyrs}}
\newcommand\monograph{\def\@thesistype{\cyrm\cyro\cyrn\cyro\cyrg\cyrr\cyra\cyrf\cyrii\cyrya}}
\manuscript
%</vakaref>
%    \end{macrocode}
% \end{macro}
%    \begin{macrocode}
%<*vakthesis>
%  \if@titlepage
%    \end{macrocode}
% \begin{macro}{\maketitle}
%    Команда, яка генерує титульну сторінку. Але всі дії всередині |\@maketitle|.
%    \begin{macrocode}
  \newcommand\maketitle{\begin{titlepage}%
  \let\footnotesize\small
  \let\footnoterule\relax
  \let \footnote \thanks
%  \null\vfil
%  \vskip 60\p@
%  \begin{center}%
%    {\LARGE \@title \par}%
%    \vskip 3em%
%    {\large
%     \lineskip .75em%
%      \begin{tabular}[t]{c}%
%        \@author
%      \end{tabular}\par}%
%      \vskip 1.5em%
%    {\large \@date \par}%       % Set date in \large size.
%  \end{center}\par
%  \@thanks
%  \vfil\null
  \@maketitle
  \end{titlepage}%
  \setcounter{footnote}{0}%
  \global\let\thanks\relax
  \global\let\maketitle\relax
  \global\let\@thanks\@empty
  \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
}
%\else
%\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
%      \global\@topnum\z@   % Prevents figures from going at top of page.
%      \@maketitle
%    \fi
%    \thispagestyle{plain}\@thanks
%  \endgroup
%  \setcounter{footnote}{0}%
%  \global\let\thanks\relax
%  \global\let\maketitle\relax
%  \global\let\@maketitle\relax
%  \global\let\@thanks\@empty
%  \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
%}
%\def\@maketitle{%
%  \newpage
%  \null
%  \vskip 2em%
%  \begin{center}%
%  \let \footnote \thanks
%    {\LARGE \@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}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\@maketitle}
%    Всю роботу робить |\@maketitle|.
%    \begin{macrocode}
\def\@maketitle{%
  {\scshape
   \@ifundefined{@institution@office}{\relax}{\@institution@office\par}
   \@institution\par}
  \vspace{\stretch{3}}%
  {\raggedleft \@ifundefined{@secret}{}{\@secret\hfill}%
     \CYRN\cyra\ \cyrp\cyrr\cyra\cyrv\cyra\cyrh\
     \cyrr\cyru\cyrk\cyro\cyrp\cyri\cyrs\cyru \par}%
  \vspace{\stretch{2}}%
  {\bfseries\expandafter\emphsurname\@author \par}%
  \vspace{\stretch{2}}%
  {\raggedleft \CYRU\CYRD\CYRK\ \@udc \par}%
  \vspace{\stretch{1}}%
  {\large\bfseries\scshape \@title \par}%
  \vspace{\stretch{2}}%
  \@specialitycode\ --- \@specialityname\par
  \vspace{\stretch{2}}%
  \CYRD\cyri\cyrs\cyre\cyrr\cyrt\cyra\cyrc\cyrii\cyrya\
    \cyrn\cyra\ \cyrz\cyrd\cyro\cyrb\cyru\cyrt\cyrt\cyrya\
    \cyrn\cyra\cyru\cyrk\cyro\cyrv\cyro\cyrg\cyro\
    \cyrs\cyrt\cyru\cyrp\cyre\cyrn\cyrya\
    \degreename\cyra\linebreak[1]%
    \@science\par%?\linebreak[1]%
  \vspace{\stretch{2}}%
  {\raggedleft
   \let\\\@format@person
   \ifx\@supervisors\@empty
%FIXME: зайве? чи вирівнювати?
     \hbox{}\hbox{}\hbox{}
   \else
     \@supervisors@caption\@supervisors\relax
   \fi
   \par}%
  \vspace{\stretch{3}}%
  \@town\ --- \@year}
%\fi
%</vakthesis>
%    \end{macrocode}
% \end{macro}
%    Тепер для класу автореферату.
%    \begin{macrocode}
%<*vakaref>
\newenvironment{listofpersons}[1]
  {\list{#1\hfil}{\topsep0pt\parsep0pt\itemsep.5\parskip
   \ifx\@supervisors\@empty
     \settowidth\@tempdima{#1}%
     \setlength\labelwidth{\@tempdima}%
   \else
     \settowidth\@tempdima{\@supervisors@caption}
     \settowidth\@tempdimb{\@opponents@caption}
     \ifdim\@tempdima>\@tempdimb
       \setlength\labelwidth{\@tempdima}%
     \else
       \setlength\labelwidth{\@tempdimb}%
     \fi
   \fi
   \setlength\leftmargin{\labelwidth}%
   \addtolength\leftmargin{\labelsep}%
   \def\makelabel##1{##1}%
   \def\makephantomlabel##1{\phantom{##1}}}%
   \rightskip\@flushglue% ! нерівний правий край, але при дуже вузькій колонці погано
                        % ? можуть виникати Underfull \hbox
  }
  {\endlist}
\newcommand{\maketitle}{%
    \begin{titlepage}%
    \@ifundefined{@council@institutiont}
      {\let\@council@institutiont\@council@institution}{\relax}%
    \@ifundefined{@council@institutiont@office}
      {\let\@council@institutiont@office\relax}{\relax}%
    \begin{center}%
    \@makecover
    \end{center}%
    \newpage
    \parindent=0pt\relax
%    \parskip=10pt plus 2pt minus 2pt
    \parskip=10pt plus 10pt minus 10pt
    \@makereverse
    \end{titlepage}%
}
\def\@makecover{%
  {\scshape\@council@institutiont@office\par\@council@institutiont\par}
  \vspace{\stretch{3}}%
  {\bfseries\expandafter\emphsurname\@author \par}%
  \vspace{\stretch{2}}%
  {\raggedleft \CYRU\CYRD\CYRK\ \@udc \par}%
  \vspace{\stretch{1}}%
  {\large\bfseries\scshape \@title \par}%
  \vspace{\stretch{2}}%
  \@specialitycode\ --- \@specialityname\par
  \vspace{\stretch{3}}%
  \CYRA\cyrv\cyrt\cyro\cyrr\cyre\cyrf\cyre\cyrr\cyra\cyrt\linebreak[1]%
  \cyrd\cyri\cyrs\cyre\cyrr\cyrt\cyra\cyrc\cyrii\cyryi\
    \cyrn\cyra\ \cyrz\cyrd\cyro\cyrb\cyru\cyrt\cyrt\cyrya\
    \cyrn\cyra\cyru\cyrk\cyro\cyrv\cyro\cyrg\cyro\
    \cyrs\cyrt\cyru\cyrp\cyre\cyrn\cyrya\linebreak[1]%
    \degreename\cyra\ \@science\par%?\linebreak[1]%
  \vspace{\stretch{3}}%
  \@town\ --- \@year}
\def\@makereverse{%
  \CYRD\cyri\cyrs\cyre\cyrr\cyrt\cyra\cyrc\cyrii\cyrie\cyryu\
    \cyrie\ \@thesistype.\par
  \CYRR\cyro\cyrb\cyro\cyrt\cyra\
    \cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrn\cyra\ \cyrv\
    \transformsentence{L}{\@institution}
%TODO: casus
%FIXME: no transformsentence
%    \@ifundefined{@institution@office}{\relax}{\ \
%    \transformsentence{G}\expandafter{\@institution@office }}%
%    \@ifundefined{@institution@office}{\let\@institution@office\relax}{\relax}%
    \if\@institution@office\ignorespaces
    \else\
    \transformsentence{G}{\@institution@office}
    \fi
    .\par
  {\let\\\@format@person
   \ifx\@supervisors\@empty
   \else
     \begin{listofpersons}{\@supervisors@caption}
       \@supervisors\relax
     \end{listofpersons}
   \fi
   \begin{listofpersons}{\@opponents@caption}
     \@opponents\relax
   \end{listofpersons}}%
% Без обробки аргумента
  \@ifundefined{@linstitution}{}{%
    \CYRP\cyrr\cyro\cyrv\cyrii\cyrd\cyrn\cyra\ \cyru\cyrs\cyrt\cyra\cyrn\cyro\cyrv\cyra:\
    \@linstitution, \@linstitution@town.\par}
% Попередня версія: з обробкою аргумента
%   \@ifundefined{@linstitution}{}{%
%     \CYRP\cyrr\cyro\cyrv\cyrii\cyrd\cyrn\cyra\ \cyru\cyrs\cyrt\cyra\cyrn\cyro\cyrv\cyra:\
%     \@linstitution
%     \@ifundefined{@linstitution@dept}{}{, \@linstitution@dept}%
%     \@ifundefined{@linstitution@office}{}{, \@linstitution@office}%
%     , \@linstitution@town.\par}
  \vfill%\vspace{30pt plus 30pt minus 30pt}%
  \CYRZ\cyra\cyrh\cyri\cyrs\cyrt\
    \cyrv\cyrii\cyrd\cyrb\cyru\cyrd\cyre\cyrt\cyrsftsn\cyrs\cyrya\
    \@ifundefined{@defencedate}{\typedateholder}
      {\expandafter\typedate\@defencedate\@nil}%
    \ \cyro\
    \@ifundefined{@defencetime}{\typetimeholder}
      {\expandafter\typetime\@defencetime\@nil}%
\ \cyrn\cyra\ \cyrz\cyra\cyrs\cyrii\cyrd\cyra\cyrn\cyrn\cyrii\
    \cyrs\cyrp\cyre\cyrc\cyrii\cyra\cyrl\cyrii\cyrz\cyro\cyrv\cyra\cyrn\cyro\cyryi\
    \cyrv\cyrch\cyre\cyrn\cyro\cyryi\ \cyrr\cyra\cyrd\cyri\
    \@council@code\ \transformsentence{G}{\@council@institution}
    \ \cyrz\cyra\ \cyra\cyrd\cyrr\cyre\cyrs\cyro\cyryu:
    \@council@address.\par
  \vfil%\smallskip
  \ifx\@library@institution\@empty
    \let\@library@institution\@council@institution
  \fi
  \CYRZ\ \cyrd\cyri\cyrs\cyre\cyrr\cyrt\cyra\cyrc\cyrii\cyrie\cyryu\
    \cyrm\cyro\cyrzh\cyrn\cyra\
    \cyro\cyrz\cyrn\cyra\cyrishrt\cyro\cyrm\cyri\cyrt\cyri\cyrs\cyrsftsn\
    \cyru\ \cyrb\cyrii\cyrb\cyrl\cyrii\cyro\cyrt\cyre\cyrc\cyrii\
    \transformsentence{G}{\@library@institution}
    \@ifundefined{@library@address}{.\par}
      {\ \cyrz\cyra\ \cyra\cyrd\cyrr\cyre\cyrs\cyro\cyryu:
       \@library@address.\par}
  \vfill%\vspace{10pt plus 10pt minus 10pt}%
  \CYRA\cyrv\cyrt\cyro\cyrr\cyre\cyrf\cyre\cyrr\cyra\cyrt\
    \cyrr\cyro\cyrz\cyrii\cyrs\cyrl\cyra\cyrn\cyri\cyrishrt\
    \@ifundefined{@postdate}{\typedateholder}
      {\expandafter\typedate\@postdate\@nil}\par
  \vfill%\vspace{20pt plus 20pt minus 20pt}%
  \CYRU\cyrch\cyre\cyrn\cyri\cyrishrt\
  \cyrs\cyre\cyrk\cyrr\cyre\cyrt\cyra\cyrr\newline
  \cyrs\cyrp\cyre\cyrc\cyrii\cyra\cyrl\cyrii\cyrz\cyro\cyrv\cyra\cyrn\cyro\cyryi\
  \cyrv\cyrch\cyre\cyrn\cyro\cyryi\ \cyrr\cyra\cyrd\cyri\hfill
  %\placeholder{\cyrp\cyrii\cyrd\cyrp\cyri\cyrs}\quad
  \@secretary\par}
%</vakaref>
\def\@supervisors@caption{%
  \ifnum\value{@supervisors@count}>1
    \manysupervisorsname:%
  \else
%<*vakthesis>
    \onesupervisorname
%</vakthesis>
%<*vakaref>
    \onesupervisorname:% символ : додано на вимогу спецради
%</vakaref>
  \fi}
%<*vakaref>
\def\@opponents@caption{%
  \ifnum\value{@opponents@count}>1
    \manyopponentsname:%
  \else
    \oneopponentname:% символ : додано за аналогією з наук. кер.
  \fi}
%</vakaref>
%<*vakthesis>
\def\@format@person#1#2{\linebreak[4]%
  \textbf{#1}, \linebreak[1]\@@format@person#2,,\@nil
  \futurelet\next\@delimit@person}
\def\@@format@person#1,#2,#3\@nil{#1%
  \if\relax#2\relax\else, \linebreak[0]#2\fi}
\def\@delimit@person{\ifx\relax\next\else,\fi}
%</vakthesis>
%<*vakaref>
\def\@format@person#1#2#3{\item
  \@@format@person#2\newline \textbf{#1},\newline
  \@@format@person#3\let\makelabel\makephantomlabel
  \futurelet\next\@delimit@person}
\def\@@format@person#1,#2{#1, #2}
\def\@delimit@person{\ifx\relax\next.\else;\fi}
%</vakaref>
\def\emphsurname#1 #2{\textsc{#1} #2}
%    \end{macrocode}
%    З титульною сторінкою покінчили. Пора братися за серйозні речі.
%
%
% \subsection{Команди секціонування}
%
%    \begin{macrocode}
\newcommand*\chaptermark[1]{}
%<vakthesis>\setcounter{secnumdepth}{3}
%<*vakaref>
\setcounter{secnumdepth}{-2}
\newcounter {part}
%</vakaref>
\newcounter {chapter}
\newcounter {section}[chapter]
\newcounter {subsection}[section]
\newcounter {subsubsection}[subsection]
\newcounter {paragraph}[subsubsection]
\newcounter {subparagraph}[paragraph]
%<vakaref>\renewcommand \thepart {\@Roman\c@part}
\renewcommand \thechapter {\@arabic\c@chapter}
\renewcommand \thesection {\thechapter.\@arabic\c@section}
\renewcommand\thesubsection   {\thesection.\@arabic\c@subsection}
\renewcommand\thesubsubsection{\thesubsection .\@arabic\c@subsubsection}
\renewcommand\theparagraph    {\thesubsubsection.\@arabic\c@paragraph}
\renewcommand\thesubparagraph {\theparagraph.\@arabic\c@subparagraph}
\newcommand\@chapapp{\chaptername}
\let\@make@chapapp\MakeUppercase
% лише для дисертації
%% Переозначення деяких команд секціонування
%% (означених в report.cls і latex.ltx)
%<*vakaref>
\newcommand\part{%
%  \if@openright
%    \cleardoublepage
%  \else
%    \clearpage
%  \fi
%  \thispagestyle{plain}%
%  \if@twocolumn
%    \onecolumn
%    \@tempswatrue
%  \else
%    \@tempswafalse
%  \fi
%  \null\vfil
  \secdef\@part\@spart}
\def\@part[#1]#2{%
    \ifnum \c@secnumdepth >-2\relax
      \refstepcounter{part}%
      \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
    \else
      \addcontentsline{toc}{part}{#1}%
    \fi
% потрібно для драфт-поміток у режимі чорновика
    \markboth{#1}{#1}%
    \vskip 10\p@
    {\centering
     \interlinepenalty \@M
     \normalfont
     \ifnum \c@secnumdepth >-2\relax
       \normalsize\bfseries \MakeUppercase{\partname}\nobreakspace\thepart
       \par
%       \vskip 20\p@
     \fi
     \normalsize \bfseries \MakeUppercase{#2}\par
     \vskip 5\p@}%
%    \@endpart}
}
\def\@spart#1{%
    \addcontentsline{toc}{part}{#1}%
    \markboth{#1}{#1}%
    \vskip 10\p@
    {\centering
     \interlinepenalty \@M
     \normalfont
     \normalsize \bfseries \MakeUppercase{#1}\par
     \vskip 5\p@}%
%    \@endpart}
}
%\def\@endpart{\vfil\newpage
%              \if@twoside
%               \if@openright
%                \null
%                \thispagestyle{empty}%
%                \newpage
%               \fi
%              \fi
%              \if@tempswa
%                \twocolumn
%              \fi}
%</vakaref>
%<*vakthesis>
\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
                    \thispagestyle{plain}%
                    \global\@topnum\z@
                    \@afterindenttrue
                    \secdef\@chapter\@schapter}
\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
                         \refstepcounter{chapter}%
                         \typeout{\@chapapp\space\thechapter.}%
                         \addcontentsline{toc}{chapter}%
                                   {\protect\numberline{\thechapter}#1}%
                    \else
                      \addcontentsline{toc}{chapter}{#1}%
                    \fi
                    \chaptermark{#1}%
                    \addtocontents{lof}{\protect\addvspace{10\p@}}%
                    \addtocontents{lot}{\protect\addvspace{10\p@}}%
                    \if@twocolumn
                      \@topnewpage[\@makechapterhead{#2}]%
                    \else
                      \@makechapterhead{#2}%
                      \@afterheading
                    \fi}
\def\@makechapterhead#1{%
  \vspace*{10\p@}%
  {\centering \normalfont
    \ifnum \c@secnumdepth >\m@ne
        \normalsize\bfseries \@make@chapapp{\@chapapp}\space \thechapter
        \par\nobreak
        \vskip 10\p@
    \fi
    \interlinepenalty\@M
    \normalsize \bfseries \@make@chapapp{#1}\par\nobreak
    \vskip 40\p@
  }}
\def\@schapter#1{\addcontentsline{toc}{chapter}{#1}%
                 \chaptermark{#1}%
%% Команда \chapter* тепер додає свій аргумент в toc
%% %FIXME: Але це не працює з пакетом hyperref / from previous version
%% Він сам переозначає ці команди
                 \addtocontents{lof}{\protect\addvspace{10\p@}}%
                 \addtocontents{lot}{\protect\addvspace{10\p@}}%
                 \if@twocolumn
                   \@topnewpage[\@makeschapterhead{#1}]%
                 \else
                   \@makeschapterhead{#1}%
                   \@afterheading
                 \fi}
\def\@makeschapterhead#1{%
  \vspace*{10\p@}%
  {\centering
    \normalfont
    \interlinepenalty\@M
    \normalsize \bfseries \MakeUppercase{#1}\par\nobreak
    \vskip 40\p@
  }}
\newcommand\section{\@startsection {section}{1}{\parindent}%
                                   {3.5ex \@plus 1ex \@minus .2ex}%
                                   {2.3ex \@plus.2ex}%
                                   {\normalfont\normalsize\bfseries
                                    \rightskip\@flushglue}}
\newcommand\subsection{\@startsection{subsection}{2}{\parindent}%
                                     {2.5ex\@plus 1ex \@minus .2ex}%
                                     {-1em \@plus -.1em}%
                                     {\normalfont\normalsize\bfseries}}
\newcommand\subsubsection{\@startsection{subsubsection}{3}{\parindent}%
                                     {1.5ex\@plus 1ex \@minus .2ex}%
                                     {-1em \@plus -.1em}%
                                     {\normalfont\normalsize\bfseries}}
%</vakthesis>
\newcommand\paragraph{\@startsection{paragraph}{4}{\parindent}%
%<vakthesis>                                    {1ex \@plus1ex \@minus.2ex}%
% попередня версія {1ex \@plus.4ex \@minus.1ex}%
%<vakaref>                                    {.5ex \@plus.5ex \@minus.1ex}%
%                                    {-1em \@plus -.1em}%
                                    {-1em}% експеримент
                                    {\normalfont\normalsize\bfseries}}
\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
%<vakthesis>                                       {.5ex \@plus.5ex \@minus.1ex}%
%<vakaref>                                       {.25ex \@plus.25ex \@minus.05ex}%
%                                       {-1em \@plus -.1em}%
                                       {-1em}% експеримент
                                      {\normalfont\normalsize\itshape}}
%% означено в latex.ltx
\def\@startsection#1#2#3#4#5#6{%
  \if@noskipsec \leavevmode \fi
  \par
  \@tempskipa #4\relax
  \@afterindenttrue
  \ifdim \@tempskipa <\z@
    \@tempskipa -\@tempskipa \@afterindentfalse
  \fi
  \if@nobreak
    \everypar{}%
  \else
    \addpenalty\@secpenalty\addvspace\@tempskipa
  \fi
  \@ifstar
    {\@ssect{#1}{#3}{#4}{#5}{#6}}%
%           ~~~~ потрібно для toc
    {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
\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{\csname the#1\endcsname}%
      \fi
      #7}%
  \else
    \def\@svsechd{%
      #6{\hskip #3\relax
      \@svsec #8\@addpunct{.}\@nopunctnoskip{#5}}% крапка після заголовка у підбір. команда з amsgen. перевіряти? немає пропуска, якщо немає знаків пунктуації
      \csname #1mark\endcsname{#7}%
      \addcontentsline{toc}{#1}{%
        \ifnum #2>\c@secnumdepth \else
          \protect\numberline{\csname the#1\endcsname}%
        \fi
        #7}}%
  \fi
  \@xsect{#5}}
\def\@seccntformat#1{\csname the#1\endcsname.\enskip}
\def\@ssect#1#2#3#4#5#6{%
%          ~~ потрібно для toc
  \@tempskipa #4\relax
  \ifdim \@tempskipa>\z@
    \begingroup
      #5{%
        \@hangfrom{\hskip #2}%
          \interlinepenalty \@M #6\@@par}%
    \endgroup
    \csname #1mark\endcsname{#6}%
    \addcontentsline{toc}{#1}{#6}%
  \else
    \def\@svsechd{#5{\hskip #2\relax #6\@addpunct{.}\@nopunctnoskip{#4}}%
      \csname #1mark\endcsname{#6}%
      \addcontentsline{toc}{#1}{#6}}%
  \fi
  \@xsect{#4}}
%\def\@nopunctnoskip#1{\ \ifnum\spacefactor=1007 \hskip#1\fi}
\def\@nopunctnoskip#1{\ifnum\spacefactor=1007 \ \hskip#1\fi}
%    \end{macrocode}
%
%
% \subsection{Різні корисні оточення}
%
%    \begin{macrocode}
\if@twocolumn
  \setlength\leftmargini  {2em}
\else
  \setlength\leftmargini  {2.5em}
\fi
\leftmargin  \leftmargini
\setlength\leftmarginii  {2.2em}
\setlength\leftmarginiii {1.87em}
\setlength\leftmarginiv  {1.7em}
\if@twocolumn
  \setlength\leftmarginv  {.5em}
  \setlength\leftmarginvi {.5em}
\else
  \setlength\leftmarginv  {1em}
  \setlength\leftmarginvi {1em}
\fi
\setlength  \labelsep  {.5em}
\setlength  \labelwidth{\leftmargini}
\addtolength\labelwidth{-\labelsep}
\@beginparpenalty -\@lowpenalty
\@endparpenalty   -\@lowpenalty
\@itempenalty     -\@lowpenalty
\renewcommand\theenumi{\@arabic\c@enumi}
\renewcommand\theenumii{\@alph\c@enumii}
\renewcommand\theenumiii{\@roman\c@enumiii}
\renewcommand\theenumiv{\@Alph\c@enumiv}
\newcommand\labelenumi{\theenumi.}
\newcommand\labelenumii{(\theenumii)}
\newcommand\labelenumiii{\theenumiii.}
\newcommand\labelenumiv{\theenumiv.}
\renewcommand\p@enumii{\theenumi}
\renewcommand\p@enumiii{\theenumi(\theenumii)}
\renewcommand\p@enumiv{\p@enumiii\theenumiii}
\newcommand\labelitemi{\textbullet}
\newcommand\labelitemii{\normalfont\bfseries \textendash}
\newcommand\labelitemiii{\textasteriskcentered}
\newcommand\labelitemiv{\textperiodcentered}
\newenvironment{description}
               {\list{}{\labelwidth\z@ \itemindent-\leftmargin
                        \let\makelabel\descriptionlabel}}
               {\endlist}
\newcommand*\descriptionlabel[1]{\hspace\labelsep
                                \normalfont\bfseries #1}
%FIXME: перенести цей код нижче
\AtBeginDocument{%
  \@ifpackageloaded{enumerate}{%
    \def\@@enum@[#1]{%
      \@enLab{}\let\@enThe\@enQmark
      \@enloop#1\@enum@
      \ifx\@enThe\@enQmark\@warning{The counter will not be printed.%
       ^^J\space\@spaces\@spaces\@spaces The label is: \the\@enLab}\fi
      \expandafter\edef\csname label\@enumctr\endcsname{\the\@enLab}%
      \expandafter\let\csname the\@enumctr\endcsname\@enThe
      \csname c@\@enumctr\endcsname7
%      \expandafter\settowidth
%                \csname leftmargin\romannumeral\@enumdepth\endcsname
%                {\the\@enLab\hspace{\labelsep}}%
      \@enum@}%
    \def\@enum@{\list{\csname label\@enumctr\endcsname}%
               {\usecounter{\@enumctr}\def\makelabel##1{\hss\llap{\upshape##1}}}}%
  }{%
    \def\enumerate{%
      \ifnum \@enumdepth >\thr@@\@toodeep\else
        \advance\@enumdepth\@ne
        \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
          \expandafter
          \list
            \csname label\@enumctr\endcsname
            {\usecounter\@enumctr\def\makelabel##1{\hss\llap{\upshape##1}}}%
      \fi}
  }%
}
%FIXME: list skips modification. dirty
%<*vakthesis>
\setlength\partopsep{\z@}
\def\@listi{\leftmargin\leftmargini
            \parsep  \z@ \@plus1\p@
            \topsep  \z@ \@plus1\p@
            \itemsep \z@}
\let\@listI\@listi
\@listi
\def\@listii {\leftmargin\leftmarginii
              \labelwidth\leftmarginii
              \advance\labelwidth-\labelsep
              \topsep  \z@ \@plus1\p@
              \parsep  \z@ \@plus1\p@
              \itemsep \z@}
\def\@listiii{\leftmargin\leftmarginiii
              \labelwidth\leftmarginiii
              \advance\labelwidth-\labelsep
              \topsep    \z@ \@plus1\p@
              \parsep    \z@
              \partopsep \p@ \@plus\z@ \@minus\p@
              \itemsep   \z@}
%</vakthesis>
%<*vakaref>
\setlength\partopsep{\z@}
\def\@listi{\leftmargin\leftmargini
            \parsep  \z@ \@plus1\p@
%            \topsep  4\p@ \@plus1\p@ \@minus2\p@
            \topsep  1\p@ \@plus.25\p@ \@minus.5\p@
            \partopsep \p@ \@plus\z@ \@minus\p@
            \itemsep \z@ \@plus1\p@}
\let\@listI\@listi
\@listi
\def\@listii {\leftmargin\leftmarginii
              \labelwidth\leftmarginii
              \advance\labelwidth-\labelsep
%              \topsep  \z@ \@plus1\p@
              \parsep  \z@ \@plus1\p@
              \itemsep \z@ \@plus1\p@}
\def\@listiii{\leftmargin\leftmarginiii
              \labelwidth\leftmarginiii
              \advance\labelwidth-\labelsep
%              \topsep    \z@ \@plus1\p@
              \parsep    \z@ \@plus1\p@
              \partopsep \p@ \@plus\z@ \@minus\p@
              \itemsep   \z@ \@plus1\p@}
%</vakaref>
\if@titlepage
  \newenvironment{abstract}{%
      \titlepage
      \null\vfil
      \@beginparpenalty\@lowpenalty
      \begin{center}%
        \bfseries \abstractname
        \@endparpenalty\@M
      \end{center}}%
     {\par\vfil\null\endtitlepage}
\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
\newenvironment{verse}
               {\let\\\@centercr
                \list{}{\itemsep      \z@
                        \itemindent   -1.5em%
                        \listparindent\itemindent
                        \rightmargin  \leftmargin
                        \advance\leftmargin 1.5em}%
                \item\relax}
               {\endlist}
\newenvironment{quotation}
               {\list{}{\listparindent 1.5em%
                        \itemindent    \listparindent
                        \rightmargin   \leftmargin
                        \parsep        \z@ \@plus\p@}%
                \item\relax}
               {\endlist}
\newenvironment{quote}
               {\list{}{\rightmargin\leftmargin}%
                \item\relax}
               {\endlist}
%\if@compatibility
%\newenvironment{titlepage}
%    {%
%      \if@twocolumn
%        \@restonecoltrue\onecolumn
%      \else
%        \@restonecolfalse\newpage
%      \fi
%      \thispagestyle{empty}%
%      \setcounter{page}\z@
%    }%
%    {\if@restonecol\twocolumn \else \newpage \fi
%    }
%\else
%\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
%    }
%\fi
\if@titlepage
  \newenvironment{titlepage}
    {\newpage
     \pagestyle{empty}%
%<*vakthesis>
     \setcounter{page}{1}%
     \begin{center}}%
    {\end{center}%
     \newpage}
%</vakthesis>
%<*vakaref>
     \setcounter{page}{1}}%
    {\newpage
     \setcounter{page}{1}}
%</vakaref>
\else
  \renewcommand\maketitle{\newpage
%<vakthesis>    \setcounter{page}{2}%
%<vakaref>    \setcounter{page}{1}%
  }%
  \newenvironment{titlepage}
    {\maketitle
     \comment}%
    {\endcomment}
\fi
%    \end{macrocode}
% \iffalse
% Це оточення |comment| "--- небезпечна штука! Задача була така.
% Опція |notitlepage| повинна <<ховати>> титульну сторінку, але
% зберігати нумерацію сторінок. Просто переозначити |\maketitle| не
% можна, бо користувач може використовувати замість неї оточення
% |titlepage|. Оскільки воно використовується всередині
% |\maketitle|, я вирішив замінити його оточенням |comment|.
% Звичайно, почитав документацію до пакета \pkg{verbatim}, де ясно
% сказано, що підстановку зробити можна, але не можна
% використовувати |\begin|, |\end|. Тобто потрібно писати |\comment|
% та |\endcomment|. Все наче працювало. Аж поки я не вирішив
% почистити трохи приклад файла дисертації, що я використовував для
% тестування. І раптом опція |notitlepage| перестала працювати! На
% команді |\maketitle| зупиняється:
% \begin{verbatim}
% Runaway argument? ! File ended while scanning use of \next.
%\end{verbatim}
% Випадково наткнувся на розв'язання, коли перевіряв, чи є така ж
% проблема з оточенням |titlepage|. Виявилося, якщо написати
% |%\end{titlepage}| після |\maketitle|, або навіть
% |\end{titlepage}| (явна синтаксична помилка, бо відповідного
% |\begin{titlepage}| немає), то компілюється без проблем. Я не міг
% у це повірити! Але відповідь проста: оточення |comment| не можна
% використовувати всередині команд користувача. У моєму випадку
% команда |\maketitle| містила оточення |titlepage|, яке було
% переозначене в |comment|. А тому алгоритм не міг знайти справжній
% кінець оточення |comment|. І в документації це написано, я
% неуважно перший раз читав. А в мене виклик оточення |titlepage| у
% файлі-прикладі дуже довго лежав закоментований і проблему
% приховував. Як почав файл чистити, воно й вилізло. Уважніше треба
% документацію читати!
% \fi
%    \begin{macrocode}
%<*vakthesis>
\newcommand\appendix{\par
  \setcounter{chapter}{0}%
  \setcounter{section}{0}%
  \gdef\@chapapp{\appendixname}%
  \gdef\thechapter{\@lost@Asbuk\c@chapter}%
  \let\@make@chapapp\relax
%  \let\@makechapterhead\@makeappendixhead
  \immediate\write\@auxout{\string\@toc@appendices{\thepage}}%
%  \addcontentsline{toc}{chapter}{\CYRD\cyro\cyrd\cyra\cyrt\cyrk\cyri}}
%  \addtocontents{toc}{\setcounter{tocdepth}{-1}}
}
%TODO: Які літери заборонені в ДСТУ 3008-95 <<Документація. Звіти у сфері науки і техніки. Структура і правила оформлення>>?
\def\@lost@Asbuk#1{\ifcase#1\or
  \CYRA\or\CYRB\or\CYRV\or\CYRG\or\CYRD\or\CYRE\or%\CYRIE\or
  \CYRZH\or\CYRZ\or\CYRI\or%\CYRII\or\CYRYI\or\CYRISHRT\or
  \CYRK\or\CYRL\or\CYRM\or\CYRN\or%\CYRO\or
  \CYRP\or\CYRR\or
  \CYRS\or\CYRT\or\CYRU\or\CYRF\or\CYRH\or\CYRC\or%\CYRCH\or
  \CYRSH\or\CYRSHCH\or\CYRYU\or\CYRYA\else\@ctrerr\fi}
\def\@toc@appendices#1{%
  \@writefile{toc}{\contentsline{chapter}{\CYRD\cyro\cyrd\cyra\cyrt\cyrk\cyri}{#1}}
  \@writefile{toc}{\global\c@tocdepth-1\relax}}
%</vakthesis>
\setlength\arraycolsep{5\p@}
\setlength\tabcolsep{6\p@}
\setlength\arrayrulewidth{.4\p@}
\setlength\doublerulesep{2\p@}
\setlength\tabbingsep{\labelsep}
\skip\@mpfootins = \skip\footins
\setlength\fboxsep{3\p@}
\setlength\fboxrule{.4\p@}
\@addtoreset {equation}{chapter}
\renewcommand\theequation
  {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@equation}
\newcounter{figure}[chapter]
\renewcommand \thefigure
     {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@figure}
\def\fps@figure{tbp}
\def\ftype@figure{1}
\def\ext@figure{lof}
\def\fnum@figure{\figurename\nobreakspace\thefigure}
\newenvironment{figure}
               {\@float{figure}}
               {\end@float}
\newenvironment{figure*}
               {\@dblfloat{figure}}
               {\end@dblfloat}
\newcounter{table}[chapter]
\renewcommand \thetable
     {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@table}
\def\fps@table{tbp}
\def\ftype@table{2}
\def\ext@table{lot}
\def\fnum@table{\tablename\nobreakspace\thetable}
\newenvironment{table}
               {\let\@makecaption\@maketablecaption
                \@float{table}}
               {\end@float}
\newenvironment{table*}
               {\@dblfloat{table}}
               {\end@dblfloat}
\newlength\abovecaptionskip
\newlength\belowcaptionskip
\setlength\abovecaptionskip{10\p@}
\setlength\belowcaptionskip{0\p@}
%% Підписи до малюнків Рис. 1.1  Назва
%% ідею \CaptionSeparator запозичено з frenchb.ldf / тепер там по-іншому?
\AtBeginDocument{\def\CaptionSeparator{\string.\space}}
\long\def\@makecaption#1#2{%
  \vskip\abovecaptionskip
  \sbox\@tempboxa{#1\CaptionSeparator #2}%
  \ifdim \wd\@tempboxa >\hsize
    #1\CaptionSeparator #2\par
  \else
    \global \@minipagefalse
    \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
  \fi
  \vskip\belowcaptionskip}
\long\def\@maketablecaption#1#2{%
  \vskip\belowcaptionskip
  \raggedleft#1\par
  \sbox\@tempboxa{#2}%
  \ifdim \wd\@tempboxa >\hsize
    \centering#2\par
  \else
    \global \@minipagefalse
    \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
  \fi
  \vskip\abovecaptionskip}
%FIXME: перенести цей код нижче
\AtBeginDocument{%
  \@ifpackageloaded{longtable}{%
    \let\@savlongtable\longtable
    \def\longtable{%
      \setlength\LTcapwidth\hsize
      \@savlongtable}%
    \def\LT@makecaption#1#2#3{%
      \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{\normalsize
        \raggedleft#1{#2}\par
        \sbox\@tempboxa{#3}%
        \ifdim\wd\@tempboxa>\hsize
          \centering#3%
        \else
          \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
        \fi
%FIXME: other skip?
        \endgraf\vskip.5\baselineskip}%
      \hss}}}%
  }{}
%FIXME: is it correct?
  \@ifpackageloaded{float}{%
    \renewcommand\floatc@plain[2]{\setbox\@tempboxa\hbox{{\@fs@cfont #1\CaptionSeparator}#2}%
      \ifdim\wd\@tempboxa>\hsize {\@fs@cfont #1\CaptionSeparator}#2\par
        \else\hbox to\hsize{\hfil\box\@tempboxa\hfil}\fi}%
  }{}
}
\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}
\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
\newcommand\@pnumwidth{1.55em}
\newcommand\@tocrmarg{2.55em}
\newcommand\@dotsep{4.5}
%<vakthesis>\setcounter{tocdepth}{2}
%<vakaref>\setcounter{tocdepth}{-1}
\newcommand\tableofcontents{%
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
    \@tocheader{\contentsname %% Замість \chapter*
        \@mkboth{%
           \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
% про всяк випадок \\ замінити пропуском
    \let\\\@tocdblbs
    \@starttoc{toc}%
    \if@restonecol\twocolumn\fi
    }
\newcommand\@tocheader[1]{\if@openright\cleardoublepage\else\clearpage\fi
                    \thispagestyle{plain}%
                    \global\@topnum\z@
                    \@afterindentfalse
%                    \secdef\@chapter\@schapter
%<*vakthesis>
                    \if@twocolumn
                      \@topnewpage[\@makeschapterhead{#1}]%
                    \else
                      \@makeschapterhead{#1}%
                      \@afterheading
                    \fi
%</vakthesis>
%<*vakaref>
                    \vskip 10\p@
                    {\centering
                     \interlinepenalty \@M
                     \normalfont
                     \normalsize \bfseries \MakeUppercase{#1}\par
                     \vskip 5\p@}%
%</vakaref>
}
\def\@tocdblbs{\unskip\ \@ifstar\@xtocdblbs\@xtocdblbs}
\def\@xtocdblbs{\@ifnextchar[\@gobble@oparg\ignorespaces}
\def\@gobble@oparg[#1]{\ignorespaces}
%<*vakaref>
\newcommand*\l@part[2]{%
  \ifnum \c@tocdepth >-2\relax
    \addpenalty{-\@highpenalty}%
    \addvspace{.25em \@plus.1pt}%
    \setlength\@tempdima{3em}%
    \begingroup
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      {\leavevmode
       #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par
       \nobreak
         \global\@nobreaktrue
         \everypar{\global\@nobreakfalse\everypar{}}%
    \endgroup
  \fi}
%</vakaref>
%<*vakthesis>
\newcommand*\l@chapter[2]{%
  \ifnum \c@tocdepth >\m@ne
    \addpenalty{-\@highpenalty}%
    \vskip .5em \@plus.1pt
    \setlength\@tempdima{1.5em}%
    \begingroup
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      \leavevmode \bfseries
      \advance\leftskip\@tempdima
      \hskip -\leftskip
      #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
      \penalty\@highpenalty
    \endgroup
  \fi}
\newcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}}
\newcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}}
\newcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
%</vakthesis>
\newcommand*\l@paragraph{\@dottedtocline{4}{10em}{5em}}
\newcommand*\l@subparagraph{\@dottedtocline{5}{12em}{6em}}
\newcommand\listoffigures{%
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
    \chapter*{\listfigurename}%
      \@mkboth{\MakeUppercase\listfigurename}%
              {\MakeUppercase\listfigurename}%
    \@starttoc{lof}%
    \if@restonecol\twocolumn\fi
    }
\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
\newcommand\listoftables{%
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
    \chapter*{\listtablename}%
      \@mkboth{%
          \MakeUppercase\listtablename}%
         {\MakeUppercase\listtablename}%
    \@starttoc{lot}%
    \if@restonecol\twocolumn\fi
    }
\let\l@table\l@figure
%% означено в latex.ltx
% крапка після номера в ток
\def\numberline#1{\hb@xt@\@tempdima{#1.\hfil}}
\newdimen\bibindent
\setlength\bibindent{1.5em}
%% Означено в latex.ltx
\def\bibliographystyle#1{%
  \ifx\@begindocumenthook\@undefined\else
    \expandafter\AtBeginDocument
  \fi
    {\if@filesw
       \immediate\write\@auxout{\string\bibstyle{#1}}%
     \fi}%
  \ifthenelse
  {\equal{#1}{plain}\or\equal{#1}{unsrt}\or\equal{#1}{abbrv}\or
   \equal{#1}{amsplain}\or
   \equal{#1}{gost71s}\or\equal{#1}{gost71u}\or\equal{#1}{gost780s}\or\equal{#1}{gost780u}
%FIXME: temporarily
   \equal{#1}{my_gost71s}}
  {\def\@biblabel##1{##1.}}
  {\def\@biblabel##1{[##1]}}}
\def\@biblabel#1{#1.}
%<*vakthesis>
%% Два списки літератури: Список використаних джерел
%%                        Список публікацій автора
%% \@bibmark --- мітка, яка з'являється біля номера (мітки) у
%% списку літератури і в посиланнях
\def\@bibmark{}
%</vakthesis>
\newenvironment{thebibliography}[1]
%<vakthesis>     {\chapter*{\bibname}%
%<vakaref>     {\part{\bibname}%
      \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}%
%<*vakthesis>
      \list{\@biblabel{\@arabic\c@enumiv\@bibmark}}%
           {\settowidth\labelwidth{\@biblabel{#1\@bibmark}}%
%</vakthesis>
%<*vakaref>
      \list{\@biblabel{\@arabic\c@enumiv}}%
           {\settowidth\labelwidth{\@biblabel{#1}}%
%</vakaref>
            \leftmargin\labelwidth
            \advance\leftmargin\labelsep
            \@openbib@code
            \usecounter{enumiv}%
            \let\p@enumiv\@empty
%<vakthesis>            \renewcommand\theenumiv{\@arabic\c@enumiv\@bibmark}}%
%<vakaref>            \renewcommand\theenumiv{\@arabic\c@enumiv}}%
      \sloppy
% 1000 for pll
      \clubpenalty4000
      \@clubpenalty \clubpenalty
      \widowpenalty4000%
%      \sfcode`\.\@m
     }
     {\def\@noitemerr
       {\@latex@warning{Empty `thebibliography' environment}}%
      \endlist}
%<*vakthesis>
\newcounter{needbibset}
\setcounter{needbibset}{1}
\newcounter{currbibset}
%% Синтаксис
%% \begin{bibset}[<мітка1>]{<Назва1>}
%% \bibliographystyle{<стиль>}
%% \bibliography{<.bib-файл>}
%% \end{bibset}
%% \begin{bibset}[<мітка2>]{<Назва2>}
%% \bibliographystyle{<стиль>}
%% \bibliography{<.bib-файл>}
%% \end{bibset}
\newenvironment{bibset}[2][]
  {\stepcounter{currbibset}%
   \def\@temp{#1}%
   \ifx\@temp\@empty
     \def\@bibmark{\relax}%FIXME: \def\@bibmark{} не працює
   \else
     \def\@bibmark{\textsuperscript{#1}}%
   \fi
   \let\@sav@lbibitem\@lbibitem
   \def\@lbibitem[##1]##2{\@sav@lbibitem[##1\@bibmark]{##2}}%
%                                           ~~~~~~~~~
   \@ifundefined{hyper@warn}
%% якщо не підключений пакет hyperref
     {\def\@bibitem##1{\item\if@filesw \immediate\write\@auxout
        {\string\bibcite{##1}{\the\value{\@listctr}\expandafter\string\@bibmark}}%
%                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        \fi\ignorespaces}}
%% якщо підключений пакет hyperref
     {\def\@bibitem##1{%
      \@skiphyperreftrue\H@item\@skiphyperreffalse
      \hyper@anchorstart{cite.##1}\relax\hyper@anchorend
      \if@filesw {\let\protect\noexpand
      \immediate\write\@auxout{%
        \string\bibcite{##1}{\the\value{\@listctr}\expandafter\string\@bibmark}}}%
%                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      \fi
      \ignorespaces}}%
   \def\bibname{#2}%
   \let\bibliography\@thisbibliography
   \let\bibliographystyle\@thisbibliographystyle}
  {\ifnum\thecurrbibset=\theneedbibset
     \ifnum\theneedbibset=1
       \immediate\write\@auxout{\string\setcounter{needbibset}{2}}%
     \else
       \immediate\write\@auxout{\string\setcounter{needbibset}{1}}%
     \fi
   \fi}
\def\@thisbibliography#1{%
  \if@filesw
%~~~
    \ifnum\thecurrbibset=\theneedbibset
      \immediate\write\@auxout{\string\bibdata{#1}}%
    \else
      \immediate\write\@auxout{\@percentchar\string\bibdata{#1}}%
    \fi
%~~~
  \fi
  \@input@{\jobname\thecurrbibset.bbl}}
%                  ~~~~~~~~~~~~~~
\def\@thisbibliographystyle#1{%
  \ifx\@begindocumenthook\@undefined\else
    \expandafter\AtBeginDocument
  \fi
    {\if@filesw
%~~~
       \ifnum\thecurrbibset=\theneedbibset
         \immediate\write\@auxout{\string\bibstyle{#1}}%
       \else
         \immediate\write\@auxout{\@percentchar\string\bibstyle{#1}}%
       \fi
%~~~
     \fi}%
%% нумерація літератури 1.
  \ifthenelse
  {\equal{#1}{plain}\or\equal{#1}{unsrt}\or\equal{#1}{abbrv}\or
   \equal{#1}{amsplain}\or
   \equal{#1}{gost71s}\or\equal{#1}{gost71u}\or\equal{#1}{gost780s}\or\equal{#1}{gost780u}\or
%FIXME: temporarily
   \equal{#1}{my_gost71s}}
  {\def\@biblabel##1{##1.}}
  {\def\@biblabel##1{[##1]}}}
%</vakthesis>
\AtBeginDocument{%
  \addto\captionsukrainian{%
%<vakthesis>    \def\bibname{{\cyr\CYRS\cyrp\cyri\cyrs\cyro\cyrk\ \cyrv\cyri\cyrk\cyro\cyrr\cyri\cyrs\cyrt\cyra\cyrn\cyri\cyrh\ \cyrd\cyrzh\cyre\cyrr\cyre\cyrl}}}}
%                                 Список використаних джерел
%<vakaref>    \def\bibname{{\cyr\CYRS\cyrp\cyri\cyrs\cyro\cyrk\ \cyro\cyrp\cyru\cyrb\cyrl\cyrii\cyrk\cyro\cyrv\cyra\cyrn\cyri\cyrh\ \cyrp\cyrr\cyra\cyrc\cyrsftsn\ \cyrz\cyra~\cyrt\cyre\cyrm\cyro\cyryu~\cyrd\cyri\cyrs\cyre\cyrr\cyrt\cyra\cyrc\cyrii\cyryi}}}}
%                               Список опублікованих праць за~темою~дисертації
\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}
\let\@openbib@code\@empty
\newenvironment{theindex}
               {\if@twocolumn
                  \@restonecolfalse
                \else
                  \@restonecoltrue
                \fi
                \twocolumn[\@makeschapterhead{\indexname}]%
                \@mkboth{\MakeUppercase\indexname}%
                        {\MakeUppercase\indexname}%
                \thispagestyle{plain}\parindent\z@
                \parskip\z@ \@plus .3\p@\relax
                \columnseprule \z@
                \columnsep 35\p@
                \let\item\@idxitem}
               {\if@restonecol\onecolumn\else\clearpage\fi}
\newcommand\@idxitem{\par\hangindent 40\p@}
\newcommand\subitem{\@idxitem \hspace*{20\p@}}
\newcommand\subsubitem{\@idxitem \hspace*{30\p@}}
\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
\renewcommand\footnoterule{%
  \kern-3\p@
  \hrule\@width.4\columnwidth
  \kern2.6\p@}
\@addtoreset{footnote}{chapter}
\newcommand\@makefntext[1]{%
    \parindent 1em%
    \noindent
    \hb@xt@1.8em{\hss\@makefnmark}#1}
\newcommand\contentsname{Contents}
\newcommand\listfigurename{List of Figures}
\newcommand\listtablename{List of Tables}
\newcommand\bibname{Bibliography}
\newcommand\indexname{Index}
\newcommand\figurename{Figure}
\newcommand\tablename{Table}
\newcommand\partname{Part}
\newcommand\chaptername{Chapter}
\newcommand\appendixname{Appendix}
\newcommand\abstractname{Abstract}
\def\today{\ifcase\month\or
  January\or February\or March\or April\or May\or June\or
  July\or August\or September\or October\or November\or December\fi
  \space\number\day, \number\year}
\AtBeginDocument{%
\addto\captionsukrainian{%
  \def\tablename{{\cyr\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyrya}}}
}
\setlength\columnsep{10\p@}
\setlength\columnseprule{0\p@}
\pagestyle{plain}
\pagenumbering{arabic}
%<*vakaref>
%FIXME: \RequirePackage?
\AtBeginDocument{\usepackage{casus}}
%</vakaref>
\if@twoside
\else
  \raggedbottom
\fi
\if@twocolumn
  \twocolumn
  \sloppy
  \flushbottom
\else
  \onecolumn
\fi
% end of standard report class
%    \end{macrocode}
%
%
% \subsection{Налагодження}
%
%    \begin{macrocode}
% customise some commands from other packages
% slanted OR italic
\newcommand{\slantedthmbody}{\def\sl@OR@it{%
  \expandafter\let\expandafter\@tempa\csname\f@shape shape\endcsname
  \ifx\@tempa\itshape\slshape\fi\let\itshape\slshape}}
\newcommand{\italicthmbody}{\def\sl@OR@it{%
  \expandafter\let\expandafter\@tempa\csname\f@shape shape\endcsname
  \ifx\@tempa\slshape\itshape\fi\let\slshape\itshape}}
\let\sl@OR@it\relax
\newcommand{\slantedall}{\let\itshape\slshape}
%% означено в latex.ltx
\def\@begintheorem#1#2{\trivlist
   \item[\hskip \labelsep{\indent\bfseries #1\ #2.}]\itshape\sl@OR@it}
%                         ~~~~~~~                ~          ~~~~~~~~~
\def\@opargbegintheorem#1#2#3{\trivlist
      \item[\hskip \labelsep{\indent\bfseries #1\ #2\ (#3).}]\itshape\sl@OR@it}
%                            ~~~~~~~                      ~          ~~~~~~~~~
% З використанням amsthm
\AtBeginDocument{\@ifpackageloaded{amsthm}{%
  \def\@thm#1#2#3{%
    \ifhmode\unskip\unskip\par\fi
    \normalfont
    \trivlist
    \let\thmheadnl\relax
    \let\thm@swap\@gobble
%    \thm@notefont{\fontseries\mddefault\upshape}%
    \thm@headpunct{.}% add period after heading
    \thm@headsep 5\p@ plus\p@ minus\p@\relax
    \thm@space@setup
    #1% style overrides
    \@topsep \thm@preskip               % used by thm head
    \@topsepadd \thm@postskip           % used by \@endparenv
    \def\@tempa{#2}\ifx\@empty\@tempa
      \def\@tempa{\@oparg{\@begintheorem{#3}{}}[]}%
    \else
      \refstepcounter{#2}%
      \def\@tempa{\@oparg{\@begintheorem{#3}{\csname the#2\endcsname}}[]}%
    \fi
    \@tempa
  }%
% примітки без (круглих дужок): Теорема 2.1 [54]. Вимкнено
%  \def\thmhead#1#2#3{%
%    \thmname{#1}\thmnumber{\@ifnotempty{#1}{ }\@upn{#2}}%
%    \thmnote{ {\the\thm@notefont#3}}}%
% крапка після номера, якщо номер попереду: 2.1. Теорема [54].
%  \def\swappedhead#1#2#3{%
%    \thmnumber{#2}%
%    \thmname{\@ifnotempty{#2}{.~}#1}%
%    \thmnote{ {\the\thm@notefont#3}}}%
  \let\thm@indent\indent
  \def\@begintheorem#1#2[#3]{%
    \deferred@thm@head{\the\thm@headfont \thm@indent
      \@ifempty{#1}{\let\thmname\@gobble}{\let\thmname\@iden}%
      \@ifempty{#2}{\let\thmnumber\@gobble}{\let\thmnumber\@iden}%
      \@ifempty{#3}{\let\thmnote\@gobble}{\let\thmnote\@iden}%
      \thm@swap\swappedhead\thmhead{#1}{#2}{#3}%
      \the\thm@headpunct
      \thmheadnl % possibly a newline.
      \hskip\thm@headsep
    }%
% додано перемикач
    \sl@OR@it
    \ignorespaces}%
  \renewenvironment{proof}[1][\proofname]{\par
    \pushQED{\qed}%
% вилучено топсеп
    \normalfont %\topsep6\p@\@plus6\p@\relax
    \trivlist
% додано відступ
    \item[\hskip\labelsep\indent
          \itshape
      #1\@addpunct{.}]\ignorespaces
  }{%
    \popQED\endtrivlist\@endpefalse
  }%
}{}}
% Вітчизняні традиції
\AtBeginDocument{%
  \declare@shorthand{ukrainian}{",}{\nobreak\hskip.2em\ignorespaces}%
  \@ifpackageloaded{amssymb}{%
    \let\leq\leqslant
    \let\geq\geqslant
    \let\le\leqslant
    \let\ge\geqslant
    \let\emptyset\varnothing
  }{}%
  \def\Re{\mathop{\operator@font Re}\nolimits}%
  \def\Im{\mathop{\operator@font Im}\nolimits}%
  \def\ud{\mathrm d}%
% expectation?
%  \DeclareMathOperator{\Expect}{\mathsf{M}}
% три крапки (...) завжди внизу рядка
%FIXME: сумніваюся в доцільності
%  \let\cdots\ldots
%  \@ifpackageloaded{amsmath}{%
%    \let\dots\ldots
%    \let\dotsc\ldots
%    \let\dotsb\ldots
%    \let\dotsm\ldots
%    \let\dotsi\ldots
%    \let\dotso\ldots
%  }{}%
}
% % --------------------------------------------------
% % ! Experimental code.
% % \cite in an upright font always
% \def\@cite#1#2{{\upshape [{#1\if@tempswa , #2\fi}]}}
% %               ~~~~~~~~ а \textup не працює
% % --------------------------------------------------
%</vakthesis|vakaref>
%    \end{macrocode}
%
%
% \subsection{Відмінювання назв установ}
%
%    \begin{macrocode}
%<*casus>
% Пакет |casus| включений тепер у |.dtx|-файл. Вилучені порожні
% рядки, подвоєні проценти перед коментарями. Ніяких суттєвих змін
% пакет не зазнав. Але потребує.
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{casus}
  [2004/02/20 v0.01 Casus (OMB)]
%% Створити список правил відмінювання
\def\declinenoun{}
\def\declineadjective{}
\newcommand{\declension}[1]{%
  \def\@partofspeech{noun}%
  \@split@declension#1.}
\def\@split@declension#1. {%
  \ifx\relax#1\relax
  \else
    \@split@entry#1.
    \expandafter\@split@declension
  \fi}
\def\@split@entry{\@ifnextchar[\@extract@partofspeech
  {\expandafter\csname @split@entry@\@partofspeech\endcsname}}
\def\@extract@partofspeech[#1] {\def\@partofspeech{#1}%
  \expandafter\csname @split@entry@\@partofspeech\endcsname}
\def\@split@entry@noun#1 #2 #3 #4 #5 #6 #7. {%
  \g@addto@macro\declinenoun{\entry{#1}{#2}{#3}{#4}{#5}{#6}{#7}}}
\def\@split@entry@adjective#1 #2 #3 #4 #5 #6. {%
  \g@addto@macro\declineadjective{\entry{#1}{#2}{#3}{#4}{#5}{#6}}}
%% Приклад правил
\declension{% цей рядок обов'язково повинен закінчуватися знаком %
[noun]
-ніверситет ніверситету ніверситету ніверситет ніверситетом ніверситеті ніверситете.
-нститут нституту нституту нститут нститутом нституті нституте.
-кадемія кадемії кадемії кадемію кадемією кадемії кадеміє.
-ехнікум ехнікуму ехнікуму ехнікум ехнікумом ехнікумі ехнікуме.
-оледж оледжу оледжу оледж оледжом оледжі оледже.
-іністерство іністерства іністерству іністерство іністерством іністерстві іністерство.
-ентр ентру ентру ентр ентром ентрі ентре.
-омплекс омплексу омплексу омплекс омплексом омплексі омплексе.
-б'єднання б'єднання б'єднанню б'єднання б'єднанням б'єднанні б'єднання.
%% I відміна
%%   тверда група
-га ги зі гу гою зі го.
-ка ки ці ку кою ці ко.
-ха хи сі ху хою сі хо.
-а и і у ою і о.
%%   м'яка група
-я і і ю ею і е.
-ія ії ії ію ією ії іє.
%%   мішана група
-жа жі жі жу жею жі же.
-ча чі чі чу чею чі че.
-ша ші ші шу шею ші ше.
-ща щі щі щу щею щі ще.
[adjective]
-ий ого ому ий им ому.
-а ої ій у ою ій.
-е ого ому е им ому.
-ій ього ьому ій ім ьому.
-я ьої ій ю ьою ій.
-є ього ьому є ім ьому.
}
\newif\if@unknownword
%% Відмінок #2 для слова #3
%%     ukr        rus           eng
%% N 0 називний   именительный  nominative
%% G 1 родовий    родительный   genitive
%% D 2 давальний  дательный     dative
%% A 3 знахідний  винительный   accusative
%% I 4 орудний    творительный  instrumental
%% L 5 місцевий                 locative
%%                              ablative(орудно-місцевий в Latin)
%%                предложный    prepositional
%% V 6 кличний                  vocative
\newcommand{\case}[3][noun]{%
  \def\@partofspeech{#1}%
  \def\@temp{adjective}%
%% з кирилецею (Н, Р, Д, ...) не працює
  \def\@numbercase{\if N#20\else\if G#21\else\if D#22\else
    \if A#23\else\if I#24\else\if L#25\else\if V#26\else
    7\fi\fi\fi\fi\fi\fi\fi}%
  \def\@worda{}%
  \ifnum\@numbercase>6
    \def\@worda{#3}\typeout{Unknown caseID: `#2'.}%
  \else
    \ifx\@partofspeech\@temp
      \ifnum\@numbercase=6
        \def\@worda{#3}%
        \typeout{Adjective does not have vocative case.}%
      \else
        \@declineword{#3}\@nil
      \fi
    \else
      \@declineword{#3}\@nil
    \fi
  \fi
  \@worda}
\def\@declineword#1\@nil{%
  \ifx\relax#1\relax
  \else
    \@unknownwordfalse
    \def\entry{\expandafter
      \csname @case@\@partofspeech\endcsname
      {\@numbercase}{\ifx\@worda\@empty\else-\fi#1}}%
    \def\lastentry{\@unknownwordtrue}%
    \expandafter\csname decline\@partofspeech\endcsname\lastentry
    \if@unknownword
      \@shift#1\@nil
    \else
      \g@addto@macro\@worda{\@wordb}%
    \fi
  \fi}
\def\@shift#1{\g@addto@macro\@worda{#1}\@declineword}
\def\@case@noun#1#2#3#4#5#6#7#8#9{%
  \edef\@tempa{#2}\edef\@tempb{#3}%
  \ifx\@tempa\@tempb
    \def\@wordb{\ifcase#1 \@ifnextchar-\@gobble\relax#3\or
      #4\or#5\or#6\or#7\or#8\or#9\fi}%
    \expandafter\@gobbleallentries
  \fi}
\def\@case@adjective#1#2#3#4#5#6#7#8{%
  \edef\@tempa{#2}\edef\@tempb{#3}%
  \ifx\@tempa\@tempb
    \def\@wordb{\ifcase#1 \@ifnextchar-\@gobble\relax#3\or
      #4\or#5\or#6\or#7\or#8\fi}%
    \expandafter\@gobbleallentries
  \fi}
\def\@gobbleallentries#1\lastentry{}
%% Парадигма слова
\newcommand{\paradigm}[2][noun]{%
\begin{list}{}{\itemsep0pt\parsep0pt\def\makelabel##1{##1\hfil}}
\item[Н.] \case[#1]{N}{#2}
\item[Р.] \case[#1]{G}{#2}
\item[Д.] \case[#1]{D}{#2}
\item[З.] \case[#1]{A}{#2}
\item[О.] \case[#1]{I}{#2}
\item[М.] \case[#1]{L}{#2}
\ifthenelse{\equal{#1}{noun}}{\item[Кл.] \case[#1]{V}{#2}}{}
\end{list}}
%% Перетворити речення #2 до відмінка #1
\newcommand{\transformsentence}[2]{%\debug{transformsentence:^^J|#1|^^J|#2|}%
  \def\@case{#1}%
  \def\@processword##1{\case[adjective]{\@case}{##1} }%
  \expandafter\@split@sentence#2 }
\def\@split@sentence#1 {%\debug{@split@sentence:^^J|#1|}%
  \ifx\relax#1\relax
    \unskip
  \else
    \ifthenelse{\equal{#1}{університет}\or\equal{#1}{Університет}\or
                \equal{#1}{інститут}\or\equal{#1}{Інститут}\or
                \equal{#1}{академія}\or\equal{#1}{Академія}\or
                \equal{#1}{технікум}\or\equal{#1}{Технікум}\or
                \equal{#1}{коледж}\or\equal{#1}{Коледж}\or
                \equal{#1}{міністерство}\or\equal{#1}{Міністерство}\or
                \equal{#1}{центр}\or\equal{#1}{Центр}\or
                \equal{#1}{комплекс}\or\equal{#1}{Комплекс}\or
                \equal{#1}{об'єднання}\or\equal{#1}{Об'єднання}}
      {\case[noun]{\@case}{#1}
       \def\@processword##1{##1 }}
      {\@processword{#1}}%
    \expandafter\@split@sentence
  \fi}
%% Повний набір перетворень речення #1 для тестування
\newcommand{\fullset}[1]{%
\begin{list}{}{\itemsep0pt\parsep0pt\def\makelabel##1{##1\hfil}}
\item[Н.] #1
\item[Р.] \transformsentence{G}{#1}
\item[Д.] \transformsentence{D}{#1}
\item[З.] \transformsentence{A}{#1}
\item[О.] \transformsentence{I}{#1}
\item[М.] \transformsentence{L}{#1}
\item[Кл.]\transformsentence{V}{#1}
\end{list}}
%</casus>
%    \end{macrocode}
%\iffalse
%    \begin{macrocode}
%<*speciality>
%<<SPECIALITY
% Файл `speciality.20070212N70' 2008/01/08 v0.021
% файл відповідності шифру та назви спеціальності
% на основі наказу ВАК України від 12.02.2007 № 70
% побудований Олександром Барановським
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Перелік
% спеціальностей, за якими проводяться захист дисертацій
% на здобуття наукових ступенів кандидата наук і доктора наук,
% присудження наукових ступенів і присвоєння вчених звань
%
% Наказ ВАК України ``Про затвердження Переліку спеціальностей...''
%   від 23.06.2005 № 377
% зі змінами і доповненнями, внесеними наказами ВАК України
%   від 14.02.2006 № 73,
%   від 29.05.2006 № 263,
%   від 19.09.2006 № 407,
%   від 12.02.2007 № 70
% Зареєстровано у Міністерстві юстиції України
%   05.07.2005 за № 713/10993,
%   06.03.2006 за № 236/12110,
%   07.06.2006 за № 682/12556,
%   27.09.2006 за № 1075/12949,
%   21.02.2007 за № 159/13426
%
% Перелік і наказ доступні за адресою http://www.vak.org.ua
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Формат файла:
%   * рядок опису галузі науки
% ##       галузь_науки
%   * рядок опису групи спеціальностей
% ##.##    назва_групи_спеціальностей
%   * рядок опису спеціальності
% ##.##.## назва_спеціальності/галузь_науки_у_родовому_відмінку
% !Файл не повинен містити порожніх рядків
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
01       фізико-математичні науки
%
01.01    математика
01.01.01 математичний аналіз/фізико-математичних наук
01.01.02 диференціальні рівняння/фізико-математичних наук
01.01.03 математична фізика/фізико-математичних наук
01.01.04 геометрія та топологія/фізико-математичних наук
01.01.05 теорія ймовірностей і математична статистика/фізико-математичних наук
01.01.06 алгебра та теорія чисел/фізико-математичних наук
01.01.07 обчислювальна математика/фізико-математичних наук
01.01.08 математична логіка, теорія алгоритмів і дискретна математика/фізико-математичних наук
01.01.09 варіаційне числення та теорія оптимального керування/фізико-математичних наук
01.01.10 дослідження операцій та теорія ігор/фізико-математичних наук
%
01.02    механіка
01.02.01 теоретична механіка/фізико-математичних наук
01.02.04 механіка деформівного твердого тіла/фізико-математичних наук/технічних наук
01.02.05 механіка рідини, газу та плазми/фізико-математичних наук/технічних наук
%
01.03    астрономія
01.03.01 астрометрія і небесна механіка/фізико-математичних наук
01.03.02 астрофiзика, радiоастрономiя/фізико-математичних наук
01.03.03 геліофізика і фізика Сонячної системи/фізико-математичних наук
%
01.04    фізика
01.04.01 фізика приладів, елементів і систем/фізико-математичних наук
01.04.02 теоретична фізика/фізико-математичних наук
01.04.03 радіофізика/фізико-математичних наук
01.04.04 фізична електроніка/фізико-математичних наук
01.04.05 оптика, лазерна фізика/фізико-математичних наук
01.04.06 акустика/фізико-математичних наук
01.04.07 фізика твердого тіла/фізико-математичних наук/технічних наук
01.04.08 фізика плазми/фізико-математичних наук/технічних наук
01.04.09 фізика низьких температур/фізико-математичних наук
01.04.10 фізика напівпровідників і діелектриків/фізико-математичних наук
01.04.11 магнетизм/фізико-математичних наук
01.04.13 фізика металів/фізико-математичних наук
01.04.14 теплофізика та молекулярна фізика/фізико-математичних наук
01.04.15 фізика молекулярних та рідких кристалів/фізико-математичних наук
01.04.16 фізика ядра, елементарних частинок і високих енергій/фізико-математичних наук/технічних наук
01.04.17 хімічна фізика, фізика горіння та вибуху/фізико-математичних наук/хімічних наук
01.04.18 фізика і хімія поверхні/фізико-математичних наук/хімічних наук
01.04.19 фізика полімерів/фізико-математичних наук
01.04.20 фізика пучків заряджених частинок/фізико-математичних наук/технічних наук
01.04.21 радіаційна фізика та ядерна безпека/фізико-математичних наук
01.04.22 надпровідність/фізико-математичних наук
01.04.24 фізика колоїдних систем/фізико-математичних наук
%
01.05    інформатика і кібернетика
01.05.01 теоретичні основи інформатики та кібернетики/фізико-математичних наук
01.05.02 математичне моделювання та обчислювальні методи/фізико-математичних наук/технічних наук
01.05.03 математичне та програмне забезпечення обчислювальних машин і систем/фізико-математичних наук/технічних наук
01.05.04 системний аналіз і теорія оптимальних рішень/фізико-математичних наук/технічних наук
%
01.06    історія фізико-математичних наук
01.06.01 історія фізико-математичних наук/фізико-математичних наук
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
02       хімічні науки
02.00.01 неорганічна хімія/хімічних наук
02.00.02 аналітична хімія/хімічних наук
02.00.03 органічна хімія/хімічних наук
02.00.04 фізична хімія/хімічних наук
02.00.05 електрохімія/хімічних наук
02.00.06 хімія високомолекулярних сполук/хімічних наук
02.00.08 хімія елементоорганічних сполук/хімічних наук
02.00.09 хімія високих енергій/хімічних наук
02.00.10 біоорганічна хімія/хімічних наук/біологічних наук
02.00.11 колоїдна хімія/хімічних наук
02.00.13 нафтохімія і вуглехімія/хімічних наук
02.00.15 хімічна кінетика і каталіз/хімічних наук
02.00.19 хімія високочистих речовин/хімічних наук
02.00.21 хімія твердого тіла/хімічних наук
02.00.22 історія хімії/хімічних наук
% далі буде?
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
03       біологічні науки
03.00.01 радіобіологія/біологічних наук/медичних наук
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
04       геологічні науки
04.00.01 загальна та регіональна геологія/геологічних наук
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
05       технічні науки
%
05.01    прикладна геометрія, інженерна графіка та ергономіка
05.01.01 прикладна геометрія, інженерна графіка/технічних наук
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
06       сільськогосподарські науки
%
06.01    агрономія
06.01.01 загальне землеробство/сільськогосподарських наук
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
07       історичні науки
07.00.01 історія України/історичних наук
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
08       економічні науки
08.00.01 економічна теорія та історія економічної думки/економічних наук
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
09       філософські науки
09.00.01 онтологія, гносеологія, феноменологія/філософських наук
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10       філологічні науки
%
10.01    літературознавство
10.01.01 українська література/філологічних наук
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11       географічні науки
11.00.01 фізична географія, геофізика і геохімія ландшафтів/географічних наук
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12       юридичні науки
12.00.01 теорія та історія держави і права; історія політичних і правових учень/юридичних наук
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13       педагогічні науки
%
13.00.01 загальна педагогіка та історія педагогіки/педагогічних наук
13.00.02 теорія та методика навчання (з галузей знань)/педагогічних наук% тут файл нічим не допоможе, оскільки необхідно вказувати галузь: математики, фізики тощо
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14       медичні науки
%
14.01    клінічна медицина
14.01.01 акушерство та гінекологія/медичних наук
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15       фармацевтичні науки
15.00.01 технологія ліків та організація фармацевтичної справи/фармацевтичних наук
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16       ветеринарні науки
16.00.01 діагностика і терапія тварин/ветеринарних наук
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17       мистецтвознавство
17.00.01 теорія та історія культури/мистецтвознавства/історичних наук/філософських наук
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18       архітектура
18.00.01 теорія архітектури, реставрація пам'яток архітектури/архітектури
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
19       психологічні науки
19.00.01 загальна психологія, історія психології/психологічних наук
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
20       військові науки
%
20.01    військово-теоретичні науки
20.01.01 воєнне мистецтво/військових наук
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
21       національна безпека
%
21.01    основи національної безпеки
21.01.01 основи національної безпеки держави/соціологічних наук/політичних наук
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
22       соціологічні науки
22.00.01 теорія та історія соціології/соціологічних наук
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
23       політичні науки
23.00.01 теорія та історія політичної науки/політичних наук/історичних наук
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
24       фізичне виховання та спорт
24.00.01 олімпійський і професійний спорт/фізичного виховання і спорту
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
25       державне управління
25.00.01 теорія та історія державного управління/державного управління
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26       культурологія
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
27       соціальні комунікації
%SPECIALITY
%</speciality>
%<*xampl-thesis>
%<<XAMPL-THESIS
%% xampl-thesis.tex  Приклад головного файла дисертації
\documentclass{vakthesis}
% Існують кілька опцій, які необхідно вказувати як факультативний
% аргумент команди \documentclass. Наприклад, для докторської
% дисертації необхідно написати
% \documentclass[d]{vakthesis}

% Налагодження кодування шрифта, кодування вхідного файла
% та вибір необхідних мов
\usepackage[T2A]{fontenc}
\usepackage[cp1251]{inputenc}
\usepackage[english,russian,ukrainian]{babel}

% Підключення необхідних пакетів. Наприклад,
% Пакети AMS для підтримки математики, теорем, спеціальних шрифтів
\usepackage[intlimits]{amsmath}
\allowdisplaybreaks
\usepackage{amsthm}
\usepackage{amssymb}
% Налагодження нумерованих списків
%\usepackage{enumerate}
% Гіпертекстові документи
%\usepackage{hyperref}
% або лише спеціальне форматування URL
%\usepackage{url}
% У списку літератури зворотні вказівки на посилання
%\usepackage{backref}
% Сортування посилань
%\usepackage[noadjust]{cite}
% Останні два пакети несумісні між собою. Крім того, конфліктують з цим класом!

% Налагодження параметрів сторінки (зокрема берегів).
% Наприклад, за допомогою пакета geometry
\usepackage{geometry}
\geometry{hmargin={30mm,15mm},vmargin={26mm,26mm}}

% Означення теорем (теоремоподібних структур)
% Класичний варіант: для кожної теореми свій лічильник,
% тобто теорема 1.1, лема 1.1, теорема 1.2
\theoremstyle{plain}
\newtheorem{theorem}{Теорема}[chapter]
\newtheorem{lemma}{Лема}[chapter]
\newtheorem{corollary}{Наслідок}[chapter]
\theoremstyle{definition}
\newtheorem{definition}{Означення}[chapter]
\newtheorem{example}{Приклад}[chapter]
\theoremstyle{remark}
\newtheorem{remark}{Зауваження}[chapter]
% Цікавий варіант: всі теореми нумеруються одним лічильником,
% тобто теорема 1.1, лема 1.2, теорема 1.3
%\theoremstyle{plain}
%\newtheorem{theorem}{Теорема}[chapter]
%\newtheorem{lemma}[theorem]{Лема}
%\newtheorem{corollary}[theorem]{Наслідок}
%\theoremstyle{definition}
%\newtheorem{definition}[theorem]{Означення}
%\newtheorem{example}[theorem]{Приклад}
%\theoremstyle{remark}
%\newtheorem{remark}[theorem]{Зауваження}

% Локальні означення
\newcommand{\N}{\mathbb{N}}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\set}[1]{\left\{#1\right\}}
\newcommand{\abs}[1]{\left\lvert#1\right\rvert}
\newcommand{\norm}[2][]{\left\lVert#2\right\rVert_{#1}}
% Це потрібно для скороченого запису ряду Остроградського
\newcommand{\Osign}[1]{\mathrm{O}^{#1}}

% Якщо потрібно працювати лише з деякими розділами
%\includeonly{xampl-ch1,xampl-bib}

% Інформація про використані пакети тощо.
% Може знадобитися для відлагодження класу документа
%\listfiles

\begin{document}

% Назва дисертації
\title{Метрична та ймовірнісна теорія чисел,
       представлених рядами Остроградського 1-го~виду}
% Прізвище, ім'я, по батькові здобувача
\author{Барановський Олександр Миколайович}
% Прізвище, ім'я, по батькові наукового керівника/консультанта
\supervisor{Працьовитий Микола Вікторович}
% Науковий ступінь, вчене звання наукового керівника/консультанта
           {доктор фізико-математичних наук, професор}
% Спеціальність
\speciality{01.01.01}
% Варіант із вказуванням факультативних аргументів
%\speciality[математичний аналіз]{01.01.01}[фізико-математичних наук]
% Індекс за УДК
\udc{511.72}
% Установа, де виконана робота, і місто
\institution{Національний педагогічний університет імені~М.~П.~Драгоманова}{Київ}
% Рік, коли написана (подана до захисту?) дисертація
\date{2006}

% Тут буде титульна сторінка
\maketitle

% Зміст
\tableofcontents

% Розділи дисертації в окремих файлах
\include{xampl-intro}%       Вступ
\include{xampl-ch1}%         Розділ 1
%\include{xampl-ch2}%         Розділ 2
%\include{xampl-ch3}%         Розділ 3
%\include{xampl-ch4}%         Розділ 4 і т. д. ще скільки потрібно розділів
\include{xampl-concl}%       Висновки
\include{xampl-bib}%         Список використаних джерел (+список публікацій автора)

\end{document}
%XAMPL-THESIS
%</xampl-thesis>
%<*xampl-intro>
%<<XAMPL-INTRO
%% xampl-intro.tex  Приклад вступу до дисертації
% Приклад ненумерованого розділу
\chapter*{Вступ}


\paragraph{Актуальність теми}

Це не є справжня дисертація. Це лише приклад, який повинен
допомогти користувачу підготувати свій файл. Але я зробив його із
своєї дисертації. Тому формули, теореми, доведення, імена, книги і
статті у списку літератури інколи можуть бути справжніми (хоча
можуть здаватися безглуздими, бо вирвані з контексту).


\paragraph{Зв'язок роботи з науковими програмами, планами, темами}

Робота виконана у рамках досліджень математичних об'єктів зі
складною локальною будовою, що проводяться на кафедрі вищої
математики Національного педагогічного університету імені
М.",П.",Драгоманова.


\paragraph{Мета і завдання дослідження}

Метою роботи є розробка основ метричної теорії дійсних чисел,
представлених рядами Остроградського $1$-го виду, та застосування
отриманих результатів до дослідження математичних об'єктів зі
складною локальною будовою (фрактальних множин, сингулярних та
недиференційовних функцій, сингулярно неперервних мір).

\subparagraph{Методи дослідження}

У роботі використовувалися методи математичного аналізу, теорії
функцій дійсної змінної, теорії міри, метричної теорії чисел,
теорії ймовірностей, фрактального аналізу тощо.


\paragraph{Наукова новизна одержаних результатів}

Основними науковими результатами, що виносяться на захист, є такі:
% Приклад ненумерованого списку
\begin{itemize}
\item Доведено, що множина неповних сум ряду Остроградського
$1$-го виду є ніде не щільною досконалою множиною нульової міри
Лебега та нульової розмірності Хаусдорфа--Безиковича.

\item Знайдено умови нуль-мірності (додатності міри) певних класів
замкнених ніде не щільних множин чисел, заданих умовами на
елементи їх розвинення в ряд Остроградського $1$-го виду.

\item \ldots
\end{itemize}


\paragraph{Практичне значення одержаних результатів}

Робота має теоретичний характер. Отримані результати є безперечним
внеском у теорію міри, метричну теорію чисел, теорію функцій
дійсної змінної та теорію сингулярних розподілів ймовірностей.
Запропоновані в дисертації методи можуть бути корисними при
дослідженні математичних об'єктів зі складною локальною будовою,
заданих за допомогою інших представлень чисел з нескінченним
алфавітом, зокрема рядів Остроградського $2$-го виду.


\paragraph{Особистий внесок здобувача}

Основні результати, що виносяться на захист, отримані автором
самостійно. Зі статей, опублікованих у співавторстві, до
дисертації включені лише ті результати, що належать автору.


\paragraph{Апробація результатів дисертації}

Основні результати дослідження доповідалися на наукових
конференціях різного рівня та наукових семінарах. Це такі
конференції:
\begin{itemize}
\item Український математичний конгрес, Київ, 21--23 серпня
2001~р.;

\item \ldots
\end{itemize}
Це такі семінари:
\begin{itemize}
\item семінар відділу теорії функцій Інституту математики НАН
України (керівник: чл.-кор. НАН України О.",І.",Степанець);

\item \ldots
\end{itemize}


\paragraph{Публікації}

Основні результати роботи викладено у 6~статтях
% Тут не наводяться всі статті. Це лише приклад
\cite{Bar98fasp1,Bar98fasp2}, опублікованих у виданнях, що внесені
до переліку наукових фахових видань України, та додатково
відображено в матеріалах конференцій~\cite{PrB01umc}.


\paragraph{Зміст роботи}

Тут викладають основні результати дисертації. Це, напевно, зручно
для потенційного читача, для опонентів. Наявність чи відсутність
цього пункту залежить від традицій школи. ВАК не рекомендує і не
забороняє такий пункт у вступі дисертації.

Далі йде безглуздий текст. Не читайте його. Тут немає нічого
розумного (чи хоча б цікавого), оскільки не передбачалося, що
хтось це читатиме. Просто необхідно трохи тексту, щоб сторінку
чимось заповнити. Вважайте, що це щось на кшталт \emph{Lorem
ipsum}. Крім того, за допомогою цієї сторінки з безглуздим текстом
можна порахувати кількість рядків на сторінці та символів у рядку.

Здається, у мене закінчуються запаси безглуздого тексту. Хто б міг
подумати, що так складно писати текст лише для заповнення
сторінки! Він, крім того, ще й неефективний, оскільки не всі букви
можна тут побачити. Але деякі гарні букви і цифри можна
роздивитися: а, б, в,~\ldots, 1, 2, 3,~\ldots, а ще такі: \emph{а,
б, в,~\ldots}.

Досить! Далі йде осмислений (я сподіваюся) текст. Він наведений
тут зовсім не для того, щоб порушити  права Юрія Андруховича чи
видавництва <<Фоліо>>. Просто у мене під руками був електронний
варіант <<Таємниці>>. Чому Рябчук був абсолютним ґуру для них
усіх?

<<По-перше, він у всьому був жахливо переконливий, у всьому "---
як у своїх статтях, так і в розмовах. З ним було безнадійно
полемізувати, його слід було тільки слухати. Йому було на той час
29 років, тобто він був ще й фізично старший від решти товариства,
а це в тому віці суттєво, ця різниця між 29 і, скажімо, 22. Це не
те що 45 і 38 "--- там уже фактично жодної різниці немає. А між 90
і 83 "--- й поготів. Так от, він був старший і досвідченіший, з
ним можна було про все на світі радитися, бо він на той час уже
змінив з десяток різних занять, був тричі одружений і розлучений,
жив самотнім даосом у запущеній старій віллі на Майорівці, з таким
же запущеним старим садом і не менш запущеними старими сусідами.
Він був цілком прозорий від аскетизму (інший тут сказав би, що він
\emph{аж світився}), щодня стояв на голові і правильно, згідно з
Ученням, дихав, а харчувався виключно пісним рисом без солі. На
той час його статті про літературу вже почали публікувати і він
потроху ставав авторитетом не тільки в андеґраунді. Ага, м'ятний
чай "--- він пив багато м'ятного чаю. Його двокімнатне помешкання
у тій віллі являло собою досить інтенсивну суміш з усяких
речей-уламків, але передусім воно було захаращене книгами,
газетами і рукописами. Книги починалися від порогу і ніде не
закінчувалися. Він тримав їх навіть у холодильнику. Якби не книги,
то він і не знав би, на біса йому той холодильник здався. Кажуть,
наче там-таки, у холодильнику, він тримав пришпиленим до задньої
стінки вирізаний з газети портрет Брежнєва. Це називалося
\emph{малим Сибіром}. Ще пару років тому його помешкання стало
такою собі міні-комуною, притулком для тодішніх нефорів: Морозов,
Лишега, Чемодан, Кактус. Останнього я ніколи в житті не бачив, до
сьогодні. Але знаю, що такий був, уявляєш? Здається, саме він
намалював на стіні того сквоту нев'їбенно притягальну фреску з
усіма згаданими особами "--- вони сидять, розпатлані й неголені,
як апостоли, а на столі в них червоне вино і рибина. Не пам'ятаю,
чи мали німби, але припускаю, що цілком могли мати. Це житло стало
такою собі рукавичкою. Кожен із них зносив до Рябчукової хати
всякий непотріб "--- в залежності від того, чим на ту хвилину
перебивався і що звідки вдавалося потягти. Пам'ятаю табличку
ЕКСПОНАТ НА РЕСТАВРАЦІЇ. Ще пам'ятаю ПАЛАТА ДЛЯ НЕДОНОШЕНИХ "--- з
усього випливало, що свого часу котрийсь із гостей цього притулку
підзаробляв на життя пологами. Тепер тобі зрозуміло, чому Микола
Рябчук був абсолютним ґуру?>>


\paragraph{Подяка}

Якщо хочете комусь подякувати, пишіть тут.
%XAMPL-INTRO
%</xampl-intro>
%<*xampl-ch1>
%<<XAMPL-CH1
%% xampl-ch1.tex  Приклад розділу дисертації
% Приклад назви розділу і мітки, на яку можна посилатися в тексті
\chapter{Подання дійсних чисел рядами~Остроградського $1$-го виду}
\label{ch:o1series}

Це не є справжній розділ дисертації. Це лише приклад, який повинен
допомогти користувачу підготувати свій файл. Але я зробив його з
розділу~1 своєї дисертації.

У цьому розділі вивчається розвинення дійсного числа у
знакозмінний ряд спеціального вигляду, який називається рядом
Остроградського $1$-го виду.

Досліджуються тополого"=метричні та фрактальні властивості множини
неповних сум заданого ряду Остроградського $1$-го виду, а також
властивості розподілів ймовірностей на множині неповних сум.

% Приклад назви підрозділу
\section{Означення ряду Остроградського $1$-го виду}

% Приклад означення
\begin{definition}
% Приклад виноски (\footnote)
\emph{Рядом Остроградського $1$-го виду}\footnote{Далі часто
будемо називати просто \emph{рядом Остроградського}, оскільки ми
не досліджуємо ряди Остроградського $2$-го виду.} називається
скінченний або нескінченний вираз вигляду
% Приклад формули з номером
\begin{equation}\label{eq:o1series}
\frac1{q_1}-\frac1{q_1q_2}+\dots +\frac{(-1)^{n-1}}{q_1q_2\dots
q_n}+\dotsb,
\end{equation}
де $q_n$ "--- натуральні числа і $q_{n + 1}>q_n$ для будь-якого
$n\in\N$. Числа $q_n$ називаються \emph{елементами ряду
Остроградського $1$-го виду}.
\end{definition}

Число елементів може бути як скінченним, так і нескінченним.
У~першому випадку будемо записувати ряд Остроградського у вигляді
% Приклад формули без номера
\[
\frac1{q_1}-\frac1{q_1q_2}+\dots +\frac{(-1)^{n-1}}{q_1q_2\dots
q_n}
\]
або скорочено
\begin{equation*}
\Osign1(q_1,q_2,\dots,q_n)
\end{equation*}
і називати скінченним рядом Остроградського або
$n$\nobreakdash-\hspace{0pt}елементним рядом Остроградського; а в
другому випадку будемо записувати ряд Остроградського у вигляді
% Приклад посилання на формулу
\eqref{eq:o1series} або скорочено
\begin{equation*}
\Osign1(q_1,q_2,\dots,q_n,\dots)
\end{equation*}
і називати нескінченним рядом Остроградського.



\section{Означення та властивості підхідних чисел}

\begin{definition}\label{def:convergent}
\emph{Підхідним числом порядку $k$} ряду Остроградського $1$-го
виду називається раціональне число
\[
\frac{A_k}{B_k} = \frac{1}{q_1}-\frac{1}{q_1q_2}+\dots
+\frac{(-1)^{k-1}}{q_1q_2\dots q_k} = \Osign1(q_1,q_2,\dots,q_k).
\]
\end{definition}

Зрозуміло, що $n$-елементний ряд Остроградського має $n$ підхідних
чисел, причому підхідне число $n$-го порядку $\frac{A_n}{B_n}$
збігається зі значенням цього ряду Остроградського.

% Приклад теореми
\begin{theorem}\label{th:convergents}
Для будь-якого натурального $k$ правильні формули
\begin{equation}\label{eq:convergents}
\left\{
\begin{aligned}
&A_k=A_{k-1}q_k+(-1)^{k-1},\\
&B_k=B_{k-1}q_k=q_1q_2\dots q_k
\end{aligned}
\right.
\end{equation}
\textup(якщо покласти, що $A_0=0$, $B_0=1$\textup).
\end{theorem}

% Приклад доведення
\begin{proof}
Проведемо доведення методом математичної індукції по~$k$. Для
$k=1$ формули правильні. Справді,
\[
\frac{A_1}{B_1}=\frac{1}{q_1}=\frac{A_0q_1+(-1)^0}{B_0q_1}.
\]

Припустимо, що формули \eqref{eq:convergents} правильні для
деякого $k=m$, тобто
\begin{align*}
\left\{
\begin{aligned}
&A_m=A_{m-1}q_m+(-1)^{m-1},\\
&B_m=B_{m-1}q_m=q_1q_2\ldots q_m,
\end{aligned}
\right.
\end{align*}
і доведемо ці формули для $k=m+1$. Маємо
% Приклад формули, що займає більше одного рядка.
% Оточення align, рядки вирівняні по знаку =
\begin{align*}
\frac{A_{m+1}}{B_{m+1}}&=\frac{1}{q_1}-\frac{1}{q_1 q_2}+\dots
+\frac{(-1)^{m-1}}{q_1q_2\dots q_m}+\frac{(-1)^m}{q_1q_2\dots
q_mq_{m + 1}}=\\ &=\frac{A_m}{B_m}+\frac{(-1)^m}{B_mq_{m + 1}} =
\frac{A_mq_{m+1}+(-1)^m}{B_mq_{m + 1}}.
\end{align*}

Отже, за принципом математичної індукції формули
\eqref{eq:convergents} правильні для будь"=якого натурального $k$.
\end{proof}

% Приклад леми
\begin{lemma}
Для будь-якого натурального $k$ правильна рівність
\begin{equation}\label{eq:convergents1}
\frac{A_{k-1}}{B_{k-1}}-\frac{A_k}{B_k}=\frac{(-1)^k}{B_k}.
\end{equation}
\end{lemma}

\begin{lemma}
Для будь-якого натурального $k\geq2$ правильна рівність
\begin{equation}\label{eq:convergents2}
\frac{A_{k-2}}{B_{k-2}}-\frac{A_k}{B_k}=\frac{(-1)^{k-1}(q_k-1)}{B_k}.
\end{equation}
\end{lemma}


\section{Розклад числа у знакозмінний ряд за $1$-м алгоритмом Остроградського}

Почнемо з геометричної ілюстрації алгоритму. Нехай маємо відрізки
$A$ та $B$, $A<B$. Щоб застосувати $1$-й алгоритм Остроградського
до числа $\frac{A}{B}$, будемо відкладати відрізок $A$ на відрізку
$B$, поки не отримаємо залишок $A_1<A$ (див.
% Приклад посилання на малюнок
рис.~\ref{fig:o1alg}). Нехай відрізок $A$ вміщується $q_1$ разів у
відрізку $B$, тоді
\[
B=q_1A+A_1.
\]
Далі відкладемо відрізок $A_1$ не на меншому відрізку $A$ (як у
алгоритмі Евкліда), а на тому ж відрізку $B$ до отримання залишку
$A_2<A_1$. Нехай відрізок $A_1$ вміщується $q_2$ разів у відрізку
$B$, тоді
\[
B=q_2A_1+A_2.
\]
Відкладаючи відрізок $A_2$ знову на відрізку $B$ і~т.~д. до
нескінченності або до отримання нульового залишку, будемо мати
\begin{align*}
&B=q_3A_2+A_3,\\
&B=q_4A_3+A_4
\end{align*}
і~т.~д. З отриманих рівностей випливає, що має місце розклад
\[
\frac AB = \frac{1}{q_1} - \frac{1}{q_1q_2} + \frac{1}{q_1q_2q_3}
- \frac{1}{q_1q_2q_3q_4} + \dotsb,
\]
і тут, як легко бачити,
\[
q_1<q_2<q_3<q_4<\dotsb.
\]

% Приклад малюнка
\begin{figure}[htbp]
\setlength{\unitlength}{1mm}
\begin{center}
\begin{picture}(105,35)
\put(6,28){$A$}\put(51,28){$A_1$} \put(0,25){\line(1,0){58}}
\multiput(0,24)(16,0){4}{\line(0,1){2}}\put(58,24){\line(0,1){2}}
\put(28,19){$B$} \put(75,25){$B=3A+A_1$}
\put(3,9){$A_1$}\put(52,9){$A_2$} \put(0,6){\line(1,0){58}}
\multiput(0,5)(10,0){6}{\line(0,1){2}}\put(58,5){\line(0,1){2}}
\put(28,0){$B$} \put(75,6){$B=5A_1+A_2$}
\end{picture}
\caption{Геометрична ілюстрація $1$-го алгоритму Остроградського:
тут відрізок $A$ вміщується 3~рази у відрізку $B$, відрізок $A_1$
вміщується 5~разів у відрізку $B$ і~т.~д.}
\label{fig:o1alg}
\end{center}
\end{figure}

Таким чином, \emph{$1$-й алгоритм Остроградського} розкладу
дійсного числа $x\in(0,1)$ у знакозмінний ряд полягає в
наступному.

\begin{description}
\item[Крок~1.] Покласти $\alpha_0=x$, $i=1$.

\item[Крок~2.] Знайти такі числа $q_i$ та $\alpha_i$, що
\[
1=q_i\alpha_{i-1}+\alpha_i \quad \text{і} \quad
0\leq\alpha_i<\alpha_{i-1}.
\]

\item[Крок~3.] Якщо $\alpha_i=0$, то припинити обчислення. Інакше
"--- збільшити $i$ на $1$ та перейти до кроку~2.
\end{description}

\begin{theorem}\label{thm:ostrogradsky}
Кожне дійсне число $x\in(0,1)$ можна подати у вигляді ряду
Остроградського $1$-го виду~\eqref{eq:o1series}. Причому, якщо
число $x$ ірраціональне, то це можна зробити єдиним чином і
вираз~\eqref{eq:o1series} має при цьому нескінченне число
доданків; якщо ж число $x$ раціональне, то його можна подати у
вигляді~\eqref{eq:o1series} зі скінченним числом доданків двома
різними способами:
\[
x=\Osign1(q_1,q_2,\dots,q_{n-1},q_n)=\Osign1(q_1,q_2,\dots,q_{n-1},q_n-1,q_n).
\]
\end{theorem}


\section{Множина неповних сум ряду Остроградського та розподіли ймовірностей на ній}

Візьмемо довільну \emph{фіксовану} послідовність $\{q_k\}$
натуральних чисел з умовою $q_{k+1}>q_k$ для всіх $k\in\N$ і
розглянемо їй відповідний ряд Остроградського $1$-го
виду~\eqref{eq:o1series} з сумою $r$. Число $r$ можна записати у
вигляді
\begin{equation}
r=d-b, \quad \text{де} \quad d=\sum_{i=1}^\infty
\frac1{q_1q_2\dots q_{2i-1}}, \quad b=\sum_{i=1}^\infty
\frac1{q_1q_2\dots q_{2i}}.
\end{equation}
Оскільки ряд Остроградського збігається абсолютно, то
\[
\sum_{k=1}^\infty \frac1{q_1q_2\dots q_k}=d+b.
\]

% Приклад назви пункту
\subsection{Тополого-метричні та фрактальні властивості множини
неповних сум ряду Остроградського}

\emph{Циліндром} рангу $m$ з основою $c_1c_2\dots c_m$ називається
множина $\Delta'_{c_1c_2\dots c_m}$ всіх неповних сум, які мають
зображення $\Delta_{c_1c_2\dots c_ma_{m+1}\dots a_{m+k}\dots}$, де
$a_{m+j}\in\set{0,1}$ для будь-якого $j\in\N$. Очевидно, що
\[
\Delta'_{c_1c_2\dots c_ma}\subset\Delta'_{c_1c_2\dots c_m}, \quad
a\in\set{0,1}.
\]

% Приклад теоремоподібної структури з додатковою інформацією в заголовку
\begin{definition}[{\cite[с.~59]{Pra98}}]
\emph{Фракталом} називається кожна континуальна обмежена множина
простору $\R^1$, яка має тривіальну (рівну $0$ або $\infty$)
$H_\alpha$-міру Хаусдорфа, порядок $\alpha$ якої дорівнює
топологічній розмірності.
\end{definition}

Ті нуль-множини Лебега простору $\R^1$, розмірність
Хаусдорфа\nobreakdash--\hspace{0pt}Безиковича яких дорівнює $1$,
називаються \emph{суперфракталами}, а континуальні множини, що
мають нульову розмірність Хаусдорфа--Безиковича, називаються
\emph{аномально фрактальними}.


% Приклад висновків до розділу
\section*{Висновки до розділу~\ref{ch:o1series}}

У розділі~\ref{ch:o1series} введене поняття ряду Остроградського
$1$-го виду та його підхідних чисел, запропоновані деякі
властивості підхідних чисел. Доведено, що кожне дійсне число
$x\in(0,1)$ можна подати у вигляді ряду Остроградського $1$-го
виду: ірраціональне "--- єдиним чином у вигляді нескінченного ряду
Остроградського, раціональне "--- двома різними способами у
вигляді скінченного ряду Остроградського. Ці результати не є
новими, їх можна знайти, наприклад, у
роботах~\cite{Rem51,Sie11STNW,Pie29,VaZ75,Sha86} та~ін. Вони
наведені тут для повноти викладу.

Новими в цьому розділі є результати, що стосуються неповних сум
ряду Остроградського. Описані тополого-метричні та фрактальні
властивості множини неповних сум ряду Остроградського. Описано
множини чисел, ряди Остроградського яких є простими і густими
відповідно. Доведено, що випадкова неповна сума ряду
Остроградського має або дискретний розподіл або сингулярний
розподіл канторівського типу. Досліджено поведінку на
нескінченності модуля характеристичної функції випадкової неповної
суми ряду Остроградського.
%XAMPL-CH1
%</xampl-ch1>
%<*xampl-concl>
%<<XAMPL-CONCL
%% xampl-concl.tex  Приклад висновків до дисертації
\chapter*{Висновки}

Це не є справжні висновки до дисертації. Це лише приклад, який
повинен допомогти користувачу підготувати свій файл. Але я зробив
його з висновків до своєї дисертації.

Ряди Остроградського $1$-го виду дозволяють розширити можливості
формального задання і аналітичного дослідження фрактальних множин,
сингулярних мір, недиференційовних функцій та інших об'єктів зі
складною локальною будовою.

В дисертаційній роботі отримано такі результати.
\begin{itemize}
\item Розроблено основи метричної теорії чисел, представлених
рядами Остроградського $1$-го виду. Зокрема, досліджено геометрію
розвинень чисел в ряди Остроградського $1$-го виду, отримано
основне метричне відношення та його оцінки, які допомагають у
розв'язанні задач про міру Лебега множин чисел з умовами на
елементи зображення.

\item Знайдено умови нуль-мірності (додатності міри) певних класів
замкнених ніде не щільних множин чисел, заданих умовами на
елементи їх розвинення в ряд Остроградського $1$-го виду.

\item Вивчено тополого-метричні та фрактальні властивості множини
неповних сум заданого ряду Остроградського $1$-го виду та
розподілів ймовірностей на ній.

\item Досліджено структуру та властивості випадкової величини з
незалежними різницями послідовних елементів її представлення рядом
Остроградського $1$-го виду.

\item Вивчено диференціальні та фрактальні властивості однієї
функції, заданої перетворювачем елементів ряду Остроградського
$1$-го виду її аргумента в двійкові цифри значення функції.
\end{itemize}

Як виявилося, існують принципові відмінності метричної теорії
рядів Остроградського та метричної теорії ланцюгових дробів.
Зокрема, існує клас замкнених ніде не щільних множин додатної міри
Лебега, описаних в термінах елементів ряду Остроградського. В той
же час, аналогічні множини, задані у термінах елементів
ланцюгового дробу, мають нульову міру Лебега.

Проведені дослідження лежать в руслі сучасних математичних
досліджень об'єктів зі складною локальною поведінкою (будовою),
пов'язаних з ланцюговими дробами, рядами Люрота,
$\beta$-розкладами тощо, інтерес до яких у світі достатньо
високий. Отримані результати та запропоновані методи можуть бути
корисними при розв'язанні задач метричної теорії чисел,
представлених рядами Остроградського $2$-го виду або іншими
зображеннями з нескінченним алфавітом.
%XAMPL-CONCL
%</xampl-concl>
%<*xampl-bib>
%<<XAMPL-BIB
%% xampl-bib.tex  Приклад файла-оболонки для списку/списків літератури
% Рядки, що починаються з %GATHER, призначені для WinEdt
% Якщо є лише один список літератури, оточення bibset не потрібно використовувати
%GATHER{xampl-thesis.bib}
\begin{bibset}{Список використаних джерел}
\bibliographystyle{gost71u}
% Для сортування літератури за алфавітом використовуйте
%\bibliographystyle{gost71s}
\bibliography{xampl-thesis}
\end{bibset}
%GATHER{xampl-mybib.bib}
\begin{bibset}[a]{Список публікацій автора}
\bibliographystyle{gost71u}
\bibliography{xampl-mybib}
\end{bibset}
%XAMPL-BIB
%</xampl-bib>
%<*xampl-aref>
%<<XAMPL-AREF
%% xampl-aref.tex  Приклад файла автореферату дисертації
\documentclass{vakaref}
% Для друкування сторінки A5 на аркуші паперу формату A4 доцільно
% використовувати опцію oneside
%\documentclass[a4paper,oneside]{vakaref}

% Налагодження кодування шрифта, кодування вхідного файла
% та вибір необхідних мов
\usepackage[T2A]{fontenc}
\usepackage[cp1251]{inputenc}
\usepackage[english,russian,ukrainian]{babel}

% Підключення необхідних пакетів. Наприклад,
% Пакети AMS для підтримки математики, теорем, спеціальних шрифтів
\usepackage[intlimits]{amsmath}
\allowdisplaybreaks
\usepackage{amsthm}
\usepackage{amssymb}
% Налагодження нумерованих списків
%\usepackage{enumerate}
% Гіпертекстові документи
%\usepackage{hyperref}
% або лише спеціальне форматування URL
%\usepackage{url}
% У списку літератури зворотні вказівки на посилання
%\usepackage{backref}
% Сортування посилань
%\usepackage[noadjust]{cite}
% Останні два пакети несумісні між собою. Крім того, конфліктують з цим класом!

% Налагодження параметрів сторінки (зокрема берегів).
% Наприклад, за допомогою пакета geometry
\usepackage{geometry}
\geometry{total={11cm,17cm},includehead}
% Щоб "розтягнути" сторінку на аркуш формату A4, відкрийте цей рядок
% (але викликати опцію класу a5paper!)
%\geometry{mag=1414}

% Означення теорем (теоремоподібних структур)
% Класичний варіант: для кожної теореми свій лічильник,
% тобто теорема 1.1, лема 1.1, теорема 1.2
\theoremstyle{plain}
\newtheorem{theorem}{Теорема}[chapter]
\newtheorem{lemma}{Лема}[chapter]
\newtheorem{corollary}{Наслідок}[chapter]
\theoremstyle{definition}
\newtheorem{definition}{Означення}[chapter]
\newtheorem{example}{Приклад}[chapter]
\theoremstyle{remark}
\newtheorem{remark}{Зауваження}[chapter]
% Цікавий варіант: всі теореми нумеруються одним лічильником,
% тобто теорема 1.1, лема 1.2, теорема 1.3
%\theoremstyle{plain}
%\newtheorem{theorem}{Теорема}[chapter]
%\newtheorem{lemma}[theorem]{Лема}
%\newtheorem{corollary}[theorem]{Наслідок}
%\theoremstyle{definition}
%\newtheorem{definition}[theorem]{Означення}
%\newtheorem{example}[theorem]{Приклад}
%\theoremstyle{remark}
%\newtheorem{remark}[theorem]{Зауваження}

% Локальні означення
\newcommand{\N}{\mathbb{N}}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\set}[1]{\left\{#1\right\}}
\newcommand{\abs}[1]{\left\lvert#1\right\rvert}
\newcommand{\norm}[2][]{\left\lVert#2\right\rVert_{#1}}
% Це потрібно для скороченого запису об'єктів, пов'язаних з рядами Остроградського
\newcommand{\Osign}[1]{\mathrm{O}^{#1}}
\newcommand{\bOsign}[1]{\bar{\mathrm{O}}^{#1}}
\makeatletter
\newcommand{\Cset}[2][\bOsign1]{C[#1,
  \if\relax\expandafter\@gobble#2\relax #2\else\{#2\}\fi]}
\makeatother

% Інформація про використані пакети тощо.
% Може знадобитися для відлагодження класу документа
%\listfiles

\begin{document}

% Назва дисертації
\title{Метрична та ймовірнісна теорія чисел,
  представлених рядами Остроградського 1-го~виду}
% Прізвище, ім'я, по батькові здобувача
\author{Барановський Олександр Миколайович}
% Прізвище, ім'я, по батькові наукового керівника/консультанта
\supervisor{Працьовитий Микола Вікторович}
% Науковий ступінь, вчене звання наукового керівника/консультанта
  {доктор фізико-математичних наук, професор}
% Установа, де працює науковий керівник/консультант, і посада
  {Національний педагогічний університет імені {М.",П.",Драгоманова},
   завідувач кафедри вищої математики;
   Інститут математики НАН України,
   завідувач відділу фрактального аналізу}
% Спеціальність
\speciality{01.01.01}
% Варіант із вказуванням факультативних аргументів
%\speciality[математичний аналіз]{01.01.01}[фізико-математичних наук]
% Індекс за УДК
\udc{511.72}
% Установа, де виконана робота (з вказанням відомчої підпорядкованості)
\institution{Національний педагогічний університет імені {М.",П.",Драгоманова},
  Міністерство освіти і науки України}

% Прізвище, ім'я, по батькові першого опонента
\opponent{Кошманенко Володимир Дмитрович}
% Науковий ступінь, вчене звання першого опонента
  {доктор фізико-математичних наук, професор}
% Установа, де працює перший опонент, і посада
  {Інститут математики НАН України,
   провідний науковий співробітник відділу математичної фізики}
% Інформація про другого опонента
\opponent{Назаренко Микола Олексійович}
  {кандидат фізико-математичних наук, \linebreak[1] старший науковий співробітник}
  {Київський національний університет імені Тараса Шевченка,
   доцент кафедри математичного аналізу}
% Інформація про третього опонента (для докторських дисертацій)
% ...

% Провідна установа. Відкрийте ці рядки, якщо потрібно
%\linstitution{Національний технічний університет України \linebreak <<КПІ>>,
%  кафедра математичного аналізу та теорії ймовірностей,
%  Міністерство освіти і науки України}
%  {м.~Київ}

% Шифр ради
\council{Д~26.206.01}
% Альтернативна назва установи, де створена рада, для обкладинки
  [Інститут математики, Національна академія наук України]
% Назва установи, де створена рада
  {Інститут математики НАН України}
% Адреса установи, де створена рада
  {01601 м.~Київ, вул.~Терещенківська, 3}
% Учений секретар ради
\secretary{Романюк~А.",С.}

% Дата захисту і дата розсилання автореферату
% Відкрийте, коли готуєте варіант для ВАК уже після захисту
%\defencedate{2007/04/24}{15:00}
%\postdate{2007/03/23}

% Тут буде обкладинка
\maketitle


% Автореферат не має розділів, підрозділів і т. д., а лише
% структурні частини, що позначаються командою \part
\part{Загальна характеристика роботи}

\paragraph{Актуальність теми}

Це не є справжній автореферат дисертації. Це лише приклад, який
повинен допомогти користувачу підготувати свій файл. Але я зробив
його із свого автореферату. Тому формули, теореми, доведення,
імена, книги і статті у списку літератури інколи можуть бути
справжніми (хоча можуть здаватися безглуздими, бо вирвані з
контексту).

Оскільки ця частина автореферату майже повторює вступ до
дисертації, то немає сенсу тут наводити якийсь текст, лише назви
пунктів.

\paragraph{Зв'язок роботи з науковими програмами, планами, темами}

\paragraph{Мета і завдання дослідження}

\subparagraph{Методи дослідження}

\paragraph{Наукова новизна одержаних результатів}

\paragraph{Практичне значення одержаних результатів}

\paragraph{Особистий внесок здобувача}

\paragraph{Апробація результатів дисертації}

\paragraph{Публікації}

Щоб згенерувати список літератури за допомогою Bib\TeX, у тексті
необхідно мати посилання~\cite{Bar98fasp1,Bar98fasp2,PrB01umc}.

\paragraph{Структура дисертації}

Робота складається зі вступу, чотирьох розділів, висновків. Обсяг
дисертації 138~сторінок машинописного тексту, список використаних
джерел (121~найменування) та список публікацій автора
(23~найменування) займають 17~сторінок.


\part{Основний зміст роботи}

В \textbf{розділі~1} вводиться поняття ряду Остроградського $1$-го
виду, елементів та підхідних чисел ряду Остроградського $1$-го
виду\ldots

Далі наведена цитата з <<Порядку присудження наукових ступенів і
присвоєння вченого звання старшого наукового співробітника>>,
затвердженого постановою Кабінету Міністрів України від 07.03.2007
№~423. Лише для того, щоб чимось заповнити сторінку. За допомогою
цієї сторінки можна порахувати кількість рядків на сторінці та
символів у рядку.

<<11. Дисертація на здобуття наукового ступеня є кваліфікаційною
науковою працею, виконаною особисто здобувачем у вигляді
спеціально підготовленого рукопису або опублікованої монографії.
Підготовлена до захисту дисертація повинна містити висунуті
здобувачем науково обґрунтовані теоретичні або експериментальні
результати, наукові положення, а також характеризуватися єдністю
змісту і свідчити про особистий внесок здобувача в науку.

Дисертація, що має прикладне значення, додатково до основного
тексту повинна містити відомості та документи, що підтверджують
практичне використання отриманих здобувачем результатів "---
впровадження у виробництво, достатню дослідно-виробничу перевірку,
отримання нових кількісних і якісних показників, суттєві переваги
запропонованих технологій, зразків продукції, матеріалів тощо, а
дисертація, що має теоретичне значення, "--- рекомендації щодо
використання наукових висновків.

Теми дисертацій пов'язуються, як правило, з напрямами основних
науково-дослідних робіт вищих навчальних закладів або наукових
установ і затверджуються вченими (науково-технічними) радами для
кожного здобувача окремо з одночасним призначенням наукового
консультанта в разі підготовки докторської чи наукового керівника
в разі підготовки кандидатської дисертації.

Мови у дисертації використовуються згідно із законодавством.

12. Дисертація на здобуття наукового ступеня доктора наук є
кваліфікаційною науковою працею, обсяг основного тексту якої
становить 11--13, а для суспільних і гуманітарних наук "--- 15--17
авторських аркушів, оформлених відповідно до державного стандарту.

Докторська дисертація:

повинна містити наукові положення та науково обґрунтовані
результати у певній галузі науки, що розв'язують важливу наукову
або науково-прикладну проблему і щодо яких здобувач є суб'єктом
авторського права;

може бути подана до захисту за однією або двома спеціальностями
однієї галузі науки і повинна відповідати за кожною спеціальністю
вимогам, зазначеним в абзаці третьому цього пункту.

У разі коли дисертація виконана за двома спеціальностями, а
спеціалізована вчена рада, до якої подана дисертація, має право
проводити захист дисертацій лише за однією з них, то за
відсутності в Україні спеціалізованих вчених рад з правом
проведення захисту дисертацій за такими двома спеціальностями з
дозволу ВАК може проводитися разовий захист. Порядок формування
складу спеціалізованої вченої ради для проведення разового захисту
встановлює ВАК.

Наукові положення і результати, які виносилися на захист у
кандидатській дисертації здобувача наукового ступеня доктора наук,
не можуть повторно виноситися на захист у його докторській
дисертації. Ці положення і результати можуть бути наведені лише в
оглядовій частині докторської дисертації.

13. Дисертація на здобуття наукового ступеня кандидата наук є
кваліфікаційною науковою працею, обсяг основного тексту якої
становить 4,5--7, а для суспільних і гуманітарних наук "--- 6,5--9
авторських аркушів, оформлених відповідно до державного стандарту.

Кандидатська дисертація:

повинна містити нові науково обґрунтовані результати проведених
здобувачем досліджень, які розв'язують конкретне наукове завдання,
що має істотне значення для певної галузі науки;

подається до захисту лише за однією спеціальністю.

14. Основні наукові результати дисертації повинні відображати
особистий внесок здобувача в їх досягнення та обов'язково бути
опубліковані ним у формі наукових монографій, посібників (для
дисертацій з педагогічних наук) чи статей у наукових (зокрема
електронних) фахових виданнях України або інших держав. Перелік
наукових фахових видань України затверджує ВАК.

До опублікованих праць, які додатково відображають наукові
результати дисертації, належать дипломи на відкриття; патенти і
авторські свідоцтва на винаходи, державні стандарти, промислові
зразки, алгоритми та програми, що пройшли експертизу на новизну;
рукописи праць, депонованих в установах державної системи
науково-технічної інформації та анотованих у наукових журналах;
брошури, препринти; технологічні частини проектів на будівництво,
розширення, реконструкцію та технічне переоснащення підприємств;
інформаційні карти на нові матеріали, що внесені до державного
банку даних; друковані тези, доповіді та інші матеріали наукових
конференцій, конгресів, симпозіумів, семінарів, шкіл тощо.

Повноту викладу матеріалів дисертації в опублікованих працях
здобувача визначає спеціалізована вчена рада.

Мінімальну кількість та обсяг публікацій, які розкривають основний
зміст дисертацій, визначає ВАК.

Апробація матеріалів дисертації на наукових конференціях,
конгресах, симпозіумах, семінарах, школах тощо обов'язкова.

15. Докторська і кандидатська дисертації супроводжуються окремими
авторефератами обсягом відповідно 1,3--1,9 і 0,7--0,9 авторського
аркуша, які подаються державною мовою. Вимоги до оформлення
автореферату встановлює ВАК.

Автореферат дисертації видається друкарським способом з
обов'язковим зазначенням вихідних відомостей видання у кількості,
визначеній спеціалізованою вченою радою, і надсилається членам
спеціалізованої вченої ради та заінтересованим організаціям не
пізніше ніж за місяць до захисту дисертації. Список адресатів
визначає спеціалізована вчена рада, яка прийняла до захисту
дисертацію. Перелік установ та організацій, яким обов'язково
надсилається автореферат, визначає ВАК.>>


\part{Висновки}

Ряди Остроградського $1$-го виду дозволяють розширити можливості
формального задання і аналітичного дослідження фрактальних множин,
сингулярних мір, недиференційовних функцій та інших об'єктів зі
складною локальною будовою\ldots

% Список опублікованих праць за темою дисертації буде тут. Команда
% \part "захована" всередині команди \bibliography
%GATHER{xampl-mybib.bib}
\bibliographystyle{gost71u}
\bibliography{xampl-mybib}


\part{Анотації}

\emph{Барановський~О.~М.} Метрична та ймовірнісна теорія чисел,
представлених рядами Остроградського 1-го виду. "--- Рукопис.

Дисертація на здобуття наукового ступеня кандидата
фізико"=математичних наук за спеціальністю 01.01.01 "---
математичний аналіз. "--- Інститут математики НАН України, Київ,
2007.

\smallskip

Дисертація присвячена дослідженню математичних об'єктів зі
\linebreak складною локальною будовою: фрактальних множин,
сингулярних мір, недиференційовних функцій, заданих у термінах
рядів Остроградського $1$-го виду. Досліджуються деякі класи
замкнених ніде не щільних множин, заданих умовами на елементи їх
розвинення в ряд Остроградського. Встановлено умови нуль-мірності
та додатності міри Лебега множин з цих класів. Проводиться
порівняння з відповідними твердженнями про міру Лебега множин
чисел, заданих умовами на елементи їх розвинення в ланцюговий
дріб. Вказано на принципові відмінності метричної теорії рядів
Остроградського та метричної теорії ланцюгових дробів. Також
вивчено тополого-метричні та фрактальні властивості множини
неповних сум та випадкової неповної суми ряду Остроградського 1-го
виду. Для випадкової величини з незалежними різницями елементів
ряду Остроградського знайдено критерій дискретності
(неперервності) розподілу та умови сингулярності канторівського
типу. Вивчено диференціальні та фрактальні властивості функції,
заданої перетворювачем елементів ряду Остроградського в двійкові
цифри.

\smallskip

\emph{Ключові слова}: ряд Остроградського 1-го виду, неповна сума
ряду, міра Лебега, сингулярна міра канторівського типу,
недиференційовна функція, розмірність Хаусдорфа--Безиковича,
фрактал, перетворення Фур'є--Стілтьєса.

\bigskip

{\selectlanguage{russian}

\emph{Барановский~А.~Н.} Метрическая и вероятностная теория чисел,
представленных рядами Остроградского 1-го вида. "--- Рукопись.

Диссертация на соискание ученой степени кандидата
физико"=математических наук по специальности 01.01.01~---
математический анализ. "--- Институт математики НАН Украины, Киев,
2007.

\smallskip

Диссертация посвящена исследованию математических объектов со
сложной локальной структурой: фрактальных множеств, сингулярных
мер, недифференцируемых функций, которые заданы в терминах рядов
Остроградского $1$-го вида.

Исследуется множество $\Cset{V_n}$, являющееся с точностью до
счетного множества множеством всех иррациональных чисел,
$\bOsign1$\nobreakdash-\hspace{0pt}символы (т.е. разности
элементов ряда Остроградского) которых удовлетворяют условию
\(g_n(x)\in V_n\subseteq\N\) для всех $n\in\N$. Найдены условия на
множества $V_n$, при которых $\Cset{V_n}$ является множеством
меры~$0$ или множеством положительной меры Лебега. Сделано
сравнение с соответствующими утверждениями о мере Лебега множеств
чисел, заданных условиями на элементы их разложения в цепную
дробь. Указаны принципиальные отличия между метрической теорией
рядов Остроградского 1-го вида и метрической теорией цепных
дробей. В~частности, доказано существование множеств типа
$\Cset{V_n}$ положительной меры таких, что соответствующие
множества, определенные в терминах элементов цепной дроби, имеют
нулевую меру.

Сумма $s=s(\{a_k\})$ ряда
\[
\sum_{k=1}^\infty \frac{(-1)^{k-1}a_k}{q_1q_2\dots q_k}, \quad
\text{где $a_k\in\set{0,1}$},
\]
называется неполной суммой заданного ряда Остроградского $1$-го
вида. Изучены тополого"=метрические и фрактальные свойства
множества неполных сумм ряда Остроградского 1-го вида. Также
изучена структура, тополого"=метрические и фрактальные свойства
случайной неполной суммы ряда Остроградского 1-го вида
\[
\psi=\sum_{k=1}^\infty \frac{(-1)^{k-1}\varepsilon_k}{q_1q_2\dots
q_k},
\]
где $\{\varepsilon_k\}$ "--- последовательность независимых
случайных величин, которые принимают значения $0$ и $1$ с
вероятностями $p_{0k}$ и $p_{1k}$ соответственно.

Для случайной величины
\[
\xi = \sum_{k=1}^\infty
\frac{(-1)^{k-1}}{\eta_1(\eta_1+\eta_2)\dots(\eta_1+\eta_2+\dots+\eta_k)},
\]
$\bOsign1$-символы $\eta_k$ которой являются независимыми
случайными величинами, принимающими значения $1$, $2$,~$\dots$,
$m$,~$\dots$ с вероятностями $p_{1k}$, $p_{2k}$,~$\dots$,
$p_{mk}$,~$\dots$ соответственно, найдено выражение функции
распределения и ее производной, описан спектр распределения.
Найдены критерий дискретности (непрерывности) распределения и
условия сингулярности канторовского типа.

Изучены дифференциальные и фрактальные свойства функции, заданной
следующим образом. Пусть иррациональное число $x$ задано своим
рядом Остроградского с элементами $q_n(x)$, тогда значение функции
\(y=\rho(x)\) определяется двоичной дробью, цифры которой
вычисляются по правилу
\[
\alpha_1=1-\delta_{q_1(x)}, \quad
\alpha_{n+1}=1-\alpha_n\delta_{q_{n+1}(x)},
\]
где $\delta_m$ "--- индикатор множества чётных чисел. В
рациональных точках функция определяется равенством
$\rho(x)=0{,}\alpha_1\alpha_2\dots \alpha_n111\dots$, где
$\alpha_i$ определяются по тому же правилу. Доказано, что эта
функция непрерывна в иррациональных точках, разрывна в
рациональных и нигде не дифференцируема. Множество значений
функции является самоподобным фрактальным множеством.

\smallskip

\emph{Ключевые слова}: ряд Остроградского 1-го вида, неполная
сумма ряда, мера Лебега, сингулярная мера канторовского типа,
недифференцируемая функция, рaзмeрнoсть Хаусдорфа--Безиковича,
фрактал, преобразование Фурье--Стилтьеса.}

\bigskip

{\selectlanguage{english}

\emph{Baranovskyi~O.~M.} Metric and probabilistic theory of
numbers defined by the first Ostrogradsky series.~--- Manuscript.

Candidate's thesis on Physics and Mathematics, speciality
01.01.01~--- mathematical analysis.~--- Institute for Mathematics
of NAS of Ukraine, Kyiv, 2007.

\smallskip

The thesis is devoted to the investigation of mathematical objects
(fractal sets, singular measures, nondifferentiable functions)
with complicated local structure defined in terms of the first
Ostrogradsky series. We investigate some classes of closed nowhere
dense sets defined by conditions on elements of their expansion in
the Ostrogradsky series. We found conditions for these sets to be
of zero resp.\ positive Lebesgue measure. We compare these results
with the corresponding ones in terms of continued fractions. We
stress the fundamental difference between the metric theory of the
Ostrogradsky series and the metric theory of continued fractions.
We also study topological, metric and fractal properties of the
set of incomplete sums of the Ostrogradsky series and of the
random incomplete sum of the Ostrogradsky series. For random
variables with independent differences of elements of the
Ostrogradsky series we found the criterion for discreteness and
conditions for Cantor-type singularity. We study the differential
and fractal properties of the function defined by the transduser
of elements of the Ostrogradsky series to binary digits.

\smallskip

\emph{Key words}: the first Ostrogradsky series (Pierce
expansion), incomplete sum of series, the Lebesgue measure,
Cantor-type singular measure, nondifferentiable function,
Hausdorff--Besicovitch dimension, fractal, Fourier--Stieltjes
transform.}

% Випускні дані друкарні
% Відкрити наступні два рядки, якщо потрібно на окремому аркуші
%\newpage
%\pagestyle{empty}
\parindent0pt

\hbox{}
\vfill

\hrulefill

% Це приклад з друкарні Інституту математики НАН України
% Тут користувач вписує "свої" дату, к-сть друкованих аркушів,
% (можливо тираж), номер замовлення і адресу друкарні
Підписано до друку 20.03.2007. Формат $60\times84/16$. Папір друк.
Офсет. друк. Фіз. друк. арк. 1,5. Умовн. друк. арк. 1,4.

Тираж 100 пр. Зам. 89.

\hrulefill

Інститут математики НАН України,

01601, м.~Київ-4, вул. Терещенківська, 3.

\end{document}
%XAMPL-AREF
%</xampl-aref>
%<*xampl-thesis.bib>
%<<XAMPL-THESIS.BIB
%% xampl-thesis.bib  Приклад списку використаних джерел

@ARTICLE{VaZ75,
 author       = "К. Г. Валеев and Е. Д. Злебов",
 title        = "О метрической теории алгоритма {М.",В.",Остроградского}",
 journal      = "Укр. мат. журн.",
 volume       = 27,
 number       = 1,
 year         = 1975,
 pages        = "64--69",
 language     = "russian"
}

@BOOK{Pra98,
 author       = "М. В. Працьовитий",
 title        = "Фрактальний підхід у дослідженнях сингулярних розподілів",
 publisher    = "Вид-во НПУ імені М.~П.~Драгоманова",
 address      = "Київ",
 year         = 1998,
 numpages     = 296,
 language     = "ukrainian"
}

@ARTICLE{Rem51,
 author       = "Е. Я. Ремез",
 title        = "О знакопеременных рядах, которые могут быть связаны
                 с двумя алгорифмами {М.",В.",Остроградского} для
                 приближения иррациональных чисел",
 journal      = "Успехи мат. наук",
 volume       = 6,
 number       = "5 (45)",
 year         = 1951,
 pages        = "33--42",
 language     = "russian"
}

@ARTICLE{Pie29,
 author       = "T. A. Pierce",
 title        = "On an algorithm and its use in approximating roots
                 of algebraic equations",
 journal      = "Amer. Math. Monthly",
 volume       = 36,
 year         = 1929,
 number       = 10,
 pages        = "523--525",
 language     = "english"
}

@ARTICLE{Sha86,
 author       = "J. O. Shallit",
 title        = "Metric theory of {Pierce} expansions",
 journal      = "Fibonacci Quart.",
 volume       = 24,
 number       = 1,
 year         = 1986,
 pages        = "22--40",
 language     = "english"
}

@ARTICLE{Sie11STNW,
 author       = "W. Sierpi\'{n}ski",
 title        = "O kilku algorytmach dla rozwijania
                liczb rzeczywistych na szeregi",
 journal      = "Sprawozdania z posiedze\'{n} Towarzystwa
                Naukowego Warszawskiego, Wydzia\l{} III",
 volume       = 4,
 year         = 1911,
 pages        = "56--77",
 note         = "Є франц. переклад {\selectlanguageifdefined{french}
\BibEmph{Sierpi\'{n}ski~W.} Sur quelques algorithmes pour d\'{e}velopper les
  nombres r\'{e}els en s\'{e}ries~// Oeuvres choisies. "---
\newblock Warszawa: PWN, 1974. "---
\newblock t.~I. "---
\newblock P.~236--254.}",
 language     = "polish"
}

INCOLLECTION{Sie74,
 author       = "W. Sierpi\'{n}ski",
 title        = "Sur quelques algorithmes pour d\'{e}velopper
                les nombres r\'{e}els en s\'{e}ries",
 booktitle    = "Oeuvres choisies",
 publisher    = "PWN",
 address      = "Warszawa",
 volume       = "I",
 year         = 1974,
 pages        = "236--254",
 language     = "french"
}
%XAMPL-THESIS.BIB
%</xampl-thesis.bib>
%<*xampl-mybib.bib>
%<<XAMPL-MYBIB.BIB
%% xampl-mybib.bib  Приклад списку публікацій автора

@INCOLLECTION{Bar98fasp1,
 author       = "О. М. Барановський",
 title        = "Ряди {Остроградського} як засіб аналітичного
                задання множин і випадкових величин",
 booktitle    = "Фрактальний аналіз та суміжні питання",
 publisher    = "Ін-т математики НАН України;
                Нац. пед. ун-т імені М.~П.~Драгоманова",
 address      = "Київ",
 year         = 1998,
 number       = 1,
 pages        = "91--102",
 language     = "ukrainian"
}

@INCOLLECTION{Bar98fasp2,
 author       = "О. М. Барановський",
 title        = "Задання ніде не диференційовних функцій за допомогою
                представлення чисел рядами {Остроградського}",
 booktitle    = "Фрактальний аналіз та суміжні питання",
 publisher    = "Ін-т математики НАН України;
                Нац. пед. ун-т імені М.~П.~Драгоманова",
 address      = "Київ",
 year         = 1998,
 number       = 2,
 pages        = "215--221",
 language     = "ukrainian"
}

@INPROCEEDINGS{PrB01umc,
 author       = "М. В. Працьовитий and О. М. Барановський",
 title        = "Ряди {Остроградського} та їх використання для
                дослідження математичних об'єктів зі складною
                локальною будовою",
 booktitle    = "Теорія ймовірностей і математична статистика:
                Український математичний конгрес, Київ, 21--23 серпня 2001~р.: Тези допов.",
 xbooktitle    = "Український математичний конгрес,
                21--23 серпня 2001~р., Київ.
                Теорія ймовірностей і математична статистика:
                Тези доповідей",
 address      = "Київ",
 year         = 2001,
 pages        = 26,
 language     = "ukrainian"
}
%XAMPL-MYBIB.BIB
%</xampl-mybib.bib>
%    \end{macrocode}
%\fi
% \Finale
\endinput
