You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

196 lines
11 KiB
TeX

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

%%% Переопределение именований, если иначе не сработает %%%
%\gappto\captionsrussian{
% \renewcommand{\chaptername}{Глава}
% \renewcommand{\appendixname}{Приложение} % (ГОСТ Р 7.0.11-2011, 5.7)
%}
%%% Изображения %%%
\graphicspath{{images/}{Dissertation/images/}} % Пути к изображениям
%%% Интервалы %%%
%% По ГОСТ Р 7.0.11-2011, пункту 5.3.6 требуется полуторный интервал
%% Реализация средствами класса (на основе setspace) ближе к типографской классике.
%% И правит сразу и в таблицах (если со звёздочкой)
%\DoubleSpacing* % Двойной интервал
\OnehalfSpacing* % Полуторный интервал
%\setSpacing{1.42} % Полуторный интервал, подобный Ворду (возможно, стоит включать вместе с предыдущей строкой)
%%% Макет страницы %%%
% Выставляем значения полей (ГОСТ 7.0.11-2011, 5.3.7)
\geometry{a4paper, top=2cm, bottom=2cm, left=2.5cm, right=1cm, nofoot, nomarginpar} %, heightrounded, showframe
\setlength{\topskip}{0pt} %размер дополнительного верхнего поля
\setlength{\footskip}{12.3pt} % снимет warning, согласно https://tex.stackexchange.com/a/334346
%%% Выравнивание и переносы %%%
%% http://tex.stackexchange.com/questions/241343/what-is-the-meaning-of-fussy-sloppy-emergencystretch-tolerance-hbadness
%% http://www.latex-community.org/forum/viewtopic.php?p=70342#p70342
\tolerance 1414
\hbadness 1414
\emergencystretch 1.5em % В случае проблем регулировать в первую очередь
\hfuzz 0.3pt
\vfuzz \hfuzz
%\raggedbottom
%\sloppy % Избавляемся от переполнений
\clubpenalty=10000 % Запрещаем разрыв страницы после первой строки абзаца
\widowpenalty=10000 % Запрещаем разрыв страницы после последней строки абзаца
\brokenpenalty=4991 % Ограничение на разрыв страницы, если строка заканчивается переносом
%%% Блок управления параметрами для выравнивания заголовков в тексте %%%
\newlength{\otstuplen}
\setlength{\otstuplen}{\theotstup\parindent}
\ifnumequal{\value{headingalign}}{0}{% выравнивание заголовков в тексте
\newcommand{\hdngalign}{\centering} % по центру
\newcommand{\hdngaligni}{}% по центру
\setlength{\otstuplen}{0pt}
}{%
\newcommand{\hdngalign}{} % по левому краю
\newcommand{\hdngaligni}{\hspace{\otstuplen}} % по левому краю
} % В обоих случаях вроде бы без переноса, как и надо (ГОСТ Р 7.0.11-2011, 5.3.5)
%%% Оглавление %%%
\renewcommand{\cftchapterdotsep}{\cftdotsep} % отбивка точками до номера страницы начала главы/раздела
%% Переносить слова в заголовке не допускается (ГОСТ Р 7.0.11-2011, 5.3.5). Заголовки в оглавлении должны точно повторять заголовки в тексте (ГОСТ Р 7.0.11-2011, 5.2.3). Прямого указания на запрет переносов в оглавлении нет, но по той же логике невнесения искажений в смысл, лучше в оглавлении не переносить:
\setrmarg{2.55em plus1fil} %To have the (sectional) titles in the ToC, etc., typeset ragged right with no hyphenation
\renewcommand{\cftchapterpagefont}{\normalfont} % нежирные номера страниц у глав в оглавлении
\renewcommand{\cftchapterleader}{\cftdotfill{\cftchapterdotsep}}% нежирные точки до номеров страниц у глав в оглавлении
%\renewcommand{\cftchapterfont}{} % нежирные названия глав в оглавлении
\ifnumgreater{\value{headingdelim}}{0}{%
\renewcommand\cftchapteraftersnum{.\space} % добавляет точку с пробелом после номера раздела в оглавлении
}{}
\ifnumgreater{\value{headingdelim}}{1}{%
\renewcommand\cftsectionaftersnum{.\space} % добавляет точку с пробелом после номера подраздела в оглавлении
\renewcommand\cftsubsectionaftersnum{.\space} % добавляет точку с пробелом после номера подподраздела в оглавлении
\renewcommand\cftsubsubsectionaftersnum{.\space} % добавляет точку с пробелом после номера подподподраздела в оглавлении
\AfterEndPreamble{% без этого polyglossia сама всё переопределяет
\setsecnumformat{\csname the#1\endcsname.\space}
}
}{%
\AfterEndPreamble{% без этого polyglossia сама всё переопределяет
\setsecnumformat{\csname the#1\endcsname\quad}
}
}
\renewcommand*{\cftappendixname}{\appendixname\space} % Слово Приложение в оглавлении
%%% Колонтитулы %%%
% Порядковый номер страницы печатают на середине верхнего поля страницы (ГОСТ Р 7.0.11-2011, 5.3.8)
\makeevenhead{plain}{}{\rmfamily\thepage}{}
\makeoddhead{plain}{}{\rmfamily\thepage}{}
\makeevenfoot{plain}{}{}{}
\makeoddfoot{plain}{}{}{}
\pagestyle{plain}
%%% добавить Стр. над номерами страниц в оглавлении
%%% http://tex.stackexchange.com/a/306950
\newif\ifendTOC
\newcommand*{\tocheader}{
\ifnumequal{\value{pgnum}}{1}{%
\ifendTOC\else\hbox to \linewidth%
{\noindent{}~\hfill{Стр.}}\par%
\ifnumless{\value{page}}{3}{}{%
\vspace{0.5\onelineskip}
}
\afterpage{\tocheader}
\fi%
}{}%
}%
%%% Оформление заголовков глав, разделов, подразделов %%%
%% Работа должна быть выполнена ... размером шрифта 12-14 пунктов (ГОСТ Р 7.0.11-2011, 5.3.8). То есть не должно быть надписей шрифтом более 14. Так и поставим.
%% Эти установки будут давать одинаковый результат независимо от выбора базовым шрифтом 12 пт или 14 пт
\newcommand{\basegostsectionfont}{\fontsize{14pt}{16pt}\selectfont\bfseries}
\makechapterstyle{thesisgost}{%
\chapterstyle{default}
\setlength{\beforechapskip}{0pt}
\setlength{\midchapskip}{0pt}
\setlength{\afterchapskip}{\theintvl\curtextsize}
\renewcommand*{\chapnamefont}{\basegostsectionfont}
\renewcommand*{\chapnumfont}{\basegostsectionfont}
\renewcommand*{\chaptitlefont}{\basegostsectionfont}
\renewcommand*{\chapterheadstart}{}
\ifnumgreater{\value{headingdelim}}{0}{%
\renewcommand*{\afterchapternum}{.\space} % добавляет точку с пробелом после номера раздела
}{%
\renewcommand*{\afterchapternum}{\quad} % добавляет \quad после номера раздела
}
\renewcommand*{\printchapternum}{\hdngaligni\hdngalign\chapnumfont \thechapter}
\renewcommand*{\printchaptername}{}
\renewcommand*{\printchapternonum}{\hdngaligni\hdngalign}
}
\makeatletter
\makechapterstyle{thesisgostchapname}{%
\chapterstyle{thesisgost}
\renewcommand*{\printchapternum}{\chapnumfont \thechapter}
\renewcommand*{\printchaptername}{\hdngaligni\hdngalign\chapnamefont \@chapapp} %
}
\makeatother
\chapterstyle{thesisgost}
\setsecheadstyle{\basegostsectionfont\hdngalign}
\setsecindent{\otstuplen}
\setsubsecheadstyle{\basegostsectionfont\hdngalign}
\setsubsecindent{\otstuplen}
\setsubsubsecheadstyle{\basegostsectionfont\hdngalign}
\setsubsubsecindent{\otstuplen}
\sethangfrom{\noindent #1} %все заголовки подразделов центрируются с учетом номера, как block
\ifnumequal{\value{chapstyle}}{1}{%
\chapterstyle{thesisgostchapname}
\renewcommand*{\cftchaptername}{\chaptername\space} % будет вписано слово Глава перед каждым номером раздела в оглавлении
}{}%
%%% Интервалы между заголовками
\setbeforesecskip{\theintvl\curtextsize}% Заголовки отделяют от текста сверху и снизу тремя интервалами (ГОСТ Р 7.0.11-2011, 5.3.5).
\setaftersecskip{\theintvl\curtextsize}
\setbeforesubsecskip{\theintvl\curtextsize}
\setaftersubsecskip{\theintvl\curtextsize}
\setbeforesubsubsecskip{\theintvl\curtextsize}
\setaftersubsubsecskip{\theintvl\curtextsize}
%%% Вертикальные интервалы глав (\chapter) в оглавлении как и у заголовков
% раскомментировать следующие 2
% \setlength{\cftbeforechapterskip}{0pt plus 0pt} % ИЛИ эти 2 строки из учебника
% \renewcommand*{\insertchapterspace}{}
% или эту
% \renewcommand*{\cftbeforechapterskip}{0em}
%%% Блок дополнительного управления размерами заголовков
\ifnumequal{\value{headingsize}}{1}{% Пропорциональные заголовки и базовый шрифт 14 пт
\renewcommand{\basegostsectionfont}{\large\bfseries}
\renewcommand*{\chapnamefont}{\Large\bfseries}
\renewcommand*{\chapnumfont}{\Large\bfseries}
\renewcommand*{\chaptitlefont}{\Large\bfseries}
}{}
%%% Счётчики %%%
%% Упрощённые настройки шаблона диссертации: нумерация формул, таблиц, рисунков
\ifnumequal{\value{contnumeq}}{1}{%
\counterwithout{equation}{chapter} % Убираем связанность номера формулы с номером главы/раздела
}{}
\ifnumequal{\value{contnumfig}}{1}{%
\counterwithout{figure}{chapter} % Убираем связанность номера рисунка с номером главы/раздела
}{}
\ifnumequal{\value{contnumtab}}{1}{%
\counterwithout{table}{chapter} % Убираем связанность номера таблицы с номером главы/раздела
}{}
\AfterEndPreamble{
%% регистрируем счётчики в системе totcounter
\regtotcounter{totalcount@figure}
\regtotcounter{totalcount@table} % Если иным способом поставить в преамбуле то ошибка в числе таблиц
\regtotcounter{TotPages} % Если иным способом поставить в преамбуле то ошибка в числе страниц
\newtotcounter{totalappendix}
\newtotcounter{totalchapter}
}