我需要在演示文稿中写出化学机理。使用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}