Skip to content

Основная информация

Alexander Kryuchkov edited this page Sep 28, 2023 · 10 revisions

Основные моменты

ВКР состоит из следующих элементов: титульный лист, задание на ВКР, отзыв руководителя, отзыв рецензента, отзыв консультанта сам текст работы. Как правило, первые 5 элемента имеют образцы, созданные в Microsoft Office Word, поэтому их проще добавить отдельно к ВКР. Далее рассматривается только оформление последнего элемента ВКР. Для оформление текста работы создан класс документа для XeLaTeX.

Использование класса документа

Для использования класса документа достаточно скопировать файл bomgost.cls в каталог с основным документом. После указать в начале документа команду:

\documentclass{bomgost}

Класс документа основан на классе extarticle, поэтому можно указывать все опции, которые есть в классе extarticle.

Например:

\documentclass[draft]{bomgost}

По умолчанию установлены следующие параметры: 14pt, oneside.

В bomgost.cls определены свои опции:

Опция Описание
rusmathsym Переопределение математических команд: \epsilon, \phi, \kappa, \le, \leq, \ge, \geq, \emptyset. Чтобы они печатали символы, которые приняты в российской типографии.
amspack Подключение пакетов: amsmath, amsfonts, amssymb, amsthm, mathtools.
eqnumwithinsec Нумерация формул в пределах section.
hyperref Использование пакета hyperref и некоторая настройка его опций.

Колонтитулы и поля страницы

Для установки отступов полей страницы используется следующая команда:

% Поля страницы.
\RequirePackage[a4paper, headsep = 0.5 \headsep, left=2.5cm, right=2.1cm, top=2cm, bottom=2.1cm]{geometry}

Для установки нумерации страниц в правой верхнем углу используется пакет fancyhdr.

Текст

Текст имеет размер 14pt и используется следующие шрифты:

Тип шрифта Название
с засечками Times New Roman
без засечек Arial
моноширинный Courier New

Если у вас в системе не установлен такие шрифты, то перед началом работы нужно выбрать другие шрифты. Это делается с помощью редактирования файла bomgost.cls:

% Установка шрифтов.
\setmainfont[Mapping=tex-text]{Times New Roman}
\setmonofont[Mapping=tex-text]{Courier New}
\setsansfont[Mapping=tex-text]{Arial}

% Для избежания ошибки о том, что не определён шрифт для кириллических символов.
\newfontfamily\cyrillicfont{Times New Roman}[Script=Cyrillic]
\newfontfamily\cyrillicfonttt{Courier New}[Script=Cyrillic]
\newfontfamily\cyrillicfontsf{Arial}[Script=Cyrillic]

Более подробно можно почитать в документации к пакету fontspec.

Размер отступа первой строки в абзаце устанавливается следующей командой:

% Размер красной строки.
\setlength{\parindent}{1cm}

Заголовки

В extarticle определены команды для деления документа на логические разделы. В классе некоторые команды используются для других целей.

Команды Предназначение
\section оформление пунктов
\subsection оформление подпунктов
\subsubsection оформление подподпунктов
\subparagraph оформление заголовков приложений

В классе переопределена команда \section*. В результате её поведение отличается от стандартного. Изначально команда \section* добавляла ненумерованный заголовок и без записи в содержании. С новым определением этой команды изменяется только действия с содержанием. Теперь заголовок также добавляется в содержание.


Далее рассматриваются различные разделы текста ВКР и команды для их оформления.

Реферат

Здесь располагается кратка информация о работе с перечислением общего количества страниц, рисунков, таблиц, приложений, источников для ссылок. Для оформления этого раздела используется переопределённое окружение abstract.

За название этого раздела отвечает команда \abstracttitle. Для изменения названия заголовка необходимо переопределить эту команду:

\renewcommand*{\abstracttitle}{Новое название}

Как правило, реферат имеет следующий первый абзац:

\begin{abstract}
Выпускная квалификационная работа содержит \printtotpage \printtotfig \printtottab \printtotref[.] В~некоторых случаях количество приложений не указывается.
\end{abstract}

Здесь встречаются счётчики для автоматического подсчёта общего числа рисунков, таблиц и т. д. Если в работе нет рисунков или таблиц, то соответствующие счётчики равны 0 и команда ничего не напечатает. Необязательный аргумент обозначает символ, который печатается в конце команды. По умолчанию он равен запятой. Это нужно для случаев, когда каких-то элементов в работе нет. Так как порядок команд может быть любым и необходимо, чтобы после последней команды была точка, а между командами запятая.

Для добавления общего числа приложений нужно добавить команду \printtotapp[.], если она идёт в конце или \printtotapp в противном случае.

Содержание

Содержание рассчитано на три уровня (больше уровней, по мнению автора, не следует использовать). Пакет tocloft используется для его оформления. Для появления оглавления необходимо написать стандартную команду \tableofcontents. Для изменения заголовка содержания необходимо переопределить команду \toctitle.

Например:

% По умолчанию команда печатает "СОДЕРЖАНИЕ".
\renewcommand*{\toctitle}{Содержание} 

Обозначения и сокращения

Сразу пример оформления:

\section*{ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ}
ОДУ - обыкновенные дифференциальные уравнения.

СЛАУ - система линейных алгебраических уравнений.

и т. д.

Введение

Пример:

