使用包 chemformula 的彩色系数

使用包 chemformula 的彩色系数

对于 beamer 演示,我想应用不错的 chemformula 包。我现在希望只对系数单独着色,例如将第一个系数标记为蓝色:

\ch{\color{blue}106 CO2 + 122 H2O + 16 HNO3 + H3PO4 -> (CH2O)106 + (NH3)16(H3PO4) + 138 O2}

一旦我加入 \color 命令(如 chemformula 手册中所述),系数就会变成下标。我也尝试过

\ch{ \textcolor{blue}{106} CO2 + 122 H2O + ...,

会产生相同的结果。当我省略对系数着色的任何尝试时,方程式看起来不错。我在这里遗漏了什么?我认为这个问题有一个非常简单的解决方案。非常感谢任何建议,谢谢。Markus

答案1

化学计量因子可能只包含数字和符号. ,_ /()

另外,您也可以阻止chemformula解析输入,例如使用 \ch{"⟨escaped text⟩"}

化合物更直接。(第三个公式)

b

\documentclass[11pt]{beamer}

\usepackage{lmodern}
\usetheme{default}

\usepackage{chemformula}
\begin{document}
    \begin{frame}
        \frametitle{}
        \ch{106 CO2 + 122 H2O + 16 HNO3 + H3PO4 -> (CH2O)106 + (NH3)16(H3PO4) + 138 O2}\bigskip     
        
        \ch{"\color{blue}" 106}\ch{CO2 + 122 H2O + 16 HNO3 + H3PO4 -> (CH2O)106 + (NH3)16(H3PO4) + 138 O2}\bigskip
        
        \ch{106 \color{red}CO2 + 122 H2O + 16 HNO3 + H3PO4 -> (CH2O)106 + (NH3)16(H3PO4) + 138 O2}
        
    \end{frame}
\end{document}

答案2

使用最新的,chemformula您可以设置选项。您可以使用的语法stoich-format在本地进行设置:chemformula@{...}

\documentclass{beamer}
\usepackage{chemformula}

\begin{document}

\begin{frame}
  \ch{
    @{stoich-format=\color{blue}} 106 CO2 + 122 H2O + 16 HNO3 + H3PO4
    ->
    (CH2O)106 + (NH3)16(H3PO4) + @{stoich-format=\color{blue}} 138 O2
  }
\end{frame}

\end{document}

在此处输入图片描述

相关内容