关于将整个标题居中,已经有多个问题得到了解答,但我的问题是,我希望在多行标题中仅居中一行\centerline
。\begin{center} ... \end{center}
例如(我正在使用\ce
化学包)如果我要写以下内容:
\caption{In the presence of A and B, C will be generated:
\centerline{ \ce{A + B -> C}.}
}
只会对我造成错误。
答案1
这应该可以完成这项工作:
\caption[Short caption needed.]{In the presence of A and B, C will be generated:
\[ \text{\ce{A + B -> C}.} \]
}
使方程居中最为方便的方法是使用 more equation
,即\[..\]
。但是,您不能将其放入浮点数列表中,因为这会导致错误,好吧,您肯定不希望方程显示在浮点数列表中,对吧?因此,简短的标题就是解决方案。
答案2
您应该将图形文件列表的版本作为可选参数。由于我不知道哪个包\ce
来自,我只能提出一种可能性:
\caption[In the presence of A and B, C will be generated: \protect\ce{A + B -> C}.]%
{In the presence of A and B, C will be generated:
\centerline{ \ce{A + B -> C}.}}
问题源于\addcontentsline
,它用于将标题写入图片列表文件。此命令不允许新段落(空行)。如果提供了可选参数,则\addcontentsline
使用该参数。
注意:\caption
firsts 在 中排版其参数\mbox
。在该设置中,空行将被忽略(在和$$
中遇到的显示数学也是如此)。只有当这导致行太长时,它才会切换到在 中排版。由于会生成与行一样宽的框,因此会强制使用第二种方法。但事实并非如此。\[
\]
\parbox
\centerline
\[...\]