Предисловие
В МАИ прежде чем выйти на защиту, необходимо сдать диплом и раздаточные материалы (презентацию) в КДП - Кабинет Дипломного Проектирования. Процесс этот не самый приятный и временами отдаёт маразмом. В интернетах существует методичка с требованиям и верстать диплом нужно в соответствии с ней. Это заметно уменьшит количество придирок и, как следствие, ненужных поездок в институт. В этой серии статей будут рассмотрены решения, применённые при вёрстке диплома, которые применил автор при сдаче дипломной работы в МАИ, на 8 факультете в 2012
году.
Вступление
По теме написания дипломов в LaTeX есть достаточно материалов, главным образом у Дебианщика и Сурового Челябинского Программиста ещё рекомендую почитать этот форум. Серия данных статей расчитана на тех, кто уже знаком с LaTeX'ом. В ней часть материала будет повторяться с приведёнными источниками, части я по данным ссылкам не нашёл (скорей всего плохо искал). Первая статья посвящена глобальным настройкам документа.
Рубрикация
В работе использовались разделы начиная с уровня \chapter. В стандартном виде с ними возникали следующие проблемы:- \chapter печатает слово "Глава" да и вообще занимает половину страницы
- \section и \chapter переносят слова, чего делать в заголовках нельзя
\makeatletter
% запрещаем переносы в названиях секций
\renewcommand{\section}{\@startsection{section}{1}{0pt}%
{-3.5ex plus -1ex minus -.2ex}%
{2.3ex plus .2ex}%
{\centering\hyphenpenalty=10000\normalfont\Large\bfseries}}
% меняем заголовок для команды \chapter и запрещаем переносы слов
\usepackage {titlesec}
\titleformat{\chapter}{\thispagestyle{myheadings}\centering\hyphenpenalty=10000\normalfont\huge\bfseries}{
\thechapter. }{0pt}{\Huge}
\makeatother
Рассмотрим подробнее что произошло:
Команда \makeatletter делает символ @ буквой, команда \makeatother возвращает всё на свои места.
Далее переопределяем команду заголовков для секций. От стандартного определения она отличается последним аргументом, который задаёт стиль оформления заголовка. К стилю добавились команды \centering для размещения заголовка по центру и \hyphenpenalty=10000, которая запрещает переносы в словах.
Затем переопределяется команда, определяющая вид Главы. Надо заметить, что \chapter не использует \@startsection и определять одно через другое не стоит. Помимо изменений, использованных для секций, убирается надпись "Глава" и печатается точка после номера главы.
Далее нужно изменить название главы "Литература" на "Список использованных источников":
\renewcommand{\bibname}{Список использованных источников}
\addcontentsline{toc}{chapter}{Список использованных источников}
Первая команда изменит название главы, а вторая добавит её в оглавление.
Да, на самом деле это не "Оглавление", а "Содержание":
\renewcommand{\contentsname}{Содержание}
В русской литературе нумерация источников представляется в формате
1.
2.
Поэтому переопределяем команду \@biblabe:\renewcommand\@biblabel[1]{#1.}
Настройки страниц
Изначально LaTeX делает колонку с текстом довольно узкой, но в соответствии с требованиями КДП, она должна иметь определённые границы. Просто расширить страницу можно подключив пакет fullpage а вот задать конкретную геометрию можно следующим образом:\usepackage {geometry}
\geometry{left=2cm} % левое поле
\geometry{right=1.5cm} % правое поле
\geometry{top=1.5cm} % верхнее поле
\geometry{bottom=1.5cm} % нижнее поле
Номера страниц должны быть в правом верхнем углу экрана. В самом простом случае достаточно сделать
\pagestyle{myheadings}
но если нужно более сложное форматирование, следует обратиться к пакету fancyhdr.
При переносе номеров страниц текст стал залезать на сам номер. Чтобы убрать такой эффект, увеличить отступ от заголовка:
\addtolength{\headsep}{15pt}
Настройки абзацев и шрифта
Шрифт должен иметь 14 кегль. Для этого существуют расширения стандартных классов документов с приставкой ext. Так для своего диплома я определил следующее:\documentclass[a4paper,14pt]{extreport}
Между строк должен быть полуторный отступ:
\renewcommand{\baselinestretch}{1.5} % полуторный междустрочный интервал
Кроме того, мне нравится, когда первый абзац начинается с красной строки:
\usepackage {indentfirst}
Включение файлов
Если работа состоит более чем из одной секции, рекомендуется разнести текст по разным файлам. В случае с дипломом получается более сложная иерархия и включение файлов имеет несколько уровней вложенности. В главном файле оно производится при помощи команды \include, а вот в тех, которые сами являются подключаемыми надо использовать \input.Включаемые изображения лучше размещать отдельно от директории исходников и чтобы при включении не писать каждый раз длинный относительный путь, в преамбуле можно сделать
\graphicspath{{img/}}
Прочее
В русских текстах в качестве кавычек принято использовать <<ёлочки>>. Для работы с кавычками существует пакет csquotes, а настройка русских кавычек выглядит так:\usepackage {csquotes}
\DeclareQuoteStyle{russian}
{\guillemotleft}{\guillemotright}[0.025em]
{\quotedblbase}{\textquotedblleft}
\ExecuteQuoteOptions{style=russian}
\newcommand{\enq}[1]{\enquote{#1}} % укороченный синоним для кавычек
Иногда возникает необходимость распечатки листингов кода. Для этого есть пакет lstlistings. Его базовые настройка выглядят так:
\usepackage {listings}
\lstset{tabsize=2,
breaklines,
columns=fullflexible,
flexiblecolumns,
numbers=left,
numberstyle={\footnotesize},
extendedchars}
Если нужно привести листинг языка, не включённого в стандартную поставку, можно определить его самостоятельно:\lstdefinelanguage{JavaScript}{
keywords={typeof, new, true, false, catch, function, return, null, catch,
switch, var, if, in, while, do, else, case, break},
keywordstyle=\color{blue}\bfseries,
ndkeywords={class, export, boolean, throw, implements, import, this},
ndkeywordstyle=\color{darkgray}\bfseries,
identifierstyle=\color{black},
sensitive=false,
comment=[l]{//},
morecomment=[s]{/*}{*/},
commentstyle=\color{purple}\ttfamily,
stringstyle=\color{red}\ttfamily,
morestring=[b]',
morestring=[b]"
}
Комментариев нет:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.