\section*{ВВЕДЕНИЕ}
Здесь текст.

Основная часть

Существует требование писать текст "ОСНОВНАЯ ЧАСТЬ" на отдельной странице с выравниванием по центру. Для этого определена команда \mainpart. В тексте достаточно написать её в любом месте, где необходимо.

Если необходимо изменить название или регистр букв, то нужно переопределить команду \mainparttitle.

Пункты, подпункты и подподпункты

Для оформления этих элементов используются обычные команды \section, \subsection, \subsubsection.

Таблицы и рисунки

Для оформления рисунков и таблиц используются обычные команды для LaTeX. Для корректного подсчёта общего количества рисунков и таблиц необходимо заключать их в соответствующие окружения. Для рисунков - gostfigure, для таблиц - gosttable. Это нужно делать для каждой таблицы и каждого рисунка. Если вы будете следить за счётчиками totfigures, tottables, то окружения не нужны.

Пример:

\begin{gostfigure}
 \begin{tikzpicture}
   \begin{axis}[domain=-3:3, width = 0.8 \textwidth, grid = both]
       \addplot[mark=none, thick]{x*x + x - 2};
   \end{axis}
 \end{tikzpicture}
\end{gostfigure}

% Аналогично с таблицами.
\begin{gosttable}
 \begin{tabular}{|c|c|}
   \hline 
   Первый корень &  Второй корень \\ 
   \hline 
   1 & -2  \\ 
   \hline 
 \end{tabular} 
\end{gosttable}

Заключение

Заголовок оформляется с помощью команды \section*{ЗАКЛЮЧЕНИЕ}. Далее идёт обычный текст.
Например:

\section*{ЗАКЛЮЧЕНИЕ}
Текст.

Список литературы

Оформляется с помощью стандартного окружения thebibliography. Пример:

% Список литературы.
\begin{thebibliography}{11}
\bibitem{Bard} Бард Й. Нелинейное оценивание параметров / Й. Бард, Москва: Статистика, 1979. 349 c.
\bibitem{Volterra} Вольтерра В. Математическая теория борьбы за существование // Усп. физ. наук. 1928. № 1 (8). C. 13–34.
\bibitem{Cybenko} Cybenko G. Approximation by Superpositions of a Sigmoidal Function // Mathematics of Control, Signals, and Systems. 1989. (2). C. 303–314.
\end{thebibliography}

Для изменения названия списка литературы нужно переопределить команду \referencestitle.

Автоматический подсчёт источников происходит с помощью расширения команды \bibitem. Количество источников будет равняться числу команд \bibitem. Для автоматизации оформления ссылок можно воспользоваться различными программами. Например, системой Mendeley и программой Mendeley Desktop.

Альтернативный подход это использование bibtex, biblatex, biber и стилей для них. Например, gost для bibtex. При использовании такого подхода возникает много проблем с оформлением и работой, поэтому было принято решение оставить ручное оформление списка литературы.

Здесь можно посмотреть как организовать автоматический подсчёт.

Приложения

Каждое приложение оформляется с помощью окружения gostappendix. Обязательный аргумент отвечает за название приложения. Если необходимо изменить стиль слова "Приложение" в нумерации, то это достигается путём переопределения команды \appendixnumtitle.

Перед началом первого приложения нужно написать команду \appendix. Она печатает слово "ПРИЛОЖЕНИЯ" или "ПРИЛОЖЕНИЕ" на отдельной странице по центру и добавляет в оглавление соответствующую запись. Множественное или единственное число слова выбирается на основе количества приложений.

Замечания.

  • Для корректного формирования оглавления, подсчётв счётчиков и закладок pdf документа необходимо 2 запуска компиляции документа.

  • По правилам оформления, если в тексте несколько приложений, то номер приложения вместе со словом "Приложение" добавляется в содержание без названия самого приложения. В документе заголовок разделяется на две части: "Приложение" с номером (печатается в правом верхнем углу страницы), название приложения (печатается с горизонтальным выравниванием по центру и на следующей строке после номера).

  • Если приложение только одно, то у него нет названия и номера. Печатается только слово "ПРИЛОЖЕНИЕ".

  • После подключении пакета hyperref устанавливается опция bookmarksnumbered. Она нужна, чтобы закладки pdf документа для приложений имели непустое название.

Для изменения названия раздела приложения существуют две команды: \appendixestitle (ПРИЛОЖЕНИЯ), \appendixtitle (ПРИЛОЖЕНИЕ).

Для переопределения названий нужно написать следующее:

\renewcommand*{\appendixtitle}{Приложение}
%или
\renewcommand*{\appendixestitle}{Приложения}

Пример использования:

\appendix

\begin{gostappendix}{Программный код}
 \lstset{language=[11]c++,basicstyle=\ttfamily, showstringspaces=false}
 \begin{lstlisting}
    #include<iostream>

    using namespace std;

    int main()
    {
      auto b = 1;
      auto a = 2;
      cout << "2 + 1 = " << a + b << endl;
      return 0;
    }
 \end{lstlisting}
\end{gostappendix}

\begin{gostappendix}{Ещё программный код}
 \lstset{language=[11]c++,basicstyle=\ttfamily, showstringspaces=false}
 \begin{lstlisting}
    #include<iostream>

    using namespace std;

    int main()
    {
      return 0;
    }
 \end{lstlisting}
\end{gostappendix}