mhchem 为什么会抱怨这一点?

mhchem 为什么会抱怨这一点?

好的,我正在尝试发出插入质子的命令。此代码运行正常:

\documentclass[12pt,letterpaper]{article}
\usepackage{amssymb,mathtools}
\usepackage[version=3]{mhchem}

\newcommand{\tphoton}{$\gamma$}

\begin{document}
\tphoton
\end{document}

并且此代码运行良好:

\documentclass[12pt,letterpaper]{article}
\usepackage{amssymb,mathtools}
\usepackage[version=3]{mhchem}

\begin{document}
\ce{$\gamma$}
\end{document}

这段代码为什么不起作用?

\documentclass[12pt,letterpaper]{article}
\usepackage{amssymb,mathtools}
\usepackage[version=3]{mhchem}

\newcommand{\tphoton}{$\gamma$}

\begin{document}
\ce{\tphoton}
\end{document}

它给出一个“!插入了缺失的$。”,3“!额外的},或者忘记了$。”

答案1

mhchem 的参数\cealready 是“隐藏的数学模式”。\ce{\bfseries B}将给出

! LaTeX 错误:命令 \bfseries 在数学模式下无效。

请尝试\ensuremath

\documentclass[12pt,letterpaper]{article}
\usepackage{amssymb,mathtools}
\usepackage[version=3]{mhchem}

\newcommand{\tphoton}{\ensuremath{\gamma}}

\begin{document}
\ce{\tphoton}
\end{document}

相关内容