使用 TeX4ht 将方程式转换为 Outlined EPS 或 SVG 格式

使用 TeX4ht 将方程式转换为 Outlined EPS 或 SVG 格式

我尝试过:

\documentclass{book}
\usepackage{amsmath}

\begin{document}

This is for test $a+b=c$
\begin{align*}
\int+\prod=\sum
\end{align*}

This is for test $d+e=f$
\begin{align*}
\alpha+\beta=\gamma
\end{align*}

\end{document}

我的期望是,我需要将inline math和分别转换display mathoutlined EPS格式或SVG格式,执行是否可行htlatex?请指教

答案1

总的来说,图片数学是可访问性最差的选择,而且看起来也不太好。最好使用 MathML 和 MathJax 渲染,或者只使用 MathJax。TeX4ht 支持这两个选项。如果你真的想使用图片,你可以使用各种以图片开头的选项。例如,对于内联数学,您可以使用pic-m,对于align*环境,则使用pic-align。还有 svgSVG 图片的选项。

如果您有许多方程式和内联数学,编译可能会花费大量时间,因为每张图片都需要单独转换。您可以使用dvisvgm_hashesmake4ht 扩展来加速。它只转换自上次编译以来发生变化的数学环境,并且它还运行并行转换,因此速度要快得多。

这是您可以使用的命令:

$ make4ht -f html5+dvisvgm_hashes -m draft -a debug sample.tex "svg,pic-m,pic-align"

另请参阅图片数学方法

结果如下:

在此处输入图片描述

如果您想生成 EPS 图像(请注意,它们不受网络浏览器支持,因此我不确定这是否是个好主意),您需要做两件事:更改生成的图形的扩展名,并声明可以将 DVI 转换为 EPS 的命令。

您可以使用此配置文件更改扩展:

\Preamble{xhtml}
\Configure{Picture}{.eps}
\begin{document}
\EndPreamble

可以使用 创建 EPS dvips。尝试这个构建文件build.lua

Make:image("eps$", "dvips  -E -o ${output} -pp ${page} ${source}")

然后您可以使用以下命令编译文件:

$ make4ht -c config.cfg -e build.lua filename.tex "pic-m,pic-align"

相关内容