-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpackages.tex
121 lines (102 loc) · 7.79 KB
/
packages.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
%%% Проверка используемого TeX-движка %%%
\RequirePackage{ifxetex, ifluatex}
\newif\ifxetexorluatex % определяем новый условный оператор (http://tex.stackexchange.com/a/47579)
\ifxetex
\xetexorluatextrue
\else
\ifluatex
\xetexorluatextrue
\else
\xetexorluatexfalse
\fi
\fi
\newif\ifsynopsis % Условие, проверяющее, что документ --- автореферат
\RequirePackage{etoolbox}[2015/08/02] % Для продвинутой проверки разных условий
%%% Поля и разметка страницы %%%
\usepackage{pdflscape} % Для включения альбомных страниц
\usepackage{geometry} % Для последующего задания полей
%%% Математические пакеты %%%
\usepackage{amsthm,amsmath,amscd} % Математические дополнения от AMS
\ifxetexorluatex
\usepackage{amsfonts,amssymb} % Математические дополнения от AMS
\else
\ifnumequal{\value{usealtfont}}{2}{}{
\usepackage{amsfonts,amssymb} % Математические дополнения от AMS
}
\fi
\usepackage{mathtools} % Добавляет окружение multlined
%%%% Установки для размера шрифта 14 pt %%%%
%% Формирование переменных и констант для сравнения (один раз для всех подключаемых файлов)%%
%% должно располагаться до вызова пакета fontspec или polyglossia, потому что они сбивают его работу
\newlength{\curtextsize}
\newlength{\bigtextsize}
\setlength{\bigtextsize}{13.9pt}
\makeatletter
%\show\f@size % неплохо для отслеживания, но вызывает стопорение процесса, если документ компилируется без команды -interaction=nonstopmode
\setlength{\curtextsize}{\f@size pt}
\makeatother
%%% Кодировки и шрифты %%%
\ifxetexorluatex
\usepackage{polyglossia}[2014/05/21] % Поддержка многоязычности (fontspec подгружается автоматически)
\else
%%% Решение проблемы копирования текста в буфер кракозябрами
\ifnumequal{\value{usealtfont}}{1}{% Используется pscyr, при наличии
\IfFileExists{pscyr.sty}{% вероятно, без pscyr нет необходимости в этом коде
\input glyphtounicode.tex
\input glyphtounicode-cmr.tex %from pdfx package
\pdfgentounicode=1
}{}
}{}
\usepackage{cmap} % Улучшенный поиск русских слов в полученном pdf-файле
\defaulthyphenchar=127 % Если стоит до fontenc, то переносы не впишутся в выделяемый текст при копировании его в буфер обмена
\usepackage[T1,T2A]{fontenc} % Поддержка русских букв
\ifnumequal{\value{usealtfont}}{1}{% Используется pscyr, при наличии
\IfFileExists{pscyr.sty}{\usepackage{pscyr}}{} % Подключение pscyr
}{}
\usepackage[utf8]{inputenc}[2014/04/30] % Кодировка utf8
\usepackage[english, russian]{babel}[2014/03/24]% Языки: русский, английский
\ifnumequal{\value{usealtfont}}{2}{
% http://dxdy.ru/post1238763.html#p1238763
\usepackage[scaled=0.925]{XCharter}[2017/06/25] % Подключение русифицированных шрифтов XCharter
\usepackage[bitstream-charter]{mathdesign} % Согласование математических шрифтов
}{}
\fi
%%% Оформление абзацев %%%
\usepackage{indentfirst} % Красная строка
%%% Цвета %%%
\usepackage[dvipsnames, table, hyperref, cmyk]{xcolor} % Совместимо с tikz. Конвертация всех цветов в cmyk заложена как удовлетворение возможного требования типографий. Возможно конвертирование и в rgb.
%%% Таблицы %%%
\usepackage{longtable,ltcaption} % Длинные таблицы
\usepackage{multirow,makecell} % Улучшенное форматирование таблиц
%%% Общее форматирование
\usepackage{soulutf8} % Поддержка переносоустойчивых подчёркиваний и зачёркиваний
\usepackage{icomma} % Запятая в десятичных дробях
\usepackage[hyphenation, lastparline]{impnattypo} % Оптимизация расстановки переносов и длины последней строки абзаца
%%% Гиперссылки %%%
\usepackage{hyperref}[2012/11/06]
%%% Изображения %%%
\usepackage{graphicx}[2014/04/25] % Подключаем пакет работы с графикой
%%% Списки %%%
\usepackage{enumitem}
%%% Счётчики %%%
\usepackage[figure,table]{totalcount} % Счётчик рисунков и таблиц
\usepackage{totcount} % Пакет создания счётчиков на основе последнего номера подсчитываемого элемента (может требовать дважды компилировать документ)
\usepackage{totpages} % Счётчик страниц, совместимый с hyperref (ссылается на номер последней страницы). Желательно ставить последним пакетом в преамбуле
%%% Продвинутое управление групповыми ссылками (пока только формулами) %%%
\ifxetexorluatex
\usepackage{cleveref} % cleveref корректно считывает язык из настроек polyglossia
\else
\usepackage[russian]{cleveref} % cleveref имеет сложности со считыванием языка из babel. Такое решение русификации вывода выбрано вместо определения в documentclass из опасности что-то лишнее передать во все остальные пакеты, включая библиографию.
\fi
\creflabelformat{equation}{#2#1#3} % Формат по умолчанию ставил круглые скобки вокруг каждого номера ссылки, теперь просто номера ссылок без какого-либо дополнительного оформления
\crefrangelabelformat{equation}{#3#1#4\cyrdash#5#2#6} % Интервалы в русском языке принято делать через тире, если иное не оговорено
\ifnumequal{\value{draft}}{1}{% Черновик
\usepackage[firstpage]{draftwatermark}
\SetWatermarkText{DRAFT}
\SetWatermarkFontSize{14pt}
\SetWatermarkScale{15}
\SetWatermarkAngle{45}
}{}
%%% Цитата, не приводимая в автореферате:
% возможно, актуальна только для biblatex
%\newcommand{\citeinsynopsis}[1]{\ifsynopsis\else ~\cite{#1} \fi}