Британские учёные выяснили, что НИРС и ВКР -- слова женского рода. :)
В пакете установлены поля (в мм): 30, 20, 20, 10. Строго говоря размер правого поля не соответствует ГОСТ 7.32-2017, поэтому для выставления переопределения полей в ГОСТовый вариант "30,20,20,15" или в какой-либо другой можно использовать команду:
\newgeometry{a4paper, left=30mm, right=20mm, top=20mm, bottom=15mm}По умолчанию кегль шрифта установлен в 12 пунктов, но иногда требуют 14. Для выставления этого параметра можно воспользоваться командой:
\KOMAoptions{fontsize=14pt}В пакете существует 3 класса документов: diploma (ВКР), research (НИРС) и ordinary (простой отчёт a la ГОСТ). Каждый из них помимо общих имеет специфичные поля титульного листа.
Ниже приводятся все доступные поля с описанием (поля обязательно должны быть заполнены, если не указано иное).
- Обязательные:
\student{...}-- И.О. Фамилия студента;\theme{...}-- тема ВКР/НИРС, у классаordinary-- тип/наименование работы;\group{...}-- группа студента.
- Опциональные:
\faculty{Название факультета}{Код}-- задаёт название факультета на титульном листе, по умолчанию\faculty{Информатика и системы управления}{ИУ};\department{Название кафедры}{Код}-- аналогично для кафедры, по умолчанию\department{Информационная безопасность}{ИУ8}.
- Особенность
\theme{...}: для ВКРов текст, куда вставляется тема работы выглядит такРАСЧЁТНО-ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К ВЫПУСКНОЙ КВАЛИФИКАЦИОННОЙ РАБОТЕ НА ТЕМУ: <тема работы> \supervisor{...}-- И.О. Фамилия руководителя ВКР;\researchConsultant{...}-- И.О. Фамилия консультанта по исследовательской части;\designConsultant{...}-- И.О. Фамилия консультанта по конструкторской части;\technologicalConsultant{...}-- И.О. Фамилия консультанта по технологической части;\economicsConsultant{...}-- И.О. Фамилия консультанта по организационно-экономической части;\lawsConsultant{...}-- И.О. Фамилия консультанта по организационно-правовому обеспечению ИБ;\normController{...}-- И.О. Фамилия нормоконтролера.
- Особенность
\theme{...}: для НИРов текст, куда вставляется тема работы выглядит такОтчёт по научно-исследовательской работе студента на тему <тема работы> \studentFullName{...}-- полные фамилия имя и отчество студента;\profile{...}-- номер зачётки;\speciality{...}-- код специальности (например, 10.05.01) и его расшифровка "в ёлочках";\specialization{...}-- код и расшифровка профиля/специализации (пример:10.05.01\_01 <<Математические методы защиты информации>>);\supervisorWithDegree{...}-- должность,регалиии Фамилия И.О. научного руководителя НИРС (пример:доцент, к.т.н. Иванов И. И.);\supervisor{...}-- И.О. Фамилия руководителя, который допускает к защите.
- Особенность
\theme{...}: это тип (заглавие) работы, например "Отчёт о выполнении лабораторной работы", "Домашняя работа" и т.п., после заглавия следует фраза "по дисциплине"; - Обязательные:
\discipline{...}-- дисциплина в именительном падеже;\student{...}-- И.О. Фамилия студента;\group{...}-- группа;\supervisor{...}-- И.О. Фамилия преподавателя;
- Опциональные:
\version{...}-- вариант работы, по умолчанию является пустым и не вставляется в документ;\noscorefield-- отключение поля для оценки, которое выглядит, как в классеresearch(по умолчанию включено).
Из ГОСТа 7.32-2017:
6.2.1 Наименования структурных элементов отчета:
"СПИСОК ИСПОЛНИТЕЛЕЙ", % У нас (на ИУ8) не используется, один студент -- одна НИРС/ВКР
"РЕФЕРАТ", % У нас не используется
"СОДЕРЖАНИЕ",
"ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ",
"ПЕРЕЧЕНЬ СОКРАЩЕНИЙ И ОБОЗНАЧЕНИЙ",
"ВВЕДЕНИЕ",
"ЗАКЛЮЧЕНИЕ",
"СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ",
"ПРИЛОЖЕНИЕ"
служат заголовками структурных элементов отчета.
Внутренней командой для таких заголовков является \structure{ЗАГОЛОВОК}. Она просто вставляет заголовок структурного элемента. Если очень-очень надо, то можно использовать для определения загловков в "ручном режиме". Например, иногда требуют заголовок "ОСНОВНАЯ ЧАСТЬ", хотя в ГОСТ 7.32-2017 это никак не определено, но как говорится кодекс -- это просто свод указаний, а не жёстких законов (с).
\introduction -- вставляет заголовок "ВВЕДЕНИЕ".
\conclusion -- вставляет заголовок "ЗАКЛЮЧЕНИЕ".
\tableofcontents -- вставляет структурный элемент "СОДЕРЖАНИЕ" целиком.
\abstract -- вставляет заголовок элемента "РЕФЕРАТ" и абзац содержащий количество рисунков, таблиц, источников и приложений.
\listofabbreviations -- вставляет перечень сокращений и обозначений (структурный элемент целиком).
Чтобы добавить аббревиатуру/акроним в этот перечень, необходимо до \begin{document} вставить команды
\newacronym{идентификатор}{АББРЕВИАТУРА}{расшифровка аббревиатуры}Идентификатор должен быть уникальным, и в теории отражать смысл сокращения. Например:
\newacronym{cd}{CD}{compact disk} % пример\termsanddefenitions -- вставляет термины и определения.
В целом всё аналогично сокращениям, следующую команду надо использовать перед \begin{document}:
\newglossaryentry{идентификатор}{
name={термин},
description={определение термина}
}Пример:
\newglossaryentry{latex}{
name={\LaTeX},
description={система компьютерной вёрстки}
}В тексте можно ссылаться на сокращение или термин командой, которая вставит само сокращение/термин и гиперссылку на него в перечне:
\gls{идентификатор} % текст с кликабельной гиперссылкой
\gls*{идентификатор} % только текст, без ссылки
\Gls{идентификатор} % то же самое, но с заглавной буквыНачало секции приложений к отчёту ознаменовывается командой \appendix. Она выставляет счётчики в 0 и переопределяет команды \thefigure, \thetable, \theequation и \thelstlisting так, чтобы оформление нумерации соответствовало ГОСТу.
Каждое приложение должно начинаться с команды \appendixsection{...}, которая принимает один аргумент -- название приложения. Например, если в первое приложение помещена большая принципиальная схема:
\appendixsection{Схема принципиальная}Латех породит заголовок ПРИЛОЖЕНИЕ А Схема принципиальная (и ещё вставит его в содержание). Для второго приложения согласно ГОСТу индекс будет Б, третьему --- В и так далее.
Использовать \section{...} здесь НЕ СЛЕДУЕТ.
Для формирования списка источников используется пакет biblatex-gost. Поэтому смотрим документацию на него и на biblatex. Здесь же приводится краткое изложение работы с библиографией.
Документация и примеры к biblatex-gost (дата обращения 28.10.2024)
Документация к biblatex (дата обращения 28.10.2024)
One does not simply get a reference list. (c) Боромир
Будучи новоиспечённым пользователем латеха, автор сего манускрипта столкнулся со следующими нюансами в работе с библиографией, о которых прежде и не помышлял:
- Сборка с библиографией состоит из трёх этапов:
- компиляция
.tex("сборка ссылок"); - запуск утилиты для формирования библиографии из файла
.bibи.auxлатеха; - повторная компиляция
.texв окончательный документ.
- компиляция
- Если ставили неполный дистрибутив латеха, то лучше проверить установлен ли
biber, так как этот бэкенд используется нашим пакетом (командаbiber --versionв терминале должна выдвать версию утилиты). - Поля содержащие дату заполняются в формате
yyyy-mm-dd, например, дата обращения к электронному ресурсуurldate = {2024-11-15}. - Если у статьи/книги несколько авторов, то поле
author = {П. П. Первый and В. В. Второй and Т. Т. Тритий and Д. Д. Дейтерий ...}. - ФИО автора записываются в формате "Имя Отчество Фамилия", причём пробелы между именем и отчеством (или их инициалами) обязательны.
Также в biblatex-gost желательно использовать поле media, которое отвечает за плашки [Электронный ресурс], [Видеозапись] и другие. Его возможные значения:
- videorecording --- видеозапись,
- soundrecording --- звукозапись,
- graphic --- изоматериал,
- cartographic --- карты,
- kit --- комплект,
- motionpicture --- кинофильм,
- microform --- микроформа,
- multimedia --- мультимедиа,
- music --- ноты,
- object --- предмет,
- manuscript --- рукопись,
- text --- текст,
- braille --- шрифт Брайля,
- eresource --- электронный ресурс.
book/mvbook --- книги однотомные/многотомные. Обязательными полями с точки зрения пакета являются author, title и year/date.
collection/mvcollection --- сборники однотомные/многотомные. Обязательные поля: editor, title, year/date.
article --- ссылка на статью из журнала и др. сборников статей. Обязательные поля: author, title, journaltitle, year/date.
periodical --- ссылка на журнал целиком (правда, зачем оно надо, не очень ясно). Обязательные поля: editor, title, year/date.
Руководство biblatex-gost рекомендует использовать тип записи @reference для ГОСТов и других нормативных документов по стандартизации. Пример из документации:
@reference{standard3,
heading = {ГОСТ 19790-74},
title = {Селитра калиевая техническая. Технические условия},
media = {eresource},
specdata = {Взамен ГОСТ 1949-65 и ГОСТ 5.1138-71 ; введ. 01.07.05},
location = {М.},
publisher = {Стандартинформ},
year = {2006},
pagetotal = {18},
series = {Межгосударственный стандарт},
langid = {russian},
}В пакете определены следующие окружения:
definition-- определениеtheorem-- теоремаcorollary-- следствиеlemma-- леммаexample-- пример
Соответственно, использование таково:
\begin{example}
М-м-м... пример примера, фантазия закончилась XD
$$
3 + 4 = 2
$$
\end{example}Для оформления листингов используется пакет listings. При этом нашим пакетом добавлено окружение codelisting, которое в теории не должно провоцировать машинный нормоконтроль. Пример использования с кодом для SageMath:
\begin{codelisting}[language=Python]
upper_limit = 30 # генерируем~элементы~до~30
d = 1
n = 5
dist_arr = []
for i in range (0, upper_limit):
x = i
dist_arr.append(x^(n-1)*exp(-x/d)/(gamma(n)*d^n))
gammaD = GeneralDiscreteDistribution(dist_arr)
dataset_gamma = [gammaD.get_random_element() for _ in range(1000)]
dist_fun_points_gamma = [0] * (max(dataset_gamma) + 1)
for i in dataset_gamma:
dist_fun_points_gamma[i] += 1
\end{codelisting}Файлик написал Fe-Ti (aka Tim Kravchenko) в 2024 году.
По всем вопросам обращаться в исходный код.