Оформление диссертаций

Оформление диссертаций

https://t.me/forodirchNEWS

Далее небольшой гайдлан по оформлению кандидатских и докторских диссертаций в LaTeX. В целом, он посвящен оформлению по ГОСТ больших документов, так что будет также полезен и студентам, готовящим дипломы. Некоторая дополнительная информация о системе верстки есть в презентации автора. За мысли, идеи и пожелания буду признателен. Пишите в комментарии.

Готовый template (на который есть ссылки в тексте ниже) может быть найден здесь.

Формальные моменты.

Оформление диссертаций подчинено ГОСТ Р 7.0.11-2011, с которым можно ознакомиться например тут. Оформление библиографии регламентируется ГОСТ Р 7.0.5-2008, который можно найти тут. Отметим, что ГОСТы регулируют не только типографские параметры текста, но и требования по содержанию автореферата и вводной главы диссертации. Также есть определенные правила оформления иллюстраций, таблиц и т.д.. В ГОСТ также регламентирован вид и содержание титульного листа. Кроме того, имеются определенные требования к печати диссертации и автореферата. Рекомендуем печатать необходимое число экземпляров в типографиях, которые точно знают эти требования.

При оформлении библиографии нужно помнить, что есть несколько допустимых вариантов. В точных и естественных науках обычно библиографические ссылки собраны в конце диссертации, однако приемлем также вариант с оформлением ссылок в сносках и некоторые другие варианты, изложенные в ГОСТ.

В предлагаемом примере в TeX (папка здесь) предлагается вариант оформления ссылок через систему biblatex в формате ссылок в конце текста. Там также сделано необходимое оформление по ГОСТ, и в целом текст, который будет подготовлен с его использованием будет достаточно близок к требованиям ВАК. Также можно воспользоваться проектом Андрея Акиншина, который есть на github и в overleaf.

Оформление диссертации в Latex

Для оформления диссертации рекомендуется использовать систему вёрстки LaTeX. Помимо многочисленных лекций посвященных верстке в LaTeX обратим внимание на несколько стандартных (и очень полезных) книг:

Котельников И. А., Чеботаев П. З. ''LaTeX по-русски''.

Львовский С. М., ''Набор и вёрстка в системе LaTeX ''.

Кроме того, рекомендуется обращать внимание на обширную справку и многочисленные примеры собранные в системе Overleaf.

Многие важные и полезные функции реализованы в отдельных библиотеках, подключаемых по необходимости. Чтобы разобраться с их функционалом необходима документация и развернутая справка. Соответствующая документация собрана на сайте ctan. Несмотря на кажущуюся техничность этого сайта, чтение документации к библиотекам крайне полезно: зачастую там есть и примеры использования.

Общие советы по работе с LaTeX

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

Про окружения (для создания лемм, теорем и подобного) будет сказано ниже. При работе с выключенными формулами вместе окружения $$ formula code $$ нужно использовать окружение equation, что позволит делать ссылку при помощи \label. То есть набирать формулы по схеме

\begin{equation}

\label{eq}

текст формулы

\end{equation}

Тогда чтобы сослаться на соответствующую формулу нужно в тексте добавить \eqref{eq}. В таком случае номер будет отображаться (NN). Если нужен номер без скобок, то пишем \ref{eq}. Метки (в нашем примере eq) должны быть уникальными для разных формул. Систему этих меток лучше продумать заранее.

Если нужно сделать формулу ненумерованной, достаточно писать {equation*} вместе {equation}. Считается, что формула должна быть нумерованной только если на нее есть ссылка в тексте. Впрочем, многие считают такое требование (для диссертаций) излишним, но многие журналы соблюдают его достаточно строго.

При работе с длинными формулами, которые не влезают в одну строку (в т.ч. системами уравнений) нужно использовать соответствующие окружения, например {eqnarray} или {align}.

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

\newtheorem{theorem}{Теорема}[section]

В таком случае появляется окружение \begin{theorem} … \end{theorem} которое будет отображается при компиляции как Теорема N, где N — номер. Причем в данном случае мы подчинили нумерацию теорем разделу section. Поэтому выглядеть результат будет как S.T. где S -- номер section, T — номер теоремы по порядку внутри section.

При желании можно делать и более глубокие уровни подчинения, например

\newtheorem{corollary}{Следствие}[theorem] подчинит номера следствий номерам теорем. Соответственно отображаться будет S.T.C. То есть номер секции, затем номер теоремы, затем номер следствия.

Конечно, окружения можно настроить и более тонко, LaTeX дает все необходимые для этого возможности.

Перенос меток в автореферат из диссертации.

Нумерация в автореферате и диссертации могут различаться и быть независимыми (требований в госте по этому поводу нет), однако кажется достаточно логичным в автореферате повторять нумерацию из диссертации, причем это касается и формул и утверждений. Разумеется, для этого хочется пользоваться теми же метками (labels) что были использованы в файле диссертации.

