htlatex (tex4ht) 中没有图像

htlatex (tex4ht) 中没有图像

如何配置 htlatex,使方程式不作为图像呈现在单独的文件中,而是像在文档中一样呈现$x$?我仍然希望能够分配\label

答案1

我认为最好将数学转换为 MathML 并使用 MathJax 进行渲染。这样原生 LaTeX 标签就可以毫无问题地工作。

我们需要做的就是使用简单的配置文件,它将提供一些 JavaScript 来加载 MathJax:

\Preamble{xhtml,mathml}
\Configure{@HEAD}{%
\HCode{<script type="text/javascript"
   src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=MML_CHTML">
 </script>\Hnewline}}
\begin{document}
\EndPreamble

它所做的就是在命令中选择 MathML 输出\Preamble,然后包含外部脚本来加载 MathJax。重要的部分是MathJax.js?config=MML_CHTML,它将 MathJax 配置为仅解析 MathML 并选择常见的 html 作为呈现格式。默认情况下,MathJax 还会解析文档中的 LaTeX 数学,但我们真的不需要这样做,它只会减慢处理速度。

一些示例文档:

\documentclass{article}

\usepackage{amsmath}
\begin{document}

hello world

\begin{equation}
\label{eq:hello}
a = \sqrt{b^2 + c^2}
\end{equation} 

See equation~\ref{eq:hello}

Now some multiline

\begin{multline*}
  p(x) = 3x^6 + 14x^5y + 590x^4y^2 + 19x^3y^3\\ 
  - 12x^2y^4 - 12xy^5 + 2y^6 - a^3b^3
\end{multline*}


Align:

\begin{align*} 
  2x - 5y &=  8 \\ 
  3x + 9y &=  -12
\end{align*}


Align*:

\begin{align*}
  x&=y           &  w &=z              &  a&=b+c\\
  2x&=-y         &  3w&=\frac{1}{2}z   &  a&=b\\
  -4 + 5x&=2+y   &  w+2&=-1+w          &  ab&=cb
\end{align*}

\end{document}

我们可以使用以下方法进行编译

make4ht -uc configfilename.cfg filename.tex

结果如下:

在此处输入图片描述

相关内容