以下 MWE:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[ \begin{split} a &= b \\ c &= d \end{split} \]
\end{document}
使用 pdflatex 编译很好,但是当我在其上运行 make4ht 时,出现以下错误:
! Package amsmath Error: \begin{split} won't work here.
See the amsmath package documentation for explanation.
Type H <return> for immediate help.
...
l.7 \[ \begin{split} a &= b \\ c &= d \end{split}
\]
这是 tex4ht 不兼容吗?有没有简单的方法可以解决这个问题?我本来可以只使用align*
这个,但是出于某种原因我想使用它split
。
答案1
您可以尝试以下配置文件:
\Preamble{xhtml}
\makeatletter
\DeclareRobustCommand\[{%
\bgroup%
\mathdisplay@push%
\st@rredtrue \global\@eqnswfalse%
\mathdisplay{equation*}%
\csname st:Math\endcsname
}
\DeclareRobustCommand\]{%
\csname ed:Math\endcsname
\endmathdisplay{equation*}%
\mathdisplay@pop%
\ignorespacesafterend%
\egroup
}
\makeatother
\Configure{[]}{\Picture*{}}{\EndPicture}
\begin{document}
\EndPreamble
amsmath
它与+ 使用命令的能力基本相同\Configure{[]}
。在此示例中,它用于将显示数学转换为图片。请注意,此配置不适用于 MathMl 或 MathJax。
对于 MathML,使用:
\Preamble{xhtml}
\DeclareRobustCommand{\[}{\begin{equation*}}
\DeclareRobustCommand{\]}{\end{equation*}}
\begin{document}
\EndPreamble
您的代码无需任何配置即可在 MathJax 节点中正常运行。