我正在尝试使用该包排版化学方程式mhchem
,并且我想只将方程式的一部分加粗(在本例中是为了强调乘积)。
如果我输入\ce{a A + b B -> c \textbf{C} + d D}
,则会产生A一个 +b乙 →C C+dD. 当然,这完全没问题。但我无法在命令中输入任何更复杂的化学式\textbf{}
。例如,如果我输入,\ce{NH3(g) + HCl(g) -> \textbf{NH4Cl}(s)}
则氯化铵的排版为 NH4Cl(s),没有下标。
我尝试手动编写下标(NH_4Cl
),但$\ce{NH3(g) + HCl(g) -> \textbf{NH_4Cl}(s)}$
没有成功,反而出现了一堆错误(,,,missing $
和)。extra } or forgotten $
missing {
missing }
我刚来这里不久,所以我不太清楚 MWE 是如何工作的——我没有太多实际工作经验,但据我所知,我用来尝试的代码似乎非常接近 MWE。如果我需要提供其他信息,请告诉我。
\documentclass{article}
\usepackage[version=4]{mhchem}
\begin{document}
\ce{a A + b B -> c C + d D}
\ce{a A + b B -> c \textbf{C} + d D}
\ce{NH3(g) + HCl(g) -> \textbf{NH4Cl}(s)}
\end{document}
答案1
是\textbf
内部的硬中断\ce
。mhchem\textbf
包不会处理 参数内部的内容。
这是要走的路。
\ce{NH3(g) + HCl(g) -> $\textbf{\ce{NH4Cl}}$(s)}
使用$
表示您想要逃避 mhchem 解析(mhchem 正确地猜测\textbf
和 下一个{}
属于一起,但使用$
更清楚)。然后使用\textbf
,然后\ce
在里面使用。
部分$
(或\textbf
就此而言)可能会中断 mhchem 流程。后续(s)
工作在这里可以正常工作,但您可能并不总是如此幸运(例如,a$\textbf{4}$
不会被识别为数字)。