diff options
Diffstat (limited to 'preamble.tex')
-rw-r--r-- | preamble.tex | 208 |
1 files changed, 208 insertions, 0 deletions
diff --git a/preamble.tex b/preamble.tex new file mode 100644 index 0000000..5a62bc6 --- /dev/null +++ b/preamble.tex @@ -0,0 +1,208 @@ +% Документ, по которому в основном мы ориентировались при написании +% этой преамбулы: +% +% http://edu.ifmo.ru/file/pages/14/trebovaniya_k_vypusknym_kvalifikacionnym_rabotam.pdf +% + +% UTF-8, не KOI8-R же +\usepackage[T2A]{fontenc} +\usepackage[utf8]{inputenc} + +% Использовать и русский, и английский в тексте +% Желательно поменять словарь переносов с ruhyphen на ruenhyph +\usepackage[english,russian]{babel} + +% Русский язык — основной +\selectlanguage{russian} + +% Times New Roman для русского языка +% Необходим установленный пакет pscyr +\usepackage{pscyr} +\renewcommand{\rmdefault}{ftm} + +% Полуторный межстрочный интервал +\usepackage[nodisplayskipstretch]{setspace} +\onehalfspacing + +% Правильные поля для диплома +\usepackage[top=20mm, bottom=20mm, left=25mm, right=10mm]{geometry} + +\addto\captionsrussian{ +% подпись "Рисунок" вместо "Рис" + \def\figurename{{Рисунок}} +% ОГЛАВЛЕНИЕ прописными буквами + \renewcommand{\contentsname}{ОГЛАВЛЕНИЕ} +} + +% Каждый пункт оглавления должен быть с отточием +\usepackage{titletoc} + +% Максимальная вложенность содержания (только разделы, подразделы и +% "пункты") +\setcounter{tocdepth}{3} + +% Оглавление должно начинаться на 4 странице +\setcounter{page}{4} + +% Возможность переопределять оглавление и его стиль +\usepackage[titles]{tocloft} + +% Абзацный отступ равен 1.25 см +\parindent=1.25cm + +% Возможность менять регистр текста в UTF-8 +\usepackage{textcase} + +% Формат заголовков +% - Заголовок раздела по центру, кернингом побольше (отсебятина), +% прописными буквами, выделено жирным, X ЗАГОЛОВОК +% - Заголовок подраздела и "пункта" со смещением, как у абзаца, по +% левому краю, выделено жирным, X.Y[.Z] Заголовок +\usepackage{titlesec} +\titleformat{\section}[block]{\centering\bfseries\large} + {\arabic{section}}{1ex}{\MakeUppercase} +\titleformat{\subsection}[block]{\hspace{\parindent}\bfseries\normalsize} + {\arabic{section}.\arabic{subsection}}{1ex}{} +\titleformat{\subsubsection}[block]{\hspace{\parindent}\bfseries\normalsize} + {\arabic{section}.\arabic{subsection}.\arabic{subsubsection}}{1ex}{} + +% TODO: 14pt * 3 = 42pt (три интервала до и после) +\titlespacing*{\section} {0pt}{42pt}{42pt} + +% Номер страницы по середине верхнего поля +\usepackage{fancyhdr} +\pagestyle{fancy} +\fancyhf{} +\fancyhead[C]{\thepage} +\renewcommand{\headrulewidth}{0pt} + +% Если источников несколько, то сжать из [1,2,3,4] в [1-4] +\usepackage[numbers,sort&compress]{natbib} + +% Стиль нумерования в списке использованных источников: [1] -> 1. +\makeatletter +\renewcommand\@biblabel[1]{#1.} +\makeatother + +% Самое длинное тире в качестве разделителя в подписях к рисункам, +% таблицам, листингам и др. +\usepackage{caption} +\DeclareCaptionLabelSeparator{emdash}{ --- } +\captionsetup{labelsep=emdash} + +% Подпись к таблице должна быть по левому краю +\captionsetup[table]{singlelinecheck=false} + +% Сквозная нумерация таблиц, формул, рисунков +\renewcommand{\theequation}{\arabic{equation}} +\renewcommand{\thetable}{\arabic{table}} +\renewcommand{\thefigure}{\arabic{figure}} + +% Добавить абзацный отступ для первых абзацев в section/subsection, +% по умолчанию не добавляется +\usepackage{indentfirst} + +% Возможность вставлять таблицы и рисунки непосредственно там, где +% они определены (аргумент [H]). Нужно, чтобы таблицы и рисунки были +% всегда определены под текстом, где на них ссылаются +\usepackage{float} + +% Обязательно переносить слова, чтобы соблюсти поля документа. Для +% соблюдения полей можно пренебречь правилами для тех слов и +% словосочетаний, о которых не знают словаря переносов (ruhyphen или +% ruenhyph). Оно почему-то работает. Взято с: +% +% http://www.latex-community.org/forum/viewtopic.php?p=70342#p70342 +% +\tolerance 1414 +\hbadness 1414 +\emergencystretch 1.5em +\hfuzz 0.3pt +\widowpenalty=10000 +\vfuzz \hfuzz +\raggedbottom + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%% Опциональные штуки %%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Pandoc-specific для Markdown +\def\tightlist{} +\usepackage{multirow} +\usepackage{longtable} +\usepackage{booktabs} + +% Поиск и копипаст по pdf +\usepackage{cmap} + +% Использование графики в pdf +\usepackage[pdftex]{graphicx} + +% Поддержка гиперссылок внутри pdf +\usepackage[pdftex]{hyperref} +\hypersetup{ + unicode=true, + pdftitle={ + }, + pdfauthor={}, + pdfkeywords={ + }, + colorlinks, + citecolor=black, + filecolor=black, + linkcolor=black, + urlcolor=blue +} + +% Разрешить перенос слов в URL'ах после любой буквы, так мы обеспечим +% правильные поля в списке источников и везде, где есть ссылки +\expandafter\def\expandafter\UrlBreaks\expandafter{\UrlBreaks% save the current one + \do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j% + \do\k\do\l\do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t% + \do\u\do\v\do\w\do\x\do\y\do\z\do\A\do\B\do\C\do\D% + \do\E\do\F\do\G\do\H\do\I\do\J\do\K\do\L\do\M\do\N% + \do\O\do\P\do\Q\do\R\do\S\do\T\do\U\do\V\do\W\do\X% + \do\Y\do\Z} + +% Вставка листингов кода +\usepackage{listings} +\newcommand{\includecode}[3]{\lstinputlisting[caption=#3, escapechar=, style=custom#1]{#2}} + +% Экзотические цвета (оранжевый, фиолетовый и др.) +\usepackage{xcolor} + +% Кастомный стиль подсветки для языка Си +\lstdefinestyle{customc}{ + belowcaptionskip=1\baselineskip, + breaklines=true, + frame=none, + xleftmargin=\parindent, + language=C, + showstringspaces=false, + basicstyle=\normalsize, + keywordstyle=\bfseries\color{green!40!black}, + commentstyle=\itshape\color{purple!40!black}, + identifierstyle=\color{black}, + stringstyle=\color{orange!40!black}, +} + +% Сдвиги для списков +\usepackage{enumitem} +\setlist[enumerate]{topsep=0pt,itemsep=0ex,partopsep=1ex,parsep=1ex} +\setlist[itemize]{itemsep=0ex} + +% Красивый маркер ненумерованного списка в виде тире +\def\labelitemi{--} + +% Просто адекватные отступы (не по ГОСТу) +\titlespacing*{\subsection} {0pt}{\baselineskip}{\baselineskip} +\titlespacing*{\subsubsection}{0pt}{\baselineskip}{\baselineskip} + +% Поддержка SVG +\usepackage{svg} + +% Возможность повернуть любую из страниц +\usepackage{pdflscape} + +% Возможность описывать байтовые структуры +\usepackage{bytefield} |