在多行标题中仅将一行居中

在多行标题中仅将一行居中

关于将整个标题居中,已经有多个问题得到了解答,但我的问题是,我希望在多行标题中仅居中一行\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使用该参数。

注意:\captionfirsts 在 中排版其参数\mbox。在该设置中,空行将被忽略(在和$$中遇到的显示数学也是如此)。只有当这导致行太长时,它才会切换到在 中排版。由于会生成与行一样宽的框,因此会强制使用第二种方法。但事实并非如此。\[\]\parbox\centerline\[...\]

相关内容