继续http://topanswers.xyz/tex?q=3768对于我们文档中的所有定理类环境,我们希望在环境的头部(无论是完全自动生成的还是也包含用户指定的部分)与其内容之间留出更多的水平空间(比默认空间多一点)。为此,我们尝试重新定义\@thmcounterend
(感谢@DavidCarlisle和@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。