Для этого нужно подключить пакет xr

\usepackage{xr} 

И затем указать адрес основного текста диссертации:
\externaldocument{Diser-der-utf8} 

После этого при помощи команд \ref и \eqref можно ссылаться на метки из текста диссертации. После изменения текста диссертации, которые меняют нумерацию, файл автореферата, разумеется, нужно перекомпилировать и метки «подтянутся» из основного файла.

Работа с гиперссылками

Чрезвычайно повышает читабельность и удобство работы с документом «кликабельность» внутритекстовых (генерируемых \ref и \eqref) и внешних (генерируемых \url или \href) ссылок, а также оглавления. Для реализации необходимо подключить пакет hyperref например как это сделано в примере:

\usepackage{hyperref} %%% 
\hypersetup{        % Настройка гиперссылок. При ГОСТ-оформлении -- лучше выключить, добавив параметр [draft]
    colorlinks=true,
    linkcolor=blue,
    filecolor=magenta,      
    urlcolor=cyan,
    pdfpagemode=FullScreen,
    }

Более подробно о параметрах настройки гиперссылок см. например здесь.

Теоретически, использование ссылок не согласуется явным образом с ГОСТ (хоть и не противоречит ему). В случае необходимости достаточно добавить к пакету hyperref необязательный параметр [draft], что отключит все ссылки в тексте. Однако в версии текста отправляемой рецензентам (и, тем более, перед депонированием в открытый доступ) гиперссылки должны быть конечно включены.

Библиография

Диссертации обычно включают в себя литературный обзор. Да и в целом, даже кандидатские диссертации имеют обычно не один десяток библиографических ссылок. При этом в тексте ссылки должны встречаться либо в порядке упоминания, либо в ином (но жестко определенном) порядке. Чтобы избавить себя от мучительной работы по ручной сортировке массива и для того, чтобы добиться единообразного (соответствующего ГОСТ при этом) вида крайне рекомендуется освоить такой инструмент как Biblatex. Детальные инструкции можно найти в многочисленных руководствах, здесь же ограничимся несколькими основными моментами.

Важно! Обратите внимание, что biblatex корректно работает только с кодировкой файла utf-8.

Основная команда, подключающая Biblatex выглядит примерно так

\usepackage[
natbib = true,
style = gost-numeric,
sorting = none,
backend = biber,
language = autobib,
autolang = other]{biblatex}

Особое внимание обратим на параметр style (включение оформления по ГОСТ) и sorting (параметр none дает цитирование по встречанию в тексте). Некоторые возникающие технические проблемы решены в преамбуле примера.

После этого мы можем подключить bib файл с самой библиографией:

\addbibresource{Template.bib}

В данном случае мы подключаем файл Template.bib который находится в той же папке. Если ваша библиография находится в другой папке (например это одна библиография, которой вы пользуетесь в разных статьях), то в фигурных скобках нужно указать полный адрес.

Сам .bib файл состоит из записей (в произвольном порядке! Их упорядочит сам движок) вида

