-
Notifications
You must be signed in to change notification settings - Fork 8
Основная информация
ВКР состоит из следующих элементов: титульный лист, задание на ВКР, отзыв руководителя, отзыв рецензента, отзыв консультанта сам текст работы. Как правило, первые 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}
Выпускная квалификационная работа содержит \pageref*{LastPage}~страниц, \total{totfigures}~рисунок, \total{tottables}~таблиц, \total{totappendix}~приложение, \total{totreferences}~источника.
\end{abstract}
Здесь встречаются счётчики для автоматического подсчёта общего числа рисунков, таблиц и т. д. Если в работе нет рисунков или таблиц, то соответствующие счётчики равны 0.
Замечание. Если подключён пакет hyperref
, то стоит написать \pageref*{LastPage}~страниц
(команда со звездой), чтобы не создавалась гиперссылка. Если пакет не подключён, то надо писать \pageref{LastPage}~страниц
.
Содержание рассчитано на три уровня. Используется пакет 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
и стиля gost. При использовании такого подхода возникает много проблем с оформлением и работой.
Здесь можно посмотреть как организовать автоматический подсчёт.
Каждое приложение оформляется с помощью окружения gostappendix
. Обязательный аргумент отвечает за название приложения. Для оформления программного кода используется пакет listings. Если необходимо изменить стиль слова "Приложение", то это достигается путём переопределения команды \appendixnumtitle
.
Перед началом первого приложения нужно написать команду \appendix
. Она печатает слово "ПРИЛОЖЕНИЯ" или "ПРИЛОЖЕНИЕ" на отдельной странице по центру и добавляется в оглавление. Множественное или единственное число слова выбирается на основе количества приложений.
Замечание. Для корректного формирования оглавления и закладок pdf документа необходимо минимум 3 запуска компиляции документа.
За названия отвечают команды: \appendixestitle
(ПРИЛОЖЕНИЯ), \appendixtitle
(ПРИЛОЖЕНИЕ). Для переопредления названий нужно написать следующее:
\renewcommand*{\appendixtitle}{Приложение}
Пример использования:
\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}