definitions.tex 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  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. %
  55. % графика
  56. %
  57. \RequirePackage[all]{xy}
  58. \RequirePackage{subfigure, graphicx, float}
  59. \graphicspath{{images/}}
  60. %
  61. % сноски
  62. %
  63. \usepackage{perpage}
  64. \MakePerPage{footnote}
  65. \makeatletter%
  66. \renewcommand{\@makefnmark}{\mbox{{\@textsuperscript{\normalfont\@thefnmark}}})}
  67. \renewcommand\@makefntext[1]%
  68. {\parindent 1em\relax\noindent\hb@xt@1.8em{\hss\@makefnmark}\ #1}%
  69. \makeatother%
  70. %
  71. % ссылки
  72. %
  73. \RequirePackage{hyperref}
  74. \hypersetup{colorlinks=true,linkcolor={black},urlcolor={blue},citecolor={black}}
  75. %%%%% обеспечение меток для элементов списков
  76. \makeatletter%
  77. \def\itemlabel#1#2{{\def\@currentlabel{#2}\phantomsection\label{#1}}}%
  78. \makeatother%
  79. %
  80. % предметный указатель
  81. %
  82. \usepackage[xindy]{imakeidx}
  83. \makeindex[options = -C utf8 -M texindy -M index_style_and_order ]
  84. %
  85. % библиография
  86. %
  87. \usepackage[backend = biber,
  88. citestyle = bookvvmrus,
  89. bibstyle = bookvvmrus,
  90. sorting = vvm,
  91. labeldateparts = true]{biblatex}
  92. \addbibresource{bibliography.bib}
  93. %
  94. % оглавление
  95. %
  96. \setcounter{tocdepth}{3}%
  97. %%%%% технические длины для корректного форматирования заголовков и оглавления
  98. \settowidth{\WoLongestChNm}{{\sparseFnt Глава}%
  99. \hspace*{.25em}XIII.\hspace*{.25em}}%
  100. \settowidth{\WoLongestApxNm}{{\sparseFnt Дополнение}%
  101. \hspace*{.25em}VII.\hspace*{.25em}}%
  102. \settowidth{\AsterixLen}{{\bfseries *}}%
  103. \settowidth{\ParagrLen}{\textsection}%
  104. \settowidth{\SectTocMarkIndent}{{\sparseFnt Глава}}%
  105. \settowidth{\WoLongestSeNm}{\hspace*{0.25em}77.\hspace*{0.25em}}%
  106. \setlength{\TotlWoLongestSect}{0em}%
  107. \addtolength{\TotlWoLongestSect}{\WoLongestSeNm}%
  108. \addtolength{\TotlWoLongestSect}{\AsterixLen}%
  109. \addtolength{\TotlWoLongestSect}{\ParagrLen}%
  110. %===============================================================================
  111. %
  112. % строка "\def\LaterNotation{1}" определяет какую нотацию использовать:
  113. % * для использования оригинальной (старой) нотации закомментируйте строку
  114. % * для использования более поздней (современной) нотации расскомментируйте
  115. % строку
  116. %
  117. %%%%% \def\LaterNotation{1}
  118. %
  119. %некоторые часто встречающиеся символы и обозначения
  120. %
  121. \newcommand{\isom}{$1$\nobreakdash--$1$\nobreakdash}% "1-1" в "1-1-соответствие"
  122. \newcommand{\simN}[1]{\hm{\overset{#1}{\sim}}}% эквивалентность с номером
  123. \newcommand{\alephZero}{\mathbf{\aleph}_{0}}% алеф-ноль
  124. \newcommand{\setOfSets}[1]{\text{\textsf{\textbf{#1}}}}% множество множеств
  125. %
  126. % соответствие старой нотации новой нотации
  127. % обратите внимание на символ булеана - \OLpowerset
  128. % обозначение булеана к 2020 году не устоялось окончательно и
  129. % при перенаборе использована прописная P со скобками, но возможны варианты
  130. %
  131. \newcommand{\OLemptyset}{\olNt{\mathrm{O}}{\varnothing}}% пустое множество
  132. \newcommand{\OLnotin}{\olNt{\bar{\in}}{\notin}}% не принадлежит
  133. \newcommand{\OLcard}[1]{\olNt{\dbloverline{#1}}{\left|#1\right|}} % мощность
  134. \newcommand{\OLcup}{\hm{\olNt{+}{\cup}}}% объединение
  135. \newcommand{\OLcap}{\hm{\olNt{\cdot}{\cap}}}% пересечение
  136. \newcommand{\OLsetminus}{\hm{\olNt{-}{\setminus}}}% дополнение
  137. \newcommand{\OLpowerset}[1]% булеан
  138. {\olNt{\mathfrak{U}#1}{\mathcal{P}\mathopen{}\left(#1\right)\mathclose{}}}
  139. % \newcommand{\OLpowerset}[1]% другой вариант булеана
  140. % {\olNt{\mathfrak{U}#1}{\mathbb{P}\mathopen{}\left(#1\right)\mathclose{}}}
  141. \newcommand{\OLunion}[1]% объединение большое
  142. {\olNt{\mathfrak{S}#1}{\bigcup\mathopen{}#1\mathclose{}}}
  143. \newcommand{\OLintersec}[1]% пересечение большое
  144. {\olNt{\mathfrak{D}#1}{\bigcap\mathopen{}#1\mathclose{}}}
  145. %
  146. % устаревшее обозначение кардинального числа (мощности множества)
  147. % в виде двух горизонтальных черт над буквой обозначающей множество
  148. %
  149. \makeatletter%
  150. \newcommand{\dbloverline}[1]{\overline{\dbl@overline{#1}}}%
  151. \newcommand{\dbl@overline}[1]{\mathpalette\dbl@@overline{#1}}%
  152. \newcommand{\dbl@@overline}[2]{%
  153. \begingroup%
  154. \sbox\z@{$\m@th#1\overline{#2}$}%
  155. \ht\z@=\dimexpr\ht\z@-2\dbl@adjust{#1}\relax\box\z@
  156. \ifx#1\scriptstyle\kern-\scriptspace\else%
  157. \ifx#1\scriptscriptstyle\kern-\scriptspace\fi%
  158. \fi%
  159. \endgroup%
  160. }%
  161. \newcommand{\dbl@adjust}[1]{%
  162. \fontdimen8%
  163. \ifx#1\displaystyle\textfont\else%
  164. \ifx#1\textstyle\textfont\else%
  165. \ifx#1\scriptstyle\scriptfont\else%
  166. \scriptscriptfont%
  167. \fi\fi\fi 3%
  168. }%
  169. \makeatother
  170. %
  171. % окружение для примеров, теорем, лемм, доказательств и следствий
  172. % Первый аргумент - заголовок
  173. % Второй аргумент - техническая метка
  174. % Третий аргумент - печатная метка (что будет напечатано при \ref{})
  175. %
  176. \newenvironment{SCEnvWLabel}[3]%
  177. {\medskip\mbox{\textsc{#1}\itemlabel{#2}{#3}}\enskip}{\medskip}%
  178. %
  179. % технический макрос для учета старой и новой нотации
  180. %
  181. \newcommand{\olNt}[2]{\ifx\LaterNotation\undefined #1\else #2\fi}%
  182. %
  183. % технический макрос для переноса знака между строк
  184. %
  185. \newcommand*{\hm}[1]%
  186. {#1\nobreak\discretionary{}{\hbox{$\mathsurround=0pt #1$}}{}}
  187. %
  188. % установка длины из длины строки-образца
  189. %
  190. \newcommand{\SetLenVarWithWidth}[2]
  191. {\ifdefined #1 \else \newlength{#1} \fi \settowidth{#1}{#2}}
  192. %
  193. % установка длины по значению
  194. %
  195. \newcommand{\SetLenVarWithVal}[2]%
  196. {\ifdefined #1 \else \newlength{#1} \fi \setlength{#1}{#2}}