@Article{Chuvilin2012,
author = {Chuvilin, Kirill Vladimirovich},
journal = {Computer Research and Modeling},
title = {The use of syntax trees in order to automate the correction of LaTeX documents},
year = {2012},
issn = {2077-6853},
month = dec,
number = {4},
pages = {871–883},
volume = {4},
doi = {10.20537/2076-7633-2012-4-4-871-883},
publisher = {Izhevsk Institute of Computer Science},
url = {http://dx.doi.org/10.20537/2076-7633-2012-4-4-871-883},
}

Цитирование в тексте работы будет делать при помощи \cite{Chuvilin2012}.

Есть тонкости с написанием имени автора. Первый момент: авторы должны отделяться друг от друга при помощи ''and'' (даже если фамилии на русском). Второй момент это формата написания. Нужно делать так: Surname, name. Обязательно между фамилией и именем должна быть запятая. Biblatex умеет обрабатывать ''de la'', ''von'' и прочие аналогичные приставки к фамилии, и их надо ставить ПЕРЕД фамилией. А всякие Jr. (джуниор), после фамилии, выделяя запятыми (и biblatex тоже умеет их обрабатывать). Если у автора есть второе имя (John Paul Jones) то его нужно писать тоже после запятой (Jones, John Paul). Пример правильного оформления:

author = {Navarro P\'erez, Juan A. and de la Garza, Ra\'ul  and 
    Espinoza, Andr\'es}

Подробнее о способах написания имён (со всякими суффиксами и прочим) здесь и, разумеется, здесь.

Обратим внимание на тип записи (в нашем примере это статья @Article) может быть разным, и от него зависит в частности способ отображения (библиографические записи статей и монографий различаются по структуре), а также и набор возможных полей для заполнения (подробнее см. здесь). Причем свои типы записей есть для глав в книге, патентов, тезисов докладов, диссертаций и так далее. Настоятельно рекомендуется заполнять (формально не обязательные) поля doi и url. Да и вообще, поля которые вы можете заполнить — всегда лучше заполнить.

Чтобы не путаться при оформлении рекомендуется использование библиографических инструментов на подобии JabRef. В системе JabRef можно открыть bib файл в удобном виде и там же создавать новые библиографические записи и редактировать старые.

Также актуальные (и полностью заполненные) библиографические записи можно получить например при наличии doi через конвертеры типа https://www.bibtex.com/c/doi-to-bibtex-converter/ или https://www.doi2bib.org/ и многие другие. Также на многих сайтах (в частности Scopus, SemanticScholar, ResearchGate) есть уже готовые библиографические записи. Очень хорошо помогает делать ссылки (в т.ч. и в bibtex формате) ИИ, например ChatGPT, о чём будет сказано ниже.

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

Последнее замечание состоит в том, что формально говоря по ГОСТ ссылка на url текста и его doi не требуются. При желании в TeX можно отключить их отображение, однако (как и в случае с гиперссылками) настоятельно рекомендуется их включать по крайней мере в текст для публичного доступа. Искать работу по doi существенно легче чем по ее названию.

Картинки

Текст очень полезно сопровождать иллюстрациями. Согласно ГОСТ они должны быть нумерованы. Также нужно помнить, что (это требование ГОСТ) картинка должна встречаться после ее упоминания, причем картинки без упоминания в тексте недопустимы.

Статус коммутативных диаграмм не определен (картинки это или нет), но они достаточно прочно вошли в современный математический обиход и ими лучше не пренебрегать. Рекомендуется сделать для них сквозную нумерацию с обычными иллюстрациями. Для рисования коммутативных диаграмм рекомендуется пакет tikzcd. Соответствующий мануал и необходимые инструменты легко находятся, см. например. Сам пакет tikz дает огромные возможности для рисования внутри latex к примеру чертежей, логических диаграмм и тому подобного. Начальные сведения можно найти к примеру на сайте overleaf .

Добавление «обычной» картинки делается достаточно просто

\begin{figure}[h]
\centering
\includegraphics[width=0.8\linewidth]{pic.png}

Здесь pic.png это адрес самой картинки, число 0.8 это коэффициент масштаба, который нужно подбирать вручную для оптимального вида. Отметим, что сам tex располагает картинку так, чтобы она аккуратно влезала на страницу, и может поставить ее и позже упоминания, и раньше. Чтобы этого избегать можно менять параметр h на H или H! Что повышает требование к компилятору расположить картинку именно там, где вызвана картинка. Лучше, конечно, этим параметром не злоупотреблять, чтобы не ломать верстку.

При этом возможности для расположения картинок достаточно широки. С некоторыми дополнительными возможностями можно ознакомиться например здесь.

Об использовании ИИ

Поскольку игнорировать новые технологии — глупо, хочу добавить несколько вещей, которые касаются использования ИИ (в моем случае это был ChatGPT 3.5). Нейронная сеть хороша в двух вещах: генерации кода по заданным параметрам и разметке проблемных мест в тексте.

Нейросеть категорически не применима к генерации математически осмысленного текста, а также к академическому копирайтингу (моя точка зрения, возможно, что спорная), поскольку ИИ способен генерировать очень гладкий научный текст. Пример, на котором я это тестировал, был таков: сначала я попросил дать мне определение аксиом отделимости (что было сделано правильно), а затем я попросил выяснить, следует ли одна аксиома из другой. Это, в общем-то, упражнение для первого курса и вещь общеизвестная. Однако нейросеть выдала некий наукообразный гладкий текст, который, однако, не является доказательством по сути, но содержит все основные его атрибуты: "следовательно", "значит", "таким образом" и так далее. То есть, если не вчитываться, можно принять его за доказательство. Поэтому я категорически не рекомендую использовать ChatGPT 3.5 для генерации любого нового текста.

Теперь о том, как можно использовать ИИ чтобы сэкономить время и решить многие технические проблемы без долгого чтения мануалов.

Например промпт "Сгенерируй таблицу в LaTeX размером 3 на 3" отлично работает. Из более трудного, можно соотвествующим промптом создать презентацию в Beamer на такое-то количество слайдов с такой-то структурой. К примеру: «Подготовь в beamer презентацию. Название: "топологическиее аксиомы отделимости". Первый слайд должен содержать определение топологического пространства. Затем для каждой аксиомы сделай отдельный слайд. На нем сверху в кружении exampleblock формулировка аксиомы. Затем в окружении block пример топологического пространства с такой аксиомой. После этого добавь слайд "спасибо за внимание".» При этом нужно понимать, что полученный код может содержать различные ошибки. В частности, ChatGPT постоянно "забывает" подключать поддержку русского языка (из-за этого, кстати, и результат генерации по предыдущему промпту будет компилироваться с ошибкой, впрочем легко устранимой). Однако, если указать "подключи поддержку русского языка в кодировке utf8", то проблема немедленно решится.

Отмечу, что ChatGPT умеет исправлять ошибки в коде (в т.ч. и сгенерированном) вы можете скормить ошибку с куском кода, и получить подсказку по ее исправлению.

С чем еще хорошо справляется ИИ, это генерация коммутативных диаграмм и псевдографики в TikZ. Например: "в TikZ сгенерируй целочисленную решетку размером 9 на 9 с тонкими линиями. Центральная точка выделена жирным, и на ней написано 0. У квадрата 5 на 5 с центром в центральной точке нужно выделить жирным стороны, а сам квадрат заштриховать" — такой промпт довольно быстро привел к желаемому результату (по пути может возникнуть ошибка с неподключенной библиотекой для штриховки). Здесь, правда, нужно понимать, что "оператор" должен сам хотя бы минимально понимать, что и как реализуется. Скажем, при попытке создать картинку в TikZ, состоящую из двух частей, между которыми должен был стоять знак неравенства, "поднимать" один из элементов пришлось вручную, за счет понимания общих принципов работы TikZ. Сам ChatGPT с этой задачей так и не справился (ну или я написал плохой промпт).

Относительно хорошо справляется ИИ с такими неприятными вещами, как изменение форматирования. К примеру, "создай нумерованное окружение 'примечание', в котором формулировка написана курсивом. Нумерацию подчини номеру chapter" выдает правильный результат. Можно делать и более сложные вещи, вроде изменения начертания названий глав (чтобы вместо слова "глава" было слово "лекция") стилей разделов и тому подобного, но возможно придется и помучаться.

Превосходно решается ещё задача создания библиографических ссылок (например в формате biblatex) по копипасте, скажем, страницы на сайте издательства или на странице журнала. Равно как хорошо решается задача по переводу одного стиля оформления ссылок в другой.

Из более стандартных применений отмечу, что ИИ хорошо справляется с заданиями вроде «отредактируй текст», «укажи орфографические ошибки» и тому подобное. Легко добиться, чтобы он при этом не пытался редактировать текст формул. В общем ChatGPT это неплохой инструмент для финальной верстки текста.

Пожалуй в завершении скажу вот что. ИИ можно сравнить с очень тупым секретарем, который знает очень много технической информации. Ему нужно давать каждое указание максимально подробно и четко. Если вы не будете точны то придется потратить несколько итераций на исправление и корректировку. А в остальном — стоит поэкспериментировать.

Финальная вёрстка

Перед финальной версткой, в самую последнюю очередь, нужно обратить внимание на warnings которые посвящены строкам, которые вываливаются из формата. В общем-то TeX и сам хорошо справляется, но иногда проблемы возникают с переносами. Основной инструмент тут перефразировки текста, а также подсказывать TeX где и как можно и нужно переносить. Например: запись дифферен\-ци\-ро\-ва\-ни\-ями дает понять, где можно делать перенос.

Для переноса операторов на следующую строку полезен пакет rmathbr. Подробнее о нем здесь.

Также повышает читаемость текста повышают правильные отступы и разрывы в тексте, например разделяющие смысловые блоки. Для этого стоить пользоваться командами \smallskip, \bigskip и тому подобными.

Заключительные замечания

Оформление текста диссертации (как и любой другой научной работы) это процесс достаточно нудный, и в основном механический. В целом по TeX есть огромное количество справочных материалов и очень большое комьюнити, преимущественно, конечно, англоязычное. Впрочем, ответы на почти любые вопросы, которые возникают, могут найтись на stackexchange и других аналогичных ресурсах, как правило с готовыми ответами. Ну и ChatGPT тоже можно использовать как хороший источник справочной информации.

Конечно нужно помнить, что ГОСТы могут меняться и перед финальной вёрсткой необходимо сверяться с самой последней версией. Также необходимо сверять оформление текста с пожеланиями диссертационного совета и по всем вопросам финальной верстки нужно обращаться в совет, чаще всего к ученому секретарю.

Также хочется сказать, что финальный текст крайне полезно выложить в открытый доступ. Например на arXiv, Research Gate или другой аналогичный ресурс. Это заодно поможет в будущем другим авторам ссылаться на вашу диссертацию и пользоваться ей. В таком депонированном тексте стоит убрать избыточное оформление по ГОСТ (например полуторный интервал, огромные поля и так далее) и включить все гиперссылки. Хотя, разумеется, это всё не обязательно.

Остаётся пожелать соискателям и дипломникам удачи!






Report Page