forked from 3ap/ifmo-vkr-preamble
-
Notifications
You must be signed in to change notification settings - Fork 0
/
bachelor.tex
119 lines (96 loc) · 4.98 KB
/
bachelor.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
% Документ, по которому в основном мы ориентировались при написании
% этой преамбулы:
%
% http://edu.ifmo.ru/file/pages/14/trebovaniya_k_vypusknym_kvalifikacionnym_rabotam.pdf
%
% 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{{Рисунок}}
% "Оглавление" вместо "Содержание"
\def\figurename{{Оглавление}}
}
% Каждый пункт оглавления должен быть с отточием
\usepackage{titletoc}
% Максимальная вложенность содержания (только разделы, подразделы и
% "пункты")
\setcounter{tocdepth}{3}
% Оглавление должно начинаться на 4 странице
\setcounter{page}{4}
% Возможность переопределять оглавление и его стиль
\usepackage{tocloft}
\usepackage{etoolbox}
% Слово "Оглавление" заглавными буквами
\makeatletter
\patchcmd{\@cftmaketoctitle}{\cfttoctitlefont\contentsname}{\cfttoctitlefont\MakeUppercase{\contentsname}}{}{}
\makeatother
% Абзацный отступ равен 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