mhchem - 方程式的粗体部分用 \ce{} 排版

mhchem - 方程式的粗体部分用 \ce{} 排版

我正在尝试使用该包排版化学方程式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}$不会被识别为数字)。

答案2

尝试

  • \ce在数学模式中使用(这剂量当您使用看起来与数学字体不同的文本字体或标题时更改输出,如@mhchem 所评论的那样)和
  • 使用\mathbf而不是\textbf

看看这个例子:

\documentclass{article}
\usepackage[version=4]{mhchem}

\begin{document}
$\ce{NH3(g) + HCl(g) -> \mathbf{NH_4Cl}(s)}$
\ce{NH3(g) + HCl(g) -> NH_4Cl(s)}
\end{document}

在此处输入图片描述

答案3

它可以完美地与 配合使用chemformula,不同之处在于不确定的系数应该在数学中排版。

\documentclass{article}

\usepackage{chemformula}

\begin{document}

\ch{$a$ A + $b$ B -> $c$ C + $d$ D}

\ch{$a$ A + $b$ B -> $c$ \textbf{C} + $d$ D}

\ch{NH3(g) + HCl(g) -> \textbf{NH4Cl}(s)}

\end{document}

在此处输入图片描述

相关内容