definitions.tex 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  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. %
  149. % устаревшее обозначение кардинального числа (мощности множества)
  150. % в виде двух горизонтальных черт над буквой обозначающей множество
  151. %
  152. \makeatletter%
  153. \newcommand{\dbloverline}[1]{\overline{\dbl@overline{#1}}}%
  154. \newcommand{\dbl@overline}[1]{\mathpalette\dbl@@overline{#1}}%
  155. \newcommand{\dbl@@overline}[2]{%
  156. \begingroup%
  157. \sbox\z@{$\m@th#1\overline{#2}$}%
  158. \ht\z@=\dimexpr\ht\z@-2\dbl@adjust{#1}\relax\box\z@
  159. \ifx#1\scriptstyle\kern-\scriptspace\else%
  160. \ifx#1\scriptscriptstyle\kern-\scriptspace\fi%
  161. \fi%
  162. \endgroup%
  163. }%
  164. \newcommand{\dbl@adjust}[1]{%
  165. \fontdimen8%
  166. \ifx#1\displaystyle\textfont\else%
  167. \ifx#1\textstyle\textfont\else%
  168. \ifx#1\scriptstyle\scriptfont\else%
  169. \scriptscriptfont%
  170. \fi\fi\fi 3%
  171. }%
  172. \makeatother
  173. %
  174. % окружение для примеров, теорем, лемм, доказательств и следствий
  175. % Первый аргумент - заголовок
  176. % Второй аргумент - техническая метка
  177. % Третий аргумент - печатная метка (что будет напечатано при \ref{})
  178. %
  179. \newenvironment{SCEnvWLabel}[3]%
  180. {\medskip\mbox{\textsc{#1}\itemlabel{#2}{#3}}\enskip}{\medskip}%
  181. %
  182. % технический макрос для учета старой и новой нотации
  183. %
  184. \newcommand{\olNt}[2]{\ifx\LaterNotation\undefined #1\else #2\fi}%
  185. %
  186. % технический макрос для переноса знака между строк
  187. %
  188. \newcommand*{\hm}[1]%
  189. {#1\nobreak\discretionary{}{\hbox{$\mathsurround=0pt #1$}}{}}
  190. %
  191. % установка длины из длины строки-образца
  192. %
  193. \newcommand{\SetLenVarWithWidth}[2]
  194. {\ifdefined #1 \else \newlength{#1} \fi \settowidth{#1}{#2}}
  195. %
  196. % установка длины по значению
  197. %
  198. \newcommand{\SetLenVarWithVal}[2]%
  199. {\ifdefined #1 \else \newlength{#1} \fi \setlength{#1}{#2}}