嵌套化学公式超出 TeX 容量

嵌套化学公式超出 TeX 容量

以下是当前问题的 MWE:

\documentclass{article}
\usepackage{chemformula}
\begin{document}

    $\varphi_{\ch{N2}}$%chemformula as index works

    \ch{C + O2 + N2 -> CO2 + N2}%regular equation

    \ch{C + O2 + $\varphi$ N2 -> CO2 + N2}%escaped math works

    %\ch{C + O2 + $\varphi_{\ch{N2}}$ N2 -> CO2 + N2}%throws error when nested

\end{document}

在带有注释的代码中,问题得到了解释:使用chemformula及其命令\ch,即使在数学模式下也可能会创建索引,请参阅第一行代码。

在内部制定更长的方程式\ch,然后尝试转义数学符号,这些符号本身具有使用\ch嵌套\ch命令排版的索引。这些会抛出错误

TeX capacity exceeded, sorry [main memory size=3000000]. ...+ O2 + $\varphi_{\ch{N2}}$ N2 -> CO2 + N2}

编译时。

我该如何解决这个问题?

答案1

其实解决办法很简单:使用\chcpd内部:

\documentclass{article}
\usepackage{chemformula}
\begin{document}

$\varphi_{\ch{N2}}$%chemformula as index works

\ch{C + O2 + N2 -> CO2 + N2}%regular equation

\ch{C + O2 + $\varphi$ N2 -> CO2 + N2}%escaped math works

\ch{C + O2 + $\varphi_{\chcpd{N2}}$ N2 -> CO2 + N2}

\end{document}

在此处输入图片描述

答案2

稍微玩一下\ensuremath似乎\mathrm就可以了。

\documentclass{article}
\usepackage{chemformula}

\newcommand{\varphich}[1]{\ensuremath{\varphi_{\mathrm{#1}}}}

\begin{document}

without ch - shows as text: \varphich{N2}

ch in it - shows as chemistry: \(\varphi_{\ch{N2}}\)%chemformula as index works

equation 1: \ch{C + O2 + N2 -> CO2 + N2}%regular equation

equation 2: \ch{C + O2 + \(\varphi\) N2 -> CO2 + N2}%escaped math works

equation 3: \ch{C + O2 + \varphich{\ch{N2}} -> CO2 + N2}%throws error when nested

\end{document}

我还使用了\( \)基于本文

相关内容