-
Notifications
You must be signed in to change notification settings - Fork 0
/
styles.tex
138 lines (121 loc) · 9.28 KB
/
styles.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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
%%% Кодировки и шрифты %%%
\ifxetexorluatex
\setmainlanguage[babelshorthands=true]{russian} % Язык по-умолчанию русский с поддержкой приятных команд пакета babel
\setotherlanguage{english} % Дополнительный язык = английский (в американской вариации по-умолчанию)
\setmonofont{Courier New} % моноширинный шрифт
\newfontfamily\cyrillicfonttt{Courier New} % моноширинный шрифт для кириллицы
\defaultfontfeatures{Ligatures=TeX} % стандартные лигатуры TeX, замены нескольких дефисов на тире и т. п. Настройки моноширинного шрифта должны идти до этой строки, чтобы при врезках кода программ в коде не применялись лигатуры и замены дефисов
\setmainfont{Times New Roman} % Шрифт с засечками
\newfontfamily\cyrillicfont{Times New Roman} % Шрифт с засечками для кириллицы
\setsansfont{Arial} % Шрифт без засечек
\newfontfamily\cyrillicfontsf{Arial} % Шрифт без засечек для кириллицы
\else
\IfFileExists{pscyr.sty}{\renewcommand{\rmdefault}{ftm}}{}
\fi
%%% Подписи %%%
\setlength{\abovecaptionskip}{0pt} % Отбивка над подписью
\setlength{\belowcaptionskip}{0pt} % Отбивка под подписью
\captionwidth{\linewidth}
\normalcaptionwidth
%%% Таблицы %%%
\ifnumequal{\value{tabcap}}{0}{%
\newcommand{\tabcapalign}{\raggedright} % по левому краю страницы или аналога parbox
\renewcommand{\tablabelsep}{~--- } % тире как разделитель идентификатора с номером от наименования
\newcommand{\tabtitalign}{}
}{%
\ifnumequal{\value{tablaba}}{0}{%
\newcommand{\tabcapalign}{\raggedright} % по левому краю страницы или аналога parbox
}{}
\ifnumequal{\value{tablaba}}{1}{%
\newcommand{\tabcapalign}{\centering} % по центру страницы или аналога parbox
}{}
\ifnumequal{\value{tablaba}}{2}{%
\newcommand{\tabcapalign}{\raggedleft} % по правому краю страницы или аналога parbox
}{}
\ifnumequal{\value{tabtita}}{0}{%
\newcommand{\tabtitalign}{\par\raggedright} % по левому краю страницы или аналога parbox
}{}
\ifnumequal{\value{tabtita}}{1}{%
\newcommand{\tabtitalign}{\par\centering} % по центру страницы или аналога parbox
}{}
\ifnumequal{\value{tabtita}}{2}{%
\newcommand{\tabtitalign}{\par\raggedleft} % по правому краю страницы или аналога parbox
}{}
}
\precaption{\tabcapalign} % всегда идет перед подписью или \legend
\captionnamefont{\normalfont\normalsize} % Шрифт надписи «Таблица #»; также определяет шрифт у \legend
\captiondelim{\tablabelsep} % разделитель идентификатора с номером от наименования
\captionstyle[\tabtitalign]{\tabtitalign}
\captiontitlefont{\normalfont\normalsize} % Шрифт с текстом подписи
%%% Рисунки %%%
\setfloatadjustment{figure}{%
\setlength{\abovecaptionskip}{0pt} % Отбивка над подписью
\setlength{\belowcaptionskip}{0pt} % Отбивка под подписью
\precaption{} % всегда идет перед подписью или \legend
\captionnamefont{\normalfont\normalsize} % Шрифт надписи «Рисунок #»; также определяет шрифт у \legend
\captiondelim{\figlabelsep} % разделитель идентификатора с номером от наименования
\captionstyle[\centering]{\centering} % Центрирование подписей, заданных командой \caption и \legend
\captiontitlefont{\normalfont\normalsize} % Шрифт с текстом подписи
\postcaption{} % всегда идет после подписи или \legend, и с новой строки
}
%%% Подписи подрисунков %%%
\newsubfloat{figure} % Включает возможность использовать подрисунки у окружений figure
\renewcommand{\thesubfigure}{\asbuk{subfigure}} % Буквенные номера подрисунков
\subcaptionsize{\normalsize} % Шрифт подписи названий подрисунков (не отличается от основного)
\subcaptionlabelfont{\normalfont}
\subcaptionfont{\!\!) \normalfont} % Вот так тут добавили скобку после буквы.
\subcaptionstyle{\centering}
%\subcaptionsize{\fontsize{12pt}{13pt}\selectfont} % объявляем шрифт 12pt для использования в подписях, тут же надо интерлиньяж объявлять, если не наследуется
%%% Настройки гиперссылок %%%
\ifluatex
\hypersetup{
unicode, % Unicode encoded PDF strings
}
\fi
\hypersetup{
linktocpage=true, % ссылки с номера страницы в оглавлении, списке таблиц и списке рисунков
% linktoc=all, % both the section and page part are links
% pdfpagelabels=false, % set PDF page labels (true|false)
plainpages=false, % Forces page anchors to be named by the Arabic form of the page number, rather than the formatted form
colorlinks, % ссылки отображаются раскрашенным текстом, а не раскрашенным прямоугольником, вокруг текста
linkcolor={linkcolor}, % цвет ссылок типа ref, eqref и подобных
citecolor={citecolor}, % цвет ссылок-цитат
urlcolor={urlcolor}, % цвет гиперссылок
% hidelinks, % Hide links (removing color and border)
pdftitle={\thesisTitle}, % Заголовок
pdfauthor={\thesisAuthor}, % Автор
pdfsubject={\thesisSpecialtyNumber\ \thesisSpecialtyTitle}, % Тема
% pdfcreator={Создатель}, % Создатель, Приложение
% pdfproducer={Производитель},% Производитель, Производитель PDF
pdfkeywords={\keywords}, % Ключевые слова
pdflang={ru},
}
\ifnumequal{\value{draft}}{1}{% Черновик
\hypersetup{
draft,
}
}{}
%%% Шаблон %%%
\DeclareRobustCommand{\todo}{\textcolor{red}} % решаем проблему превращения названия цвета в результате \MakeUppercase, http://tex.stackexchange.com/a/187930/79756 , \DeclareRobustCommand protects \todo from expanding inside \MakeUppercase
\AtBeginDocument{%
\setlength{\parindent}{2.5em} % Абзацный отступ. Должен быть одинаковым по всему тексту и равен пяти знакам (ГОСТ Р 7.0.11-2011, 5.3.7).
}
%%% Списки %%%
% Используем короткое тире (endash) для ненумерованных списков (ГОСТ 2.105-95, пункт 4.1.7, требует дефиса, но так лучше смотрится)
\renewcommand{\labelitemi}{\normalfont\bfseries{--}}
% Перечисление строчными буквами латинского алфавита (ГОСТ 2.105-95, 4.1.7)
%\renewcommand{\theenumi}{\alph{enumi}}
%\renewcommand{\labelenumi}{\theenumi)}
% Перечисление строчными буквами русского алфавита (ГОСТ 2.105-95, 4.1.7)
\makeatletter
\AddEnumerateCounter{\asbuk}{\russian@alph}{щ} % Управляем списками/перечислениями через пакет enumitem, а он 'не знает' про asbuk, потому 'учим' его
\makeatother
%\renewcommand{\theenumi}{\asbuk{enumi}} %первый уровень нумерации
%\renewcommand{\labelenumi}{\theenumi)} %первый уровень нумерации
\renewcommand{\theenumii}{\asbuk{enumii}} %второй уровень нумерации
\renewcommand{\labelenumii}{\theenumii)} %второй уровень нумерации
\renewcommand{\theenumiii}{\arabic{enumiii}} %третий уровень нумерации
\renewcommand{\labelenumiii}{\theenumiii)} %третий уровень нумерации
\setlist{nosep,% % Единый стиль для всех списков (пакет enumitem), без дополнительных интервалов.
labelindent=\parindent,leftmargin=*% % Каждый пункт, подпункт и перечисление записывают с абзацного отступа (ГОСТ 2.105-95, 4.1.8)
}