![make4ht - 损坏的交叉引用](https://linux22.com/image/430987/make4ht%20-%20%E6%8D%9F%E5%9D%8F%E7%9A%84%E4%BA%A4%E5%8F%89%E5%BC%95%E7%94%A8.png)
我正在使用make4ht
包含以下内容的文件Test.tex
:
\documentclass[12pt]{article}
\usepackage{amsmath}
\begin{document}
Testing cross references for equations.
\begin{equation}
e^{\mathrm{i}\pi}+1=0 \label{eq:test equation}
\end{equation}
Equation \ref{eq:test equation} is known as Euler's identity.
\end{document}
使用命令
make4ht Test.tex "mathjax"
获取 HTML 代码(不包括标题)
<body>
<!-- l. 6 --><p class='noindent'>Testing cross references for equations. \begin {equation} e^{\mathrm
{i}\pi }+1=0 \label {eq:test equation} \end {equation}
Equation <span class='cmbx-12'>??</span> is known as Euler’s identity. </p>
</body>
我是否遗漏了一些显而易见的事情来获得正确的方程式编号而不是??
?
答案1
只要所有方程式都使用\eqref{}
(而不是(\ref{})
)引用,就可以使用以下技巧,正如@michal.h21 建议的那样另一个答案,工作原理:
\Preamble{xhtml,mathjax}
\begin{document}
\renewcommand\eqref[1]{\NoFonts\HChar{92}eqref\{\detokenize{#1}\}\EndNoFonts}
\EndPreamble
将以上内容保存在配置文件中,然后MyConfig.cfg
运行
make4ht filename.tex "xhtml,mathjax" --config MyConfig