-
Notifications
You must be signed in to change notification settings - Fork 684
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Настройки cleveref #496
base: master
Are you sure you want to change the base?
Настройки cleveref #496
Changes from all commits
7e9c193
02758fb
7d249be
e50f131
3879c41
19a57b7
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -52,6 +52,7 @@ \section{Длинное название параграфа, в котором | |
\end{figure} | ||
|
||
На рисунке~\cref{fig:knuth_2-1} показан Дональд Кнут без головного убора. | ||
%\Cref{fig:knuth_2-1} показывает Дональда Кнута без головного убора. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Тут как будто это просто работает по принципу "не падает". Может быть, сделаете какой-то пример, где будет использоваться как раз возможность из |
||
На рисунке~\cref{fig:knuth_2}\subcaptionref*{fig:knuth_2-2} | ||
показан Дональд Кнут в головном уборе. | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Руководствуясь максимой «explicit is better than implicit», я бы оставил эту строку There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Спасибо, что подсветили.
Не то что бы я был за поддержку старья, но если это возможно, то почему бы и нет. EDIT: |
||
\usepackage{subcaption} % Подписи подрисунков и подтаблиц | ||
\usepackage{pdfpages} % Добавление внешних pdf файлов | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -19,7 +19,7 @@ | |
parskip=.0pt, % отбивка между параграфами подписи | ||
position=above, % положение подписи | ||
justification=\tabjust, % центровка | ||
indent=\tabindent, % смещение строк после первой | ||
indention=\tabindent, % смещение строк после первой | ||
labelsep=tabsep, % разделитель | ||
singlelinecheck=\tabsinglecenter, % не выравнивать по центру, если умещается в одну строку | ||
} | ||
|
@@ -39,7 +39,10 @@ | |
} | ||
|
||
%%% Подписи подрисунков %%% | ||
\DeclareCaptionSubType{figure} | ||
|
||
% "For the environments figure & table [...] this [вызов \DeclareCaptionSubType] will be done automatically" © texdoc subcaption | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Это с какой версии? |
||
%\DeclareCaptionSubType{figure} | ||
|
||
\renewcommand\thesubfigure{\asbuk{subfigure}} % нумерация подрисунков | ||
\ifsynopsis | ||
\DeclareCaptionFont{norm}{\fontsize{10pt}{11pt}\selectfont} | ||
|
@@ -69,77 +72,35 @@ | |
\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} % перечисление без приставки | ||
\newcommand*{\SCSetCrefFormatBase}[2]{\csname #1format\endcsname{#2}} % имя настройки, тип ссылки | ||
\newcommand*{\SCSetCrefLabelcrefFormats}[3]{% подимя настройки, тип ссылки, формат | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
\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]{% тип ссылки, символ слева от ссылки, символ справа от ссылки | ||
\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}{(}{)}} | ||
|
||
% Листинг | ||
\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} % перечисление без приставки | ||
\SCSetCrefLabelcrefFormatsForTypeParen{equation} | ||
\SCSetCrefLabelcrefFormatsForTypeParen{subequation} | ||
\SCSetCrefLabelcrefFormatsForTypeSimple{chapter} | ||
\SCSetCrefLabelcrefFormatsForTypeSimple{section} | ||
\SCSetCrefLabelcrefFormatsForTypeSimple{appendix} | ||
\SCSetCrefLabelcrefFormatsForTypeSimple{figure} | ||
\SCSetCrefLabelcrefFormatsForTypeSimple{table} | ||
\SCSetCrefLabelcrefFormatsForTypeSimple{lstlisting} | ||
\SCSetCrefLabelcrefFormatsForTypeSimple{ListingEnv} | ||
Comment on lines
+75
to
+103
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. На мой взгляд, это изменение следует убрать. Оригинальный код хоть и повторяющийся, позволяет легко найти и изменить настройку для определённого элемента. Для внесения изменений в принцыпе даже можно не открывать мануал -- синтаксис команд довольно прозрачный. Новый код же прячет определения подписей внутрь команды. Что надо сделать,чтобы изменить, скажем, подпись только для таблицы, из нового кода решительно не ясно. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Согласен, читаемость прям сильно пострадала (не могу сказать, что раньше была хорошей, но как будто лучше чем в новом варианте). Всякие ООП приколы с наследованиями... уух 🤯 |
||
\fi | ||
|
||
%%% Настройки гиперссылок %%% | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Хороший пример, интересный. Пригодится в любом случае. Но вот почему, если его вставить в старый код, то соберется тире без отбития пробелов (может так более правильно, хорошо бы ГОСТ по этому поводу найти), а с новым - с отбитием пробелами (ф-л. это видать заготовка под ф
ормул, как будто лишняя, действительно)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rangemulti что ли там по-другому пробелы отрабатывает, или отсутствие
ф-л.
всё растянуло 🤔