\usepackage{fix-cm}%   исправление шрифта Computer Modern НЕ ПЕРЕМЕЩАТЬ!!!
\usepackage{calc}%     пакет для простой арифметики в выражениях
\usepackage{etoolbox}% некоторые интерфейсы Latex
\usepackage{longtable,multirow}% пакеты для таблиц
\usepackage{adjustbox,% некоторые пакеты для работы
            placeins, % с плавающими объектами - иллюстрациями, таблицами
            caption}  %
%
% геометрия страницы
%
\usepackage[
    top    = 0.06734007\paperheight,
    bottom = 0.06734007\paperheight,
    right  = 0.1190476\paperwidth,
    left   = 0.0952381\paperwidth
]{geometry}
%%%%% дополнительные настройки колонтитулов
\RequirePackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\setlength{\headheight}{12pt}%
\fancyhead[LE,RO]{\thepage}%
%
% абзацы и выравнивание
%
\usepackage{indentfirst}
\frenchspacing
\sloppy
\raggedbottom
\setlength{\parindent}{0.0604762\paperwidth}%
%
% язык и шрифты
%
\usepackage{amsmath,amsfonts,amssymb,xfrac}
\usepackage[cmintegrals,cmbraces]{newtxmath}
\usepackage{xltxtra,polyglossia,csquotes}
\usepackage{verbatim,fancyvrb,framed}
\usepackage{cancel}% зачёркивание, используется в сноске на стр.16 оригинала
\setmainlanguage{russian}
\setotherlanguage{english}
\setkeys{russian}{babelshorthands=true}
\defaultfontfeatures{Scale=MatchLowercase,Mapping=tex-text}
\setmainfont{Garamond Premier Pro}
\setromanfont{Garamond Premier Pro}
\setsansfont{CMU Sans Serif}
\newfontfamily{\cyrillicfont}{Garamond Premier Pro}
\newfontfamily{\cyrillicfontrm}{Garamond Premier Pro}
\newfontfamily{\cyrillicfontsf}{CMU Sans Serif}
\setmonofont{CMU Typewriter Text}
\newfontfamily{\cyrillicfonttt}{CMU Typewriter Text}
%%%%% изменение кернинга для разреженного шрифта
\newcommand{\FSparseVal}{7}%
\newcommand{\sparseFnt}{\addfontfeatures{LetterSpace=\FSparseVal}}
\newcommand{\unsparseFnt}{\addfontfeatures{LetterSpace=1}}
%
% графика
%
\RequirePackage[all]{xy}
\RequirePackage{subfigure, graphicx, float}
\graphicspath{{images/}}
%
% сноски
%
\usepackage{perpage}
\MakePerPage{footnote}
\makeatletter%
\renewcommand{\@makefnmark}{\mbox{{\@textsuperscript{\normalfont\@thefnmark}}})}
\renewcommand\@makefntext[1]%
    {\parindent 1em\relax\noindent\hb@xt@1.8em{\hss\@makefnmark}\ #1}%
\makeatother%
%
% ссылки
%
\RequirePackage{hyperref}
\hypersetup{colorlinks=true,linkcolor={black},urlcolor={blue},citecolor={black}}
%%%%% обеспечение меток для элементов списков
\makeatletter%
\def\itemlabel#1#2{{\def\@currentlabel{#2}\phantomsection\label{#1}}}%
\makeatother%
%
% предметный указатель
%
\usepackage[xindy]{imakeidx}
\makeindex[options = -C utf8 -M texindy -M index_style_and_order ]
%
% библиография
%
\usepackage[backend        = biber,
            citestyle      = bookvvmrus,
            bibstyle       = bookvvmrus,
            sorting        = vvm,
            labeldateparts = true]{biblatex}
\addbibresource{bibliography.bib}
%
% оглавление
%
\setcounter{tocdepth}{3}%
%%%%% технические длины для корректного форматирования заголовков и оглавления
\settowidth{\WoLongestChNm}{{\sparseFnt Глава}%
    \hspace*{.25em}XIII.\hspace*{.25em}}%
\settowidth{\WoLongestApxNm}{{\sparseFnt Дополнение}%
    \hspace*{.25em}VII.\hspace*{.25em}}%
\settowidth{\AsterixLen}{{\bfseries *}}%
\settowidth{\ParagrLen}{\textsection}%
\settowidth{\SectTocMarkIndent}{{\sparseFnt Глава}}%
\settowidth{\WoLongestSeNm}{\hspace*{0.25em}77.\hspace*{0.25em}}%
\setlength{\TotlWoLongestSect}{0em}%
\addtolength{\TotlWoLongestSect}{\WoLongestSeNm}%
\addtolength{\TotlWoLongestSect}{\AsterixLen}%
\addtolength{\TotlWoLongestSect}{\ParagrLen}%
%===============================================================================
%
% строка "\def\LaterNotation{1}" определяет какую нотацию использовать:
%     * для использования оригинальной (старой) нотации закомментируйте строку
%     * для использования более поздней (современной) нотации расскомментируйте
%       строку
%
\def\LaterNotation{1}
%
% некоторые часто встречающиеся символы и обозначения
%
\newcommand{\isom}{$1$\nobreakdash--$1$\nobreakdash}% "1-1" в "1-1-соответствие"
\newcommand{\simN}[1]{\hm{\overset{#1}{\sim}}}%       эквивалентность с номером
\newcommand{\alephZero}{\mathbf{\aleph}_{0}}%         алеф-ноль
\newcommand{\setOfSets}[1]{\text{\textsf{\textbf{#1}}}}% множество множеств
%
% соответствие старой нотации новой нотации
% обратите внимание на символ булеана - \OLpowerset
% обозначение булеана к 2020 году не устоялось окончательно и
% при перенаборе использована прописная P со скобками, но возможны варианты
%
\newcommand{\OLemptyset}{\olNt{\mathrm{O}}{\varnothing}}% пустое множество
\newcommand{\OLnotin}{\olNt{\bar{\in}}{\notin}}%          не принадлежит
\newcommand{\OLcard}[1]{\olNt{\dbloverline{#1}}{\left|#1\right|}} % мощность
\newcommand{\OLcup}{\hm{\olNt{+}{\cup}}}%            объединение
\newcommand{\OLcap}{\hm{\olNt{\cdot}{\cap}}}%        пересечение
\newcommand{\OLsetminus}{\hm{\olNt{-}{\setminus}}}%  дополнение
\newcommand{\OLpowerset}[1]%                         булеан
    {\olNt{\mathfrak{U}#1}{\mathcal{P}\mathopen{}\left(#1\right)\mathclose{}}}
% \newcommand{\OLpowerset}[1]%                       другой вариант булеана
%    {\olNt{\mathfrak{U}#1}{\mathbb{P}\mathopen{}\left(#1\right)\mathclose{}}}
\newcommand{\OLunion}[1]%                            объединение большое
    {\olNt{\mathfrak{S}#1}{\bigcup\mathopen{}#1\mathclose{}}}
\newcommand{\OLintersec}[1]%                         пересечение большое
    {\olNt{\mathfrak{D}#1}{\bigcap\mathopen{}#1\mathclose{}}}
\newcommand{\OLNaturalNumSet}{\olNt{N}{\mathbb{N}}}% натуральные числа
\newcommand{\OLRealNumSet}{\olNt{R}{\mathbb{R}}}%    вещественные числа
%
% устаревшее обозначение кардинального числа (мощности множества)
% в виде двух горизонтальных черт над буквой обозначающей множество
%
\makeatletter%
\newcommand{\dbloverline}[1]{\overline{\dbl@overline{#1}}}%
\newcommand{\dbl@overline}[1]{\mathpalette\dbl@@overline{#1}}%
\newcommand{\dbl@@overline}[2]{%
    \begingroup%
        \sbox\z@{$\m@th#1\overline{#2}$}%
        \ht\z@=\dimexpr\ht\z@-2\dbl@adjust{#1}\relax\box\z@
        \ifx#1\scriptstyle\kern-\scriptspace\else%
            \ifx#1\scriptscriptstyle\kern-\scriptspace\fi%
        \fi%
    \endgroup%
}%
\newcommand{\dbl@adjust}[1]{%
    \fontdimen8%
    \ifx#1\displaystyle\textfont\else%
        \ifx#1\textstyle\textfont\else%
            \ifx#1\scriptstyle\scriptfont\else%
                \scriptscriptfont%
    \fi\fi\fi 3%
}%
\makeatother
%
% окружение для примеров, теорем, лемм, доказательств и следствий
%     Первый аргумент - заголовок
%     Второй аргумент - техническая метка
%     Третий аргумент - печатная метка (что будет напечатано при \ref{})
%
\newenvironment{SCEnvWLabel}[3]%
    {\medskip\mbox{\textsc{#1}\itemlabel{#2}{#3}}\enskip}{\medskip}%
%
% технический макрос для учета старой и новой нотации
%
\newcommand{\olNt}[2]{\ifx\LaterNotation\undefined #1\else #2\fi}%
%
% технический макрос для переноса знака между строк
%
\newcommand*{\hm}[1]%
    {#1\nobreak\discretionary{}{\hbox{$\mathsurround=0pt #1$}}{}}
%
% установка длины из длины строки-образца
%
\newcommand{\SetLenVarWithWidth}[2]
    {\ifdefined #1 \else \newlength{#1} \fi \settowidth{#1}{#2}}
%
% установка длины по значению
%
\newcommand{\SetLenVarWithVal}[2]%
    {\ifdefined #1 \else \newlength{#1} \fi \setlength{#1}{#2}}