From 7e9c1932f5a05c73e4d9daa6a9a0c1160d2a2104 Mon Sep 17 00:00:00 2001 From: Daniil Larionov Date: Sat, 25 Nov 2023 14:36:27 +0300 Subject: [PATCH 1/6] =?UTF-8?q?=D0=98=D0=B7=D0=BD=D0=B8=D1=87=D1=82=D0=BE?= =?UTF-8?q?=D0=B6=D0=B8=D0=BB=D0=B8=20=D0=BA=D0=BE=D0=BF=D0=B8=D0=BF=D0=B0?= =?UTF-8?q?=D1=81=D1=82=D1=83=20=D0=B2=20common/styles?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/styles.tex | 97 +++++++++++++---------------------------------- 1 file changed, 26 insertions(+), 71 deletions(-) diff --git a/common/styles.tex b/common/styles.tex index a72e4adcd..7e61cb68e 100644 --- a/common/styles.tex +++ b/common/styles.tex @@ -69,77 +69,32 @@ \else \crefdefaultlabelformat{#2#1#3} - % Уравнение - \crefformat{equation}{(#2#1#3)} % одиночная ссылка с приставкой - \labelcrefformat{equation}{(#2#1#3)} % одиночная ссылка без приставки - \crefrangeformat{equation}{(#3#1#4) \cyrdash~(#5#2#6)} % диапазон ссылок с приставкой - \labelcrefrangeformat{equation}{(#3#1#4) \cyrdash~(#5#2#6)} % диапазон ссылок без приставки - \crefmultiformat{equation}{(#2#1#3)}{ и~(#2#1#3)}{, (#2#1#3)}{ и~(#2#1#3)} % перечисление ссылок с приставкой - \labelcrefmultiformat{equation}{(#2#1#3)}{ и~(#2#1#3)}{, (#2#1#3)}{ и~(#2#1#3)} % перечисление без приставки - - % Подуравнение - \crefformat{subequation}{(#2#1#3)} % одиночная ссылка с приставкой - \labelcrefformat{subequation}{(#2#1#3)} % одиночная ссылка без приставки - \crefrangeformat{subequation}{(#3#1#4) \cyrdash~(#5#2#6)} % диапазон ссылок с приставкой - \labelcrefrangeformat{subequation}{(#3#1#4) \cyrdash~(#5#2#6)} % диапазон ссылок без приставки - \crefmultiformat{subequation}{(#2#1#3)}{ и~(#2#1#3)}{, (#2#1#3)}{ и~(#2#1#3)} % перечисление ссылок с приставкой - \labelcrefmultiformat{subequation}{(#2#1#3)}{ и~(#2#1#3)}{, (#2#1#3)}{ и~(#2#1#3)} % перечисление без приставки - - % Глава - \crefformat{chapter}{#2#1#3} % одиночная ссылка с приставкой - \labelcrefformat{chapter}{#2#1#3} % одиночная ссылка без приставки - \crefrangeformat{chapter}{#3#1#4 \cyrdash~#5#2#6} % диапазон ссылок с приставкой - \labelcrefrangeformat{chapter}{#3#1#4 \cyrdash~#5#2#6} % диапазон ссылок без приставки - \crefmultiformat{chapter}{#2#1#3}{ и~#2#1#3}{, #2#1#3}{ и~#2#1#3} % перечисление ссылок с приставкой - \labelcrefmultiformat{chapter}{#2#1#3}{ и~#2#1#3}{, #2#1#3}{ и~#2#1#3} % перечисление без приставки - - % Параграф - \crefformat{section}{#2#1#3} % одиночная ссылка с приставкой - \labelcrefformat{section}{#2#1#3} % одиночная ссылка без приставки - \crefrangeformat{section}{#3#1#4 \cyrdash~#5#2#6} % диапазон ссылок с приставкой - \labelcrefrangeformat{section}{#3#1#4 \cyrdash~#5#2#6} % диапазон ссылок без приставки - \crefmultiformat{section}{#2#1#3}{ и~#2#1#3}{, #2#1#3}{ и~#2#1#3} % перечисление ссылок с приставкой - \labelcrefmultiformat{section}{#2#1#3}{ и~#2#1#3}{, #2#1#3}{ и~#2#1#3} % перечисление без приставки - - % Приложение - \crefformat{appendix}{#2#1#3} % одиночная ссылка с приставкой - \labelcrefformat{appendix}{#2#1#3} % одиночная ссылка без приставки - \crefrangeformat{appendix}{#3#1#4 \cyrdash~#5#2#6} % диапазон ссылок с приставкой - \labelcrefrangeformat{appendix}{#3#1#4 \cyrdash~#5#2#6} % диапазон ссылок без приставки - \crefmultiformat{appendix}{#2#1#3}{ и~#2#1#3}{, #2#1#3}{ и~#2#1#3} % перечисление ссылок с приставкой - \labelcrefmultiformat{appendix}{#2#1#3}{ и~#2#1#3}{, #2#1#3}{ и~#2#1#3} % перечисление без приставки - - % Рисунок - \crefformat{figure}{#2#1#3} % одиночная ссылка с приставкой - \labelcrefformat{figure}{#2#1#3} % одиночная ссылка без приставки - \crefrangeformat{figure}{#3#1#4 \cyrdash~#5#2#6} % диапазон ссылок с приставкой - \labelcrefrangeformat{figure}{#3#1#4 \cyrdash~#5#2#6} % диапазон ссылок без приставки - \crefmultiformat{figure}{#2#1#3}{ и~#2#1#3}{, #2#1#3}{ и~#2#1#3} % перечисление ссылок с приставкой - \labelcrefmultiformat{figure}{#2#1#3}{ и~#2#1#3}{, #2#1#3}{ и~#2#1#3} % перечисление без приставки - - % Таблица - \crefformat{table}{#2#1#3} % одиночная ссылка с приставкой - \labelcrefformat{table}{#2#1#3} % одиночная ссылка без приставки - \crefrangeformat{table}{#3#1#4 \cyrdash~#5#2#6} % диапазон ссылок с приставкой - \labelcrefrangeformat{table}{#3#1#4 \cyrdash~#5#2#6} % диапазон ссылок без приставки - \crefmultiformat{table}{#2#1#3}{ и~#2#1#3}{, #2#1#3}{ и~#2#1#3} % перечисление ссылок с приставкой - \labelcrefmultiformat{table}{#2#1#3}{ и~#2#1#3}{, #2#1#3}{ и~#2#1#3} % перечисление без приставки - - % Листинг - \crefformat{lstlisting}{#2#1#3} % одиночная ссылка с приставкой - \labelcrefformat{lstlisting}{#2#1#3} % одиночная ссылка без приставки - \crefrangeformat{lstlisting}{#3#1#4 \cyrdash~#5#2#6} % диапазон ссылок с приставкой - \labelcrefrangeformat{lstlisting}{#3#1#4 \cyrdash~#5#2#6} % диапазон ссылок без приставки - \crefmultiformat{lstlisting}{#2#1#3}{ и~#2#1#3}{, #2#1#3}{ и~#2#1#3} % перечисление ссылок с приставкой - \labelcrefmultiformat{lstlisting}{#2#1#3}{ и~#2#1#3}{, #2#1#3}{ и~#2#1#3} % перечисление без приставки - - % Листинг - \crefformat{ListingEnv}{#2#1#3} % одиночная ссылка с приставкой - \labelcrefformat{ListingEnv}{#2#1#3} % одиночная ссылка без приставки - \crefrangeformat{ListingEnv}{#3#1#4 \cyrdash~#5#2#6} % диапазон ссылок с приставкой - \labelcrefrangeformat{ListingEnv}{#3#1#4 \cyrdash~#5#2#6} % диапазон ссылок без приставки - \crefmultiformat{ListingEnv}{#2#1#3}{ и~#2#1#3}{, #2#1#3}{ и~#2#1#3} % перечисление ссылок с приставкой - \labelcrefmultiformat{ListingEnv}{#2#1#3}{ и~#2#1#3}{, #2#1#3}{ и~#2#1#3} % перечисление без приставки + \newcommand*{\SCSetCrefFormatBase}[2]{\csname #1format\endcsname{#2}} % имя настройки, тип ссылки + \newcommand*{\SCSetCrefLabelcrefFormats}[3]{% подимя настройки, тип ссылки, формат + \SCSetCrefFormatBase{cref#1}{#2}{#3}% + \SCSetCrefFormatBase{labelcref#1}{#2}{#3}% + } + \newcommand*{\SCSetCrefLabelcrefMultiFormats}[6]{% подимя настройки, тип ссылки, формат x4 + \SCSetCrefFormatBase{cref#1}{#2}{#3}{#4}{#5}{#6}% ссылка с приставкой + \SCSetCrefFormatBase{labelcref#1}{#2}{#3}{#4}{#5}{#6}% ссылка без приставки + } + \newcommand*{\SCSetCrefLabelcrefFormatsForType}[3]{% тип ссылки, символ слева от ссылки, символ справа от ссылки + \SCSetCrefLabelcrefFormats{}{#1}{#2##2##1##3#3}% одиночная ссылка + \SCSetCrefLabelcrefFormats{range}{#1}{#2##3##1##4#3 \cyrdash~#2##5##2##6#3}% диапазон ссылок + \SCSetCrefLabelcrefMultiFormats{multi}{#1}{#2##2##1##3#3}{ и~#2##2##1##3#3}{, #2##2##1##3#3}{ и~#2##2##1##3#3}% перечисление ссылок + } + \newcommand*{\SCSetCrefLabelcrefFormatsForTypeSimple}[1]{\SCSetCrefLabelcrefFormatsForType{#1}{}{}} + \newcommand*{\SCSetCrefLabelcrefFormatsForTypeParen}[1]{\SCSetCrefLabelcrefFormatsForType{#1}{(}{)}} + + \SCSetCrefLabelcrefFormatsForTypeParen{equation} + \SCSetCrefLabelcrefFormatsForTypeParen{subequation} + \SCSetCrefLabelcrefFormatsForTypeSimple{chapter} + \SCSetCrefLabelcrefFormatsForTypeSimple{section} + \SCSetCrefLabelcrefFormatsForTypeSimple{appendix} + \SCSetCrefLabelcrefFormatsForTypeSimple{figure} + \SCSetCrefLabelcrefFormatsForTypeSimple{table} + \SCSetCrefLabelcrefFormatsForTypeSimple{lstlisting} + \SCSetCrefLabelcrefFormatsForTypeSimple{ListingEnv} \fi %%% Настройки гиперссылок %%% From 02758fbeb67faa912e2d9000a0919487648efa83 Mon Sep 17 00:00:00 2001 From: Daniil Larionov Date: Sat, 25 Nov 2023 14:42:11 +0300 Subject: [PATCH 2/6] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BE=D0=BF=D1=80=D0=B5?= =?UTF-8?q?=D0=B4=D0=B5=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20Cref?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit При низкоуровневом переопределении cref, автоматические определения для Cref будут неявно сгенерированы при помощи MakeUppercase только тогда, когда заданное тело cref начинается с буквы (см. texdoc cleveref). Т.к. в нашем случае оно начинается с кода ссылки, этот код уродуется MakeUppercase’ом, в результате чего использование \Cref приводит к падению с ошибкой. Соответственно, \Cref необходимо переопределять вручную. --- Dissertation/part2.tex | 1 + common/styles.tex | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Dissertation/part2.tex b/Dissertation/part2.tex index 0568712e2..72bf42913 100644 --- a/Dissertation/part2.tex +++ b/Dissertation/part2.tex @@ -52,6 +52,7 @@ \section{Длинное название параграфа, в котором \end{figure} На рисунке~\cref{fig:knuth_2-1} показан Дональд Кнут без головного убора. +%\Cref{fig:knuth_2-1} показывает Дональда Кнута без головного убора. На рисунке~\cref{fig:knuth_2}\subcaptionref*{fig:knuth_2-2} показан Дональд Кнут в головном уборе. diff --git a/common/styles.tex b/common/styles.tex index 7e61cb68e..c607db559 100644 --- a/common/styles.tex +++ b/common/styles.tex @@ -71,11 +71,13 @@ \newcommand*{\SCSetCrefFormatBase}[2]{\csname #1format\endcsname{#2}} % имя настройки, тип ссылки \newcommand*{\SCSetCrefLabelcrefFormats}[3]{% подимя настройки, тип ссылки, формат - \SCSetCrefFormatBase{cref#1}{#2}{#3}% - \SCSetCrefFormatBase{labelcref#1}{#2}{#3}% + \SCSetCrefFormatBase{cref#1}{#2}{#3}% ссылка с приставкой + \SCSetCrefFormatBase{Cref#1}{#2}{#3}% ссылка с приставкой, стоящая в начале предложения + \SCSetCrefFormatBase{labelcref#1}{#2}{#3}% ссылка без приставки } \newcommand*{\SCSetCrefLabelcrefMultiFormats}[6]{% подимя настройки, тип ссылки, формат x4 \SCSetCrefFormatBase{cref#1}{#2}{#3}{#4}{#5}{#6}% ссылка с приставкой + \SCSetCrefFormatBase{Cref#1}{#2}{#3}{#4}{#5}{#6}% ссылка с приставкой, стоящая в начале предложения \SCSetCrefFormatBase{labelcref#1}{#2}{#3}{#4}{#5}{#6}% ссылка без приставки } \newcommand*{\SCSetCrefLabelcrefFormatsForType}[3]{% тип ссылки, символ слева от ссылки, символ справа от ссылки From 7d249be3d45e4849cb17fc3ace2a2ccc6b00f817 Mon Sep 17 00:00:00 2001 From: Daniil Larionov Date: Sat, 25 Nov 2023 16:47:18 +0300 Subject: [PATCH 3/6] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BE=D0=BF=D1=80=D0=B5?= =?UTF-8?q?=D0=B4=D0=B5=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20(label)crefrangemultiformat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit По непонятной причине четвёртый тип низкоуровневых настроек — применяемый при отрисовке диапазонов внутри списков, — отсутствовал в common/styles. В результате при передаче \cref ссылок A, B, C и E (в предположении что в тексте эти элементы идут в порядке «A, B, C, D, E») активировался код отрисовки по умолчанию (и соответственно добавлялась приставка). --- Dissertation/part1.tex | 2 ++ common/styles.tex | 1 + 2 files changed, 3 insertions(+) diff --git a/Dissertation/part1.tex b/Dissertation/part1.tex index 096e6d9d7..67cea7f6b 100644 --- a/Dissertation/part1.tex +++ b/Dissertation/part1.tex @@ -282,6 +282,8 @@ \subsection{Нумерованные формулы}\label{subsec:ch1/sec3/sub3} \end{align} \end{subequations} +Список ссылок сортируется, после чего (по возможности) схлопывается до диапазонов: \cref{eq:equation2,eq:2p3,eq:subeq_2,eq:equation1,eq:subeq_1}. + \subsection{Форматирование чисел и размерностей величин}\label{sec:units} Числа форматируются при помощи команды \verb|\num|: diff --git a/common/styles.tex b/common/styles.tex index c607db559..1e7a0050b 100644 --- a/common/styles.tex +++ b/common/styles.tex @@ -84,6 +84,7 @@ \SCSetCrefLabelcrefFormats{}{#1}{#2##2##1##3#3}% одиночная ссылка \SCSetCrefLabelcrefFormats{range}{#1}{#2##3##1##4#3 \cyrdash~#2##5##2##6#3}% диапазон ссылок \SCSetCrefLabelcrefMultiFormats{multi}{#1}{#2##2##1##3#3}{ и~#2##2##1##3#3}{, #2##2##1##3#3}{ и~#2##2##1##3#3}% перечисление ссылок + \SCSetCrefLabelcrefMultiFormats{rangemulti}{#1}{#2##3##1##4#3 \cyrdash~#2##5##2##6#3}{#2##3##1##4#3 \cyrdash~#2##5##2##6#3}{#2##3##1##4#3 \cyrdash~#2##5##2##6#3}{#2##3##1##4#3 \cyrdash~#2##5##2##6#3}% диапазон ссылок внутри перечисления ссылок } \newcommand*{\SCSetCrefLabelcrefFormatsForTypeSimple}[1]{\SCSetCrefLabelcrefFormatsForType{#1}{}{}} \newcommand*{\SCSetCrefLabelcrefFormatsForTypeParen}[1]{\SCSetCrefLabelcrefFormatsForType{#1}{(}{)}} From e50f1315dca0972e04d17838876e42d9ea291db8 Mon Sep 17 00:00:00 2001 From: Daniil Larionov Date: Sat, 25 Nov 2023 16:49:02 +0300 Subject: [PATCH 4/6] =?UTF-8?q?=D0=92=20.gitignore=20=D0=B4=D0=BE=D0=B1?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B=20=D1=84=D0=B0=D0=B9=D0=BB?= =?UTF-8?q?=D1=8B=20*.600pk=20(=D0=BE=D1=82=20xdvi)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 27fc07608..be8293e5b 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,9 @@ /*.eps /*.pdf +## Files generated by xdvi +*.600pk + ## Bibliography auxiliary files (bibtex/biblatex/biber): *.bbl *.bcf From 3879c411f61f0cfdb88fdca23f60660d6e4845b6 Mon Sep 17 00:00:00 2001 From: Daniil Larionov Date: Sat, 25 Nov 2023 17:01:18 +0300 Subject: [PATCH 5/6] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BD=D1=8B=20?= =?UTF-8?q?=D0=BB=D0=B8=D1=88=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=B8=D1=80=D0=B5?= =?UTF-8?q?=D0=BA=D1=82=D0=B8=D0=B2=D1=8B=20subcaption?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/packages.tex | 2 +- common/styles.tex | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/common/packages.tex b/common/packages.tex index 5b2f0f86b..6cb4257f2 100644 --- a/common/packages.tex +++ b/common/packages.tex @@ -165,7 +165,7 @@ %%% Изображения %%% \usepackage{graphicx}[2014/04/25] % Подключаем пакет работы с графикой -\usepackage{caption} % Подписи рисунков и таблиц +%\usepackage{caption} % Подписи рисунков и таблиц; starting with version 1.4 the subcaption package [...] loads [the caption package] automatically © texdoc subcaption. \usepackage{subcaption} % Подписи подрисунков и подтаблиц \usepackage{pdfpages} % Добавление внешних pdf файлов diff --git a/common/styles.tex b/common/styles.tex index 1e7a0050b..04f9019fe 100644 --- a/common/styles.tex +++ b/common/styles.tex @@ -39,7 +39,10 @@ } %%% Подписи подрисунков %%% -\DeclareCaptionSubType{figure} + +% "For the environments figure & table [...] this [вызов \DeclareCaptionSubType] will be done automatically" © texdoc subcaption +%\DeclareCaptionSubType{figure} + \renewcommand\thesubfigure{\asbuk{subfigure}} % нумерация подрисунков \ifsynopsis \DeclareCaptionFont{norm}{\fontsize{10pt}{11pt}\selectfont} From 19a57b79e3a8d890e7acc866d02d9e738775cffe Mon Sep 17 00:00:00 2001 From: Daniil Larionov Date: Sat, 25 Nov 2023 17:02:10 +0300 Subject: [PATCH 6/6] =?UTF-8?q?"indent=3D"=20-=20=D1=83=D1=81=D1=82=D0=B0?= =?UTF-8?q?=D1=80=D0=B5=D0=B2=D1=88=D0=B8=D0=B9=20=D1=81=D0=B8=D0=BD=D1=82?= =?UTF-8?q?=D0=B0=D0=BA=D1=81=D0=B8=D1=81=20caption=20(=D0=B2=D1=80=D0=B5?= =?UTF-8?q?=D0=BC=D1=91=D0=BD=20v2.x)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/styles.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/styles.tex b/common/styles.tex index 04f9019fe..d8c0b0c24 100644 --- a/common/styles.tex +++ b/common/styles.tex @@ -19,7 +19,7 @@ parskip=.0pt, % отбивка между параграфами подписи position=above, % положение подписи justification=\tabjust, % центровка - indent=\tabindent, % смещение строк после первой + indention=\tabindent, % смещение строк после первой labelsep=tabsep, % разделитель singlelinecheck=\tabsinglecenter, % не выравнивать по центру, если умещается в одну строку }