diff --git a/setup/preamble.tex b/setup/preamble.tex index 1fe9559..566580e 100644 --- a/setup/preamble.tex +++ b/setup/preamble.tex @@ -1,58 +1,42 @@ -\PassOptionsToPackage{unicode=true}{hyperref} - -% -% Проверка версии компилятора -% +%%%%% Проверка версии компилятора \usepackage{ifxetex} -% -% Функции для работы с размерностями и счётчиками -% +%%%%% Функции для работы с размерностями и счётчиками \usepackage{calc} -% -% Параметры страницы -% +%%%%% Параметры страницы \usepackage{geometry} -% -% Межстрочный интервал -% +%%%%% Межстрочный интервал \usepackage{setspace} -% \onehalfspacing работает только для шрифтов 10pt, 11pt, 12pt -% Указываем явное значение + +%%%%% \onehalfspacing работает только для шрифтов 10pt, 11pt, 12pt +%%%%% Указываем явное значение \setstretch{1.25} -% -% Отступ первой строки в параграфе -% +%%%%% Отступ первой строки в параграфе \setlength{\parindent}{12.5mm} \usepackage{indentfirst} -% -% Правила для висячих строк -% +%%%%% Правила для висячих строк \usepackage[defaultlines=3,all]{nowidow} -% -% Защита от строк на полях (добавление 3 виртуальных пустых символов) -% +%%%%% Защита от строк на полях (добавление 3 виртуальных пустых символов) \setlength{\emergencystretch}{3em} +%%%%% Оптимизация расстановки переносов и длины последней строки абзаца +\IfFileExists{impnattypo.sty}{\usepackage[hyphenation, lastparline]{impnattypo}}{} +%%%%% Поддержка переносоустойчивых подчёркиваний и зачёркиваний +\usepackage{soulutf8} +%%%%% Запятая в десятичных дробях +\usepackage{icomma} - - -% -% Работа с цветом -% +%%%%% Работа с цветом \usepackage[dvipsnames,svgnames*,x11names*]{xcolor} - -% -% Оформление блоков исходных текстов (обязательно перед локализацией) -% +%%%%% Оформление блоков исходных текстов (обязательно перед локализацией) \usepackage{fancyvrb} \ifxetex % Break long lines of code @@ -60,13 +44,11 @@ \DefineVerbatimEnvironment{Highlighting}{Verbatim}{breaklines,commandchars=\\\{\}} \fi \VerbatimFootnotes % allows verbatim text in footnotes +\IfFileExists{upquote.sty}{\usepackage{upquote}}{} \usepackage{listings} \newcommand{\passthrough}[1]{#1} \lstset{defaultdialect=[5.3]Lua} \lstset{defaultdialect=[x86masm]Assembler} -% -% -% @@ -89,17 +71,6 @@ \usepackage{array} -% -% -% -\usepackage{siunitx} -\sisetup{range-phrase = \text{...}} -\usepackage{physics} -\usepackage{eqexpl} -\eqexplSetIntro{где} - -\providecommand{\strong}[1]{\textbf{#1}} - \newcounter{fontsnotfound} \newcommand{\iffontsexist}[3]{ \setcounter{fontsnotfound}{0} @@ -111,9 +82,18 @@ \fi } + +%%%%% Математика +\usepackage{amsthm,amsmath,amscd} % Математические дополнения от AMS +\usepackage{amsfonts,amssymb} % Математические дополнения от AMS +\usepackage{mathtools} % Добавляет окружение multlined +\usepackage{xfrac} % Красивые дроби + + +%%%%% Шрифты \ifxetex - \usepackage{amssymb,amsmath} - \usepackage{mathspec} % Вместо fontspec + \usepackage[no-math]{fontspec} % Вместо fontspec + \usepackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math} \defaultfontfeatures{Scale=MatchLowercase,Mapping=tex-text} \defaultfontfeatures[\rmfamily]{Scale=1} \setsansfont[Mapping=tex-text]{Arial} @@ -125,13 +105,29 @@ \newfontfamily\listingsfontinline{Pragmata Pro Mono Bold} \DeclareSymbolFont{letters}{\encodingdefault}{\rmdefault}{m}{it} \else - \usepackage{unicode-math} \fi -% -% Настройка локализации -% -\usepackage{csquotes} + +%%%%% Размерности SI (обязательно после fontspec, amsmath, unicode-math) +\usepackage{siunitx} +\sisetup{ + exponent-product = \ensuremath { \cdot }, + inter-unit-product = \ensuremath { \cdot }, + output-decimal-marker = { , }, + list-separator = {;\,}, + list-final-separator = {;\,}, + list-pair-separator = {;\,}, + range-phrase = {\text{...}}, + quotient-mode = fraction, % красивые дроби могут не соответствовать ГОСТ + fraction-function = \sfrac, + separate-uncertainty +} +\usepackage{physics} +\usepackage{eqexpl} +\eqexplSetIntro{где} + + +%%%%% Локализация \ifxetex \usepackage{textcase} \usepackage{xltxtra} @@ -145,6 +141,10 @@ \setmathfont{XITS Math} \defaultfontfeatures{Scale=MatchLowercase} \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1} + \IfFileExists{microtype.sty}{ % use microtype if available + \usepackage{microtype} + \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts + }{} \else \usepackage{cmap} \usepackage[T1]{fontenc} @@ -152,73 +152,87 @@ \usepackage[russian]{babel} \fi -% При переносе оставлять минимум 3 символа на первой строке и 3 на второй +%%%%% При переносе оставлять минимум 3 символа на первой строке и 3 на второй \renewcommand\russianhyphenmins{33} -% Использовать для кавычек-ёлочек данные символы +%%%%% Использовать для кавычек-ёлочек данные символы +\usepackage{csquotes} \renewcommand{\flqq}{«} \renewcommand{\frqq}{»} -\IfFileExists{upquote.sty}{\usepackage{upquote}}{} -\IfFileExists{microtype.sty}{ % use microtype if available - \usepackage{microtype} - \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts -}{} - -% -% Оформление URL, разрешение переносов -% +%%%%% Оформление URL, разрешение переносов \usepackage[hyphens]{xurl} -% Использование того же шрифта, что и в окружающем тексте +%%%%% Использование того же шрифта, что и в окружающем тексте \urlstyle{same} -% -% -% - -\usepackage{hyperref} -\hypersetup{ +\usepackage[ unicode=true, + bookmarks=true, bookmarksnumbered=false, bookmarksopen=false, - colorlinks=true, + colorlinks=true, % ссылки отображаются цветным текстом + linkcolor={Maroon}, % цвет ссылок типа ref, eqref и подобных + filecolor={Maroon}, % + citecolor={Blue}, % цвет ссылок-цитат + urlcolor={Blue}, % цвет гиперссылок + linktocpage=true, % ссылки с номера страницы в оглавлении, списке таблиц и списке рисунков pdfborder={0 0 0}, pdfborderstyle={}, + pdfpagelabels=false, % set PDF page labels (true|false) + pdflang={ru} +]{hyperref} + +\makeatletter +\AtBeginDocument{ +\hypersetup{ breaklinks=false, - linkcolor=Maroon, - filecolor=Maroon, - citecolor=Blue, - urlcolor=Blue, +% linktoc=all, % both the section and page part are links + plainpages=false, % Forces page anchors to be named by the Arabic form of the page number, rather than the formatted form +% hidelinks, % Hide links (removing color and border) + pdftitle={\@title}, % Заголовок + pdfauthor={\@author}, % Автор +% pdfsubject={\thesisSpecialtyNumber\ \thesisSpecialtyTitle}, % Тема +% pdfcreator={Создатель}, % Создатель, Приложение +% pdfproducer={Производитель},% Производитель, Производитель PDF + pdfkeywords={}, % Ключевые слова } - %bookmarks=true, +} +\makeatother + + + +%bookmarks=true, % pdftitle={\@title}, % pdfauthor={\@author}, % pdfsubject={}, % pdfkeywords={}, %[ -% +% % backref=false]{hyperref} -% -% Настройка таблиц -% +%%%%% Добавление модификатора H для размещения объектов +\usepackage{float} + +%%%%% Команда \FloatBarrier +\usepackage{placeins} + +%%%%% Настройка таблиц \usepackage{xltabular} +\usepackage{ltcaption} \usepackage{multirow} +\usepackage{makecell} \newcommand{\HY}{\hyphenpenalty=25\exhyphenpenalty=25} \newcolumntype{Z}{>{\HY\raggedright\arraybackslash\hspace{0pt}}X} \newcolumntype{M}{>{\HY\RaggedRight\arraybackslash\hspace{0pt}}c} \newcolumntype{L}{>{\HY\RaggedRight\arraybackslash\hspace{0pt}}l} -% Обязательно после hyperref +%%%%% Заголовок на последней странице таблицы (обязательно после hyperref) \usepackage{fr-longtable} - - -\providecommand{\tightlist}{% - \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} -\setcounter{secnumdepth}{-\maxdimen} % remove section numbering +%%%%% Автоматический подгон ширины подписи таблицы +\usepackage{threeparttable} % Redefines (sub)paragraphs to behave more like sections \ifx\paragraph\undefined\else @@ -230,9 +244,8 @@ \renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}} \fi -% -% Подключение изображений (желательно после локализации) -% + +%%%%% Подключение изображений (желательно после локализации) \usepackage{graphicx} \usepackage[encoding,filenameencoding=utf8,extendedchars]{grffile} @@ -245,10 +258,22 @@ % using explicit options in \includegraphics[width, height, ...]{} \setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio} -% Расположение по умолчанию +%%%%% Расположение по умолчанию \makeatletter -\def\fps@figure{htbp} +\def\fps@figure{Htbp} \makeatother -% -% -% + +\providecommand{\tabularnewline}{\\} +\providecommand{\strong}[1]{\textbf{#1}} +\providecommand{\No}{\textnumero} + +%%%%% Компактный список +\providecommand{\tightlist}{% + \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} +\setcounter{secnumdepth}{-\maxdimen} % remove section numbering + + +\AtBeginDocument{ + \def\labelitemi{\textendash} + \def\labelitemii{\(\bullet\)} +} diff --git a/template.tex b/template.tex index 84611da..0bc3f02 100644 --- a/template.tex +++ b/template.tex @@ -1,4 +1,3 @@ -\PassOptionsToPackage{unicode=true}{hyperref} \PassOptionsToPackage{a4paper,top=20mm,left=20mm,right=10mm,bottom=15mm}{geometry} \documentclass[russian,14pt]{extarticle} @@ -15,9 +14,9 @@ \usepackage{lipsum} -\author{} +\author{Автор} \date{} -\title{} +\title{Название} \makeglossaries @@ -25,7 +24,10 @@ \begin{document} \maketitle +\No + \lipsum[1] + \end{document}