Предисловие
Это вторая часть рассказа про то, как я писал диплом в МАИ. Первую можно посмотреть здесь, третья будет про составление презентации в beamer.Необходимые главы
Первой страницей дипломной работы является реферат, в котором описывается о чём была работа, выписывается количество рисунков, таблиц и страниц. Причём, Реферат должен начинаться со второй страницы, идти до Содержания, но не должен в него включаться. Для этого поступаем следующим образом:\chapter*{Реферат} % любая команда секционирования со звёздочкой не включается в содержание и не меняет счётчик глав
\setcounter{page}{2} % устанавливаем счётчику страницы значение 2
Кстати, правильнее было бы модифицировать окружение abstract.
В работе могут присутствовать приложения. Они должны нумероваться арабскими цифрами и идти после списка литературы. Правильным способом было бы переопределение команд, использующихся после \appendix. Но в работе был применён неправильный сопособ, который повторять не следует:
\setcounter{chapter}{6}
\setcounter{section}{0}
\chapter*{Приложение 1.}
\addcontentsline{toc}{chapter}{Приложение 1.}
\label{app:parse}
В данном коде были искусственно изменены номера секций , а название приложения добавлено без занесения в содержание, иначе бы оно имело порядковый номер 6. Так делать нельзя, это быдлокод!
Перечисления
Помимо перечислений itemize и enumerate существует ещё очень хорошее окружение description. В коде выглядит так: \begin{description}
\item[AST] (англ. Abstract Syntax Tree) --- абстрактно--синтаксическое
дерево. Это конечное, помеченное, ориентированное дерево, в котором внутренние
вершины сопоставлены с (помечены) операторами языка программирования, а листья с
соответствующими операндами.
\end{description}
На бумаге - это почти itemize, только нет точки вначале и текст, заключённый в квадратные скобки выделяется жирным.
Теоремы
Не стоит забывать, что для определения теорем, лемм и доказательств существуют специальные окружения. Когда необходимо разместить теорему, в преамбуле определяется её название:\newtheorem*{rice}{Теорема Райса}
а после, в теле документа идёт уже непосредственно её текст:
\begin{rice}
Всякое нетривиальное свойство рекурсивно--перечислимых языков неразрешимо.
\end{rice}
Таблицы
Таблицы в LaTeX довольно проблемное место. Для начала надо сказать, что существует несколько видов таблиц. Ниже речь пойдёт про стандартные tabular и longtable. Последний нужно применять, если таблица может занимать более одной страницы.Одна из проблем, связанных с таблицами - ширина колонок. она подстраивается под ширину своего содержания, игнорируя геометрию страницы. Поэтому при определении колонок таблицы в работе указывалось не центрирование, а фиксированный размер:
\begin{longtable}{|c|p{3.5cm}|p{1.5cm}|p{5cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|c|}
параметр p{} указывает фиксированную длину столбца, но центрирует всё по левому краю. Чтобы этого избежать, в работе была определена команда:
% для размещения надписи по центру таблицы
\newcommand{\tblCenter}[1]{\hfill#1\hfill}
Объединение колонок и столбцов делается через multicolomn и multirow, об этом можно почитать у Львовского.
Далее - чуть более интересная задача: раскраска таблицы. Для этого использовался пакет colortbl. Чтобы раскрасить строку начиная с определённой колонки, необходимо задать команду
\rowcolor[rgb]{.8,.88,.95}
где в квадратных скобках указывается цветовое пространство, а в фигурных - значения цветов в нём. Можно не указывать пространство и просто задать уже известный цвет:
\rowcolor{red}
Единственное неудобство - то, что цвет будет задан до конца строки и для его отмены надо в следующей колонке вернуть белый цвет.
И да, не забываем, что подписи к рисункам ставятся снизу, а к таблицам - сверху.
Комментариев нет:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.