今天使用amsart
类时我注意到如果我们以 . 结尾文件,则会出现奇怪的输出\paragraph{}
。
在这种情况下,最后一段成为地址的一部分,因为它插入在地址前面并且与其他字体一起。
我知道我们可以解决这个问题,只需在后面插入空格(这样该行就不为空)。我也知道有人可能会问为什么要以这样的一段话来结束呢?但我只是想通过这个奇怪的输出来学习。
我认为清晰段落在这种情况下会很好,所以地址将开始一个新块。
平均能量损失
\documentclass{amsart}
\title{Title}
\author{Author}
\address{Address}
\begin{document}
\maketitle
Foo
\paragraph{Paragraph here}
\paragraph{Another paragraph here}
\end{document}
答案1
解决方法如下:
\documentclass{amsart}
\usepackage{etoolbox}
\makeatletter
\preto\@setaddresses{\if@noskipsec\mbox{}\fi}
\makeatother
\title{Title}
\author{Author}
\address{Address}
\begin{document}
\maketitle
Foo
\paragraph{Paragraph here}
\paragraph{Another paragraph here}
\end{document}
但是,\paragraph{...}
如果没有任何后续文本,则输入无论如何都是错误的。
\if@noskipsec
当 LaTeX 已吸收了章节标题并等待其后的第一个段落时,条件为真。修复后,如果在打印地址时条件仍然为真,我们将发出\mbox{}
,它提供所需的文本(触发打印章节标题,如果它是内联的),因此\par
发出的\@setaddresses
有效。