我尝试编译一个包含大量数学公式的 tex 文件。我尝试
tex4ebook -c test.cfg -f epub+dvisvgm_hashes 测试
使用 test.tex
\documentclass{amsart}
\begin{document}
Two formulae displayed:
\[e^{i\pi}+1=0\]
and
\[\sum_{n=1}^\infty\frac1{n^2}=\frac{\pi^2}6\]
let's see the effect.
\end{document}
测试.mk4
if mode == "draft" then
Make:htlatex {}
else
-- Make:add("biber","biber ${input}")
Make:htlatex {}
-- Make:biber {}
Make:htlatex {}
Make:htlatex {}
end
Make:tex4ht{}
Make:t4ht{}
test.cfg
\Preamble{xhtml,pic-align}
\Configure{Picture}{.svg}
\makeatletter
\makeatother
\DeclareRobustCommand{\[}{\begin{equation*}}
\DeclareRobustCommand{\]}{\end{equation*}}
\begin{document}
\EndPreamble
其中扩展 dvisvgm 用于加速 svg 图像的生成,并且它抱怨
...texmf-dist/scripts/make4ht/extensions/dvisvgm_hashes.lua:251: 尝试连接字段“t4ht_par”(一个零值)
我查看了 dvisvgm_hashes.lua,并插入了代码
if v.params.t4ht_par == nil then
v.params.t4ht_par = ""
end
进入
for _,v in ipairs(make.build_seq) do
if v.params.t4ht_par == nil then
v.params.t4ht_par = ""
end
if v.name == "t4ht" then
v.params.t4ht_par = v.params.t4ht_par .. " -p"
end
end
然后我编译,它抱怨了很多未找到的错误,Copy: cp test###x.svg test-epub/OEBPS/ ...
并且 content.opf 包含不存在的 test###x.svg。这似乎是由于 tex4ebook 和 dvisvgm_hashes 不兼容造成的。我正在寻找一种解决方法。
答案1
这似乎是dvisvgm_hashes
扩展中的一个错误。修复版本可在制作4小时存储库。
无需更新扩展的快速修复方法是Make:t4ht {}
从构建文件中删除该行。无论如何,这对你的情况没有用,因为它是由make4ht
和自动执行的tex4ebook
。只有在你想要传递一些自定义参数的情况下,你才应该将它包含在构建文件中。
此构建文件与您的原始文件相同,但不会遭受以下错误:
if mode == "draft" then
Make:htlatex {}
else
-- Make:add("biber","biber ${input}")
Make:htlatex {}
-- Make:biber {}
Make:htlatex {}
Make:htlatex {}
end