我有一个简单的 *.tex 文件用于这个问题:
\documentclass[12pt,letterpaper]{article}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\begin{document}
\title{A test \LaTeX to HTML page}
\section{Section One}
Hello world. Here is some mathematics:
\begin{equation}
x + y = 3
\end{equation}
\end{document}
答案这个问题教我如何修复使用时遇到的图像质量问题(例如方程式等)htlatex
。因此,当我运行:
htlatex test_article.tex
,
我得到了很好的 HTML 输出。
现在我有兴趣做同样的事情,除了make4ht
,但阅读文档后我有一些疑问:
1)为什么htlatex()
在过滤器示例中命令重复两次?
local filter = require "make4ht-filter"
local process = filter{"cleanspan", "fixligatures", "hruletohr"}
Make:htlatex() <--- first time
Make:htlatex() <--- second time?
Make:match("html$",process)
2)图像转换:文档推荐使用这样的命令:
Make:image("png$",
"dvipng -bg Transparent -T tight -o ${output} -pp ${page} ${source}")
如何计算${output}
、${page}
和${source}
?这是自动的吗?还是假设我在某处提供了这些参数?如果是第二种,我应该在哪里提供这些参数?
到目前为止,我已经在中写了以下内容test_article.mk4
:
local filter = require "make4ht-filter"
local process = filter{"cleanspan", "fixligatures", "hruletohr"}
Make:htlatex()
Make:htlatex()
Make:image("png$",
"dvipng -bg Transparent -T tight -o ${output} -pp ${page} ${source}")
Make:match("html$",process)
Make:match("html$", "tidy -m -xml -utf8 -q -i ${filename}")
我运行以下命令(-n
用于禁用tex4ht
):
make4ht "test_article.tex" -n
...但随后出现以下错误:
----------------------------
t4ht.c (2012-07-25-19:28 kpathsea)
t4ht -p
test_article.dvi
(a:/texlive/2015/texmf-dist/tex4ht/base/win32/tex4ht.env)
--- warning --- Can't find/open file `test_article.lg'
Parse LG
Cannot read log file: test_article.lg
希望这个错误与我上面提出的一些问题有关。
答案1
1)Make:htlatex
运行一次 LaTeX,这与调用运行三次 LaTeX 的脚本不同htlatex
。它被调用三次是因为交叉引用和链接。
您可以使用变量来加速编译mode
,该变量可以作为命令行参数传递。我通常定义只调用一次的draft
模式Make:htlatex
,然后使用
make4ht -m 草稿文件名
带有变量的示例构建文件mode
:
local filter = require "make4ht-filter"
local process = filter{"cleanspan", "fixligatures", "hruletohr"}
if mode == "draft" then
Make:htlatex()
else
Make:htlatex()
Make:htlatex()
Make:htlatex()
end
Make:image("png$",
"dvipng -bg Transparent -T tight -o ${output} -pp ${page} ${source}")
Make:match("html$",process)
Make:match("html$", "tidy -m -xml -utf8 -q -i ${filename}")
2)这些参数是自动设置的,图像转换由文件驱动.lg
。图像存储在带有扩展名dvi
的特殊文件中.idv
,它是source
参数。每个图像都在独立的页面上,page
当前转换的图像的编号也是如此,output
是图像名称。
3)不要使用该-n
选项,它会禁用从到 的tex4ht
转换,这显然不是你想要的dvi
html