Продолжаяhttp://topanswers.xyz/tex?q=3768, для всех сред, подобных теоремам, в нашем документе мы хотим иметь немного больше горизонтального пространства (чем пространство по умолчанию), отделяющего заголовок среды (независимо от того, полностью ли она автоматически сгенерирована или также содержит часть, заданную пользователем) от ее содержимого. Для этого мы попытались переопределить \@thmcounterend
(благодаря@ДэвидКарлайли@Skillmon):
\documentclass[twocolumn]{svmono}% v5.10 (2021/09/08) from http://www.springer.com/gp/authors-editors/book-authors-editors/your-publication-journey/manuscript-preparation#toc-49268 or directly from http://resource-cms.springernature.com/springer-cms/rest/v1/content/20566/data/monographs
\overfullrule=1mm
\pagestyle{empty}
\newcommand{\test}[1]{
\noindent Remark with a short name:
\begin{remark}[Short name]
Body of a remark with a short name.
\end{remark}
Remark without a special name:
\begin{remark}
Body of an unnamed remark.
\end{remark}
Remark with a line-filling, long name and a label:
\begin{remark}[Some long remark name.]\label{#1}
Body of a remark with a long name.
\end{remark}
}%
\begin{document}%
\section*{Originally}
\test{RemarkLabelOne}
\newpage
\section*{Redefining \texttt{\textbackslash @thmcounterend}}
\makeatletter\def\@thmcounterend{\@ifnextchar\ {\hspace{2\fontdimen2\font plus2\fontdimen3\font minus2\fontdimen4\font}\@gobble}{ }}\makeatother
\test{RemarkLabelTwo}
\end{document}
Запуск pdflatex
этого приводит к
Как мы видим, исходная версия просто уродлива: заголовок и содержимое разделены слишком маленьким пробелом (ср. Примечание 2). Если мы переопределим его \@thmcounterend
как пробел ( \def\@thmcounterend{ }
или \def\@thmcounterend{\ }
или \def\@thmcounterend{\space}
), может появиться нежелательная пустая строка после заголовка длинной в строку ремарки. Если мы переопределим \@thmcounterend
его так, чтобы он был двойной длины ( \def\@thmcounterend{\def\ {\hspace{2\fontdimen2\font plus2\fontdimen3\font minus2\fontdimen4\font}}}
), но пользователь не предоставит имя, то горизонтальный пробел после пронумерованного безымянного замечания останется таким же маленьким, как и изначально. Если мы переопределим его так, \@thmcounterend
чтобы выбрать между двумя вариантами выше ( \def\@thmcounterend{\@ifnextchar\ {\hspace{2\fontdimen2\font plus2\fontdimen3\font minus2\fontdimen4\font}\@gobble}{ }}
), мы получим небольшой, но нежелательный вертикальный пробел после заголовка длинной в строку именованной ремарки, как в Примечании 6.
Как глобально изменить определения задействованных макросов и сред (сохранив содержимое документа LaTeX), чтобы между концом заголовка примечания и началом тела примечания было вставлено больше горизонтального пространства, когда они находятся на одной строке (и не вводить дополнительного пространства, если они находятся на разных строках)?
Я не могу отделаться от мысли, что переопределение какого-то другого макроса \@thmcounterend
могло бы работать лучше, но у меня недостаточно знаний, чтобы найти такой макрос и изменить его самостоятельно.
Кросспосты:http://latex.org/forum/viewtopic.php?f=4&t=35426&p=118775,https://texwelt.de/fragen/29112,http://golatex.de/viewtopic.php?f=4&t=25009, иhttp://topanswers.xyz/tex?q=3801.