| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218 |
- \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}}}}% множество множеств
- \newcommand{\lamcalc}{$\mathrm{\uplambda}$\nobreakdash}% прямая лямбда
- %
- % соответствие старой нотации новой нотации
- % обратите внимание на символ булеана - \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}}}% вещественные числа
- \newcommand{\OLsup}{\olNt{\text{н.~в.~г. }}{\sup}}% супремум
- \newcommand{\OLinf}{\olNt{\text{н.~н.~г. }}{\inf}}% инфимум
- \newcommand{\OLepsilon}{\olNt{\mathbf{e}}{\boldsymbol{\varepsilon}}}% инфимум
- \newcommand{\OLlambda}[2]% лямбда-исчисление
- {\olNt{\mathrm{\uplambda} #1\;\,#2}{\mathrm{\uplambda} #1\,.\, #2}}
- %% TODO: стоит рассмотреть введение отдельного знака порядка \prec
- %% начиная с разд.6
- \newcommand{\OLprec}{\olNt{<}{\prec}}% порядок
- \newcommand{\OLpreceq}{\olNt{\leqslant}{\preccurlyeq}}%
- \newcommand{\OLsucc}{\olNt{>}{\succ}}%
- \newcommand{\OLsucceq}{\olNt{\geqslant}{\succcurlyeq}}%
- \newcommand{\OLprecB}{\olNt{\boldsymbol{<}}{\boldsymbol{\prec}}}% порядок R
- \newcommand{\OLpreceqB}%
- {\olNt{\boldsymbol{\leqslant}}{\boldsymbol{\preccurlyeq}}}%
- \newcommand{\OLsuccB}{\olNt{\boldsymbol{>}}{\boldsymbol{\succ}}}%
- \newcommand{\OLsucceqB}%
- {\olNt{\boldsymbol{\geqslant}}{\boldsymbol{\succcurlyeq}}}%
- %
- % устаревшее обозначение кардинального числа (мощности множества)
- % в виде двух горизонтальных черт над буквой обозначающей множество
- %
- \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}}
|