在 mhchem 命令中使用 \cancel 会使文本变为斜体(如何防止?)

在 mhchem 命令中使用 \cancel 会使文本变为斜体(如何防止?)

打印以下代码时,取消的文本将以斜体显​​示。如何防止这种情况发生?这是一个最小工作示例:

\documentclass[11pt, oneside]{article}       
\usepackage[version=3]{mhchem} % insert chem equations
\usepackage{cancel} %strike out text

\begin{document}
\begin{align*}
\cee{
\cancel{Mg_{(s)}} + 1/2O_{(g)} + &-> MgO_{(s)} \\
MgO_{(s)} + 2HCl_{(aq)} &-> MgCl2_{(aq)} + H2O_{(l)} \\
}
\end{align*}
\end{document}  

任何帮助都将受到赞赏。

答案1

您可以定义一个新命令,使用\ce内部\cancel来防止将参数转换为数学模式:

\documentclass[11pt, oneside]{article}       
\usepackage[version=3]{mhchem} % insert chem equations
\usepackage{cancel} %strike out text

\newcommand\Cancel[1]{\cancel{\ce{#1}}}

\begin{document}
\begin{align*}
\cee{
\Cancel{Mg_{(s)}} + 1/2O_{(g)} + &-> MgO_{(s)} \\
MgO_{(s)} + 2HCl_{(aq)} &-> MgCl2_{(aq)} + H2O_{(l)} \\
}
\end{align*}
\end{document}  

在此处输入图片描述

相关内容