在编写无机命名法讲座的过程中,我想将居中的多行文本放在chemformula的name函数中。
据我尝试,使用 创建新行\\
不起作用。使用\newline
给出多行输出,但向左移动。转义多行文本并没有更好的效果。
以下是 MWE:
\documentclass{standalone}
\usepackage{chemformula}
\begin{document}
\ch{!(hydrogen~chloride\newline{}chlorhydric~acid)( HCl )} % gives left-shifted output
\ch{!(hydrogen~chloride\\chlorhydric~acid)( HCl )} % does not typeset
\end{document}
谢谢
答案1
chemformula
允许您以任何您想要的方式设置“名称”。这也允许您将其放在表格中。(唯一的缺点是您不能\\
在这里使用换行符,因为在其输入中\ch
会绕过\\
以允许在类似¹的环境中跨多行使用align
。)
\documentclass{article}
\usepackage{chemformula}
\newcommand\myformat[1]{%
\scriptsize\centering
\def\newline{\tabularnewline}%
\begin{tabular}{c}
#1
\end{tabular}%
}
\setchemformula{name-format=\myformat}
\begin{document}
\ch{!( hydrogen~chloride \newline chlorhydric~acid )( HCl )}
\end{document}
- 这反过来允许
chemmacros
包定义reactions
环境。