在 beamer 中使用 mhchem 进行三键

在 beamer 中使用 mhchem 进行三键

我需要在演示文稿中写出化学机理。使用mhchem是一种快速简便的解决方案,可以编写出可呈现的化学方程式,但是三键命令(#\bond{#})会产生错误消息,即使它会产生所需的输出。

虽然我可以使用chemfig包来做我想做的一切。

是否仍然可以使用mhchem且不出现任何错误消息?

我的 MWE :

\documentclass{beamer}
\usepackage[version=3]{mhchem}
\usetheme{default}

\begin{document}

\begin{frame}{Triple Bond}
    \begin{itemize}
        \item \ce{H-C#C-H + HX -> H2C=CH+ + X-}
    \end{itemize}
\end{frame}
\end{document}

TexStudio 上显示错误消息(使用 TeX-Live-2017)

Illegal parameter number in definition of \iterate. \end{frame}
Illegal parameter number in definition of \iterate. \end{frame}
Illegal parameter number in definition of \beamer@doifinframe. \end{frame}

输出 :: 在此处输入图片描述

答案1

添加选项脆弱的框架。

\documentclass{beamer}
\usepackage[version=3]{mhchem}
\usetheme{default}

\begin{document}

\begin{frame}[fragile]{Triple Bond}
    \begin{itemize}
        \item \ce{H-C#C-H + HX -> H2C=CH+ + X-}
    \end{itemize}
\end{frame}
\end{document}

答案2

beamer 似乎被卡住了#。您可以使用\bond{3}反而。

\documentclass{beamer}
\usepackage[version=4]{mhchem}
\usetheme{default}

\begin{document}

\begin{frame}{Triple Bond}
    \begin{itemize}
        \item \ce{H-C\bond{3}C-H + HX -> H2C=CH+ + X-}
    \end{itemize}
\end{frame}
\end{document}

答案3

您的问题是文档类“beamer”,如果您将其更改为“article”,则不会发生错误。类“beamer”不能支持“mhchem”。但“chemfig”是受支持的。

\documentclass{beamer}
\usepackage{chemfig}

\begin{document}
\schemestart
    \chemfig{H-C~C-H} 
    \+ 
    \chemfig{HX} 
    \arrow{->} 
    \chemfig{H_2C=CH^+} 
    \+ 
    \chemfig{X^{-}}
\schemestop
\end{document}

或者你可以使用“chemformula”

\documentclass{beamer}
\usepackage{chemformula}

\begin{document}
    
    \ch{H-C+C-H + HX -> H2C=CH+ + X-}
    

\end{document}

相关内容