definitions.tex 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. \usepackage{fix-cm}% исправление шрифта Computer Modern НЕ ПЕРЕМЕЩАТЬ!!!
  2. \usepackage{calc}% пакет для простой арифметики в выражениях
  3. \usepackage{etoolbox}% некоторые интерфейсы Latex
  4. \usepackage{longtable,multirow}% пакеты для таблиц
  5. \usepackage{adjustbox,% некоторые пакеты для работы
  6. placeins, % с плавающими объектами - иллюстрациями, таблицами
  7. caption} %
  8. %
  9. % геометрия страницы
  10. %
  11. \usepackage[
  12. top = 0.06734007\paperheight,
  13. bottom = 0.06734007\paperheight,
  14. right = 0.1190476\paperwidth,
  15. left = 0.0952381\paperwidth
  16. ]{geometry}
  17. %%%%% дополнительные настройки колонтитулов
  18. \RequirePackage{fancyhdr}
  19. \pagestyle{fancy}
  20. \fancyhf{}
  21. \setlength{\headheight}{12pt}%
  22. \fancyhead[LE,RO]{\thepage}%
  23. %
  24. % абзацы и выравнивание
  25. %
  26. \usepackage{indentfirst}
  27. \frenchspacing
  28. \sloppy
  29. \raggedbottom
  30. \setlength{\parindent}{0.0604762\paperwidth}%
  31. %
  32. % язык и шрифты
  33. %
  34. \usepackage{amsmath,amsfonts,amssymb,xfrac}
  35. \usepackage[cmintegrals,cmbraces]{newtxmath}
  36. \usepackage{xltxtra,polyglossia,csquotes}
  37. \usepackage{verbatim,fancyvrb,framed}
  38. \usepackage{cancel}% зачёркивание, используется в сноске на стр.16 оригинала
  39. \setmainlanguage{russian}
  40. \setotherlanguage{english}
  41. \setkeys{russian}{babelshorthands=true}
  42. \defaultfontfeatures{Scale=MatchLowercase,Mapping=tex-text}
  43. \setmainfont{Garamond Premier Pro}
  44. \setromanfont{Garamond Premier Pro}
  45. \setsansfont{CMU Sans Serif}
  46. \newfontfamily{\cyrillicfont}{Garamond Premier Pro}
  47. \newfontfamily{\cyrillicfontrm}{Garamond Premier Pro}
  48. \newfontfamily{\cyrillicfontsf}{CMU Sans Serif}
  49. \setmonofont{CMU Typewriter Text}
  50. \newfontfamily{\cyrillicfonttt}{CMU Typewriter Text}
  51. %%%%% изменение кернинга для разреженного шрифта
  52. \newcommand{\FSparseVal}{7}%
  53. \newcommand{\sparseFnt}{\addfontfeatures{LetterSpace=\FSparseVal}}
  54. \newcommand{\unsparseFnt}{\addfontfeatures{LetterSpace=1}}
  55. %
  56. % графика
  57. %
  58. \RequirePackage[all]{xy}
  59. \RequirePackage{subfigure, graphicx, float}
  60. \graphicspath{{images/}}
  61. %
  62. % сноски
  63. %
  64. \usepackage{perpage}
  65. \MakePerPage{footnote}
  66. \makeatletter%
  67. \renewcommand{\@makefnmark}{\mbox{{\@textsuperscript{\normalfont\@thefnmark}}})}
  68. \renewcommand\@makefntext[1]%
  69. {\parindent 1em\relax\noindent\hb@xt@1.8em{\hss\@makefnmark}\ #1}%
  70. \makeatother%
  71. %
  72. % ссылки
  73. %
  74. \RequirePackage{hyperref}
  75. \hypersetup{colorlinks=true,linkcolor={black},urlcolor={blue},citecolor={black}}
  76. %%%%% обеспечение меток для элементов списков
  77. \makeatletter%
  78. \def\itemlabel#1#2{{\def\@currentlabel{#2}\phantomsection\label{#1}}}%
  79. \makeatother%
  80. %
  81. % предметный указатель
  82. %
  83. \usepackage[xindy]{imakeidx}
  84. \makeindex[options = -C utf8 -M texindy -M index_style_and_order ]
  85. %
  86. % библиография
  87. %
  88. \usepackage[backend = biber,
  89. citestyle = bookvvmrus,
  90. bibstyle = bookvvmrus,
  91. sorting = vvm,
  92. labeldateparts = true]{biblatex}
  93. \addbibresource{bibliography.bib}
  94. %
  95. % оглавление
  96. %
  97. \setcounter{tocdepth}{3}%
  98. %%%%% технические длины для корректного форматирования заголовков и оглавления
  99. \settowidth{\WoLongestChNm}{{\sparseFnt Глава}%
  100. \hspace*{.25em}XIII.\hspace*{.25em}}%
  101. \settowidth{\WoLongestApxNm}{{\sparseFnt Дополнение}%
  102. \hspace*{.25em}VII.\hspace*{.25em}}%
  103. \settowidth{\AsterixLen}{{\bfseries *}}%
  104. \settowidth{\ParagrLen}{\textsection}%
  105. \settowidth{\SectTocMarkIndent}{{\sparseFnt Глава}}%
  106. \settowidth{\WoLongestSeNm}{\hspace*{0.25em}77.\hspace*{0.25em}}%
  107. \setlength{\TotlWoLongestSect}{0em}%
  108. \addtolength{\TotlWoLongestSect}{\WoLongestSeNm}%
  109. \addtolength{\TotlWoLongestSect}{\AsterixLen}%
  110. \addtolength{\TotlWoLongestSect}{\ParagrLen}%
  111. %===============================================================================
  112. %
  113. % строка "\def\LaterNotation{1}" определяет какую нотацию использовать:
  114. % * для использования оригинальной (старой) нотации закомментируйте строку
  115. % * для использования более поздней (современной) нотации расскомментируйте
  116. % строку
  117. %
  118. %%%%% \def\LaterNotation{1}
  119. %
  120. % некоторые часто встречающиеся символы и обозначения
  121. %
  122. \newcommand{\isom}{$1$\nobreakdash--$1$\nobreakdash}% "1-1" в "1-1-соответствие"
  123. \newcommand{\simN}[1]{\hm{\overset{#1}{\sim}}}% эквивалентность с номером
  124. \newcommand{\alephZero}{\mathbf{\aleph}_{0}}% алеф-ноль
  125. \newcommand{\setOfSets}[1]{\text{\textsf{\textbf{#1}}}}% множество множеств
  126. %
  127. % соответствие старой нотации новой нотации
  128. % обратите внимание на символ булеана - \OLpowerset
  129. % обозначение булеана к 2020 году не устоялось окончательно и
  130. % при перенаборе использована прописная P со скобками, но возможны варианты
  131. %
  132. \newcommand{\OLemptyset}{\olNt{\mathrm{O}}{\varnothing}}% пустое множество
  133. \newcommand{\OLnotin}{\olNt{\bar{\in}}{\notin}}% не принадлежит
  134. \newcommand{\OLcard}[1]{\olNt{\dbloverline{#1}}{\left|#1\right|}} % мощность
  135. \newcommand{\OLcup}{\hm{\olNt{+}{\cup}}}% объединение
  136. \newcommand{\OLcap}{\hm{\olNt{\cdot}{\cap}}}% пересечение
  137. \newcommand{\OLsetminus}{\hm{\olNt{-}{\setminus}}}% дополнение
  138. \newcommand{\OLpowerset}[1]% булеан
  139. {\olNt{\mathfrak{U}#1}{\mathcal{P}\mathopen{}\left(#1\right)\mathclose{}}}
  140. % \newcommand{\OLpowerset}[1]% другой вариант булеана
  141. % {\olNt{\mathfrak{U}#1}{\mathbb{P}\mathopen{}\left(#1\right)\mathclose{}}}
  142. \newcommand{\OLunion}[1]% объединение большое
  143. {\olNt{\mathfrak{S}#1}{\bigcup\mathopen{}#1\mathclose{}}}
  144. \newcommand{\OLintersec}[1]% пересечение большое
  145. {\olNt{\mathfrak{D}#1}{\bigcap\mathopen{}#1\mathclose{}}}
  146. \newcommand{\OLNaturalNumSet}{\olNt{N}{\mathbb{N}}}% натуральные числа
  147. \newcommand{\OLRealNumSet}{\olNt{R}{\mathbb{R}}}% вещественные числа
  148. \newcommand{\OLsup}{\olNt{\text{н.~в.~г. }}{\sup}}% супремум
  149. \newcommand{\OLinf}{\olNt{\text{н.~н.~г. }}{\inf}}% инфимум
  150. \newcommand{\OLepsilon}{\olNt{\mathbf{e}}{\boldsymbol{\varepsilon}}}% инфимум
  151. %
  152. % устаревшее обозначение кардинального числа (мощности множества)
  153. % в виде двух горизонтальных черт над буквой обозначающей множество
  154. %
  155. \makeatletter%
  156. \newcommand{\dbloverline}[1]{\overline{\dbl@overline{#1}}}%
  157. \newcommand{\dbl@overline}[1]{\mathpalette\dbl@@overline{#1}}%
  158. \newcommand{\dbl@@overline}[2]{%
  159. \begingroup%
  160. \sbox\z@{$\m@th#1\overline{#2}$}%
  161. \ht\z@=\dimexpr\ht\z@-2\dbl@adjust{#1}\relax\box\z@
  162. \ifx#1\scriptstyle\kern-\scriptspace\else%
  163. \ifx#1\scriptscriptstyle\kern-\scriptspace\fi%
  164. \fi%
  165. \endgroup%
  166. }%
  167. \newcommand{\dbl@adjust}[1]{%
  168. \fontdimen8%
  169. \ifx#1\displaystyle\textfont\else%
  170. \ifx#1\textstyle\textfont\else%
  171. \ifx#1\scriptstyle\scriptfont\else%
  172. \scriptscriptfont%
  173. \fi\fi\fi 3%
  174. }%
  175. \makeatother
  176. %
  177. % окружение для примеров, теорем, лемм, доказательств и следствий
  178. % Первый аргумент - заголовок
  179. % Второй аргумент - техническая метка
  180. % Третий аргумент - печатная метка (что будет напечатано при \ref{})
  181. %
  182. \newenvironment{SCEnvWLabel}[3]%
  183. {\medskip\mbox{\textsc{#1}\itemlabel{#2}{#3}}\enskip}{\medskip}%
  184. %
  185. % технический макрос для учета старой и новой нотации
  186. %
  187. \newcommand{\olNt}[2]{\ifx\LaterNotation\undefined #1\else #2\fi}%
  188. %
  189. % технический макрос для переноса знака между строк
  190. %
  191. \newcommand*{\hm}[1]%
  192. {#1\nobreak\discretionary{}{\hbox{$\mathsurround=0pt #1$}}{}}
  193. %
  194. % установка длины из длины строки-образца
  195. %
  196. \newcommand{\SetLenVarWithWidth}[2]
  197. {\ifdefined #1 \else \newlength{#1} \fi \settowidth{#1}{#2}}
  198. %
  199. % установка длины по значению
  200. %
  201. \newcommand{\SetLenVarWithVal}[2]%
  202. {\ifdefined #1 \else \newlength{#1} \fi \setlength{#1}{#2}}