使用 make4ht 处理子方程

使用 make4ht 处理子方程

make4ht使用和 使用参数进行编译时,使用环境svg中得出的公式不会转换为。如果我更改为,HTML 会显示警告:。subequationalignSVGmathjaxUnknown environment 'subequations'

下面是一个重现该现象的小样本:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
Test
\begin{equation}
H(X) = - \sum_x p_x \log p_x
\end{equation}

\begin{subequations}
\begin{align}
A&=&B\\
D&=&C \label{e:middle}\\
E&=&F
\end{align}
\end{subequations}

\end{document}

编译使用:

make4ht -u -x test-math.tex "svg"

更改为 可以eqnarray正常工作。我应该在配置文件中使用补丁吗?我尝试了以下操作:

\Preamble{xhtml}

\renewenvironment{align}{
    \begin{eqnarray}
}{
    \end{eqnarray}
    \ignorespacesafterend
}

\begin{document}

\EndPreamble

这是 bug 吗make4ht?有更好的解决方案吗?

答案1

MathJax 似乎不支持subequations开箱即用的环境。我找到了一个JavaScript 代码这应该可以实现它,但我无法让它工作。

您还有更多选择 - 第一个选项是使用图像,就像您已经做的那样。并非所有数学环境都默认转换为图像,但您可以使用选项来要求它。该选项通常名为pic-+ environment name。请参阅文档了解更多受支持的选项。例如,pic-align将在您的示例中起作用:

make4ht -u -x test.tex "svg,pic-align"

结果:

在此处输入图片描述

另一个选择是使用 MathML。它需要与 MathJax 一起使用,因为并非每个浏览器都支持 MathML:

make4ht -u -x test.tex "mathml,mathjax"

结果:

在此处输入图片描述

相关内容