LaTeX、dvipng 和管道

LaTeX、dvipng 和管道

我正在尝试动态为 LaTeX 文档中的每个页面创建 PNG 图像。由于 LaTeX 的启动时间是速度的限制因素,我尝试使用名称管道采用以下方法:

Bash 1(聆听):

mknod test.dvi p # create named pipe 'test.dvi'
dvipng test.dvi  # let dvipng wait for input on that named pipe

Bash 2(发送):

echo "\\documentclass{article}\\pagestyle{empty}\\begin{document}text\\end{document}" \ 
    | latex -jobname=test # typeset small LaTeX document into test.dvi

LaTeX 运行成功完成。但 dvipng 退出并出现以下错误:

dvipng: Fatal error, POST occurs within page

test.dvi令人惊讶的是,当我使用以下方法重定向到常规文件时,dvipng 可以按预期工作

cat test.dvi > test2.dvi
dvipng test2.dvi # results in test21.png

在 Bash 1 上。

希望我可以将连续的数据发送到 LaTeX,这样 dvipng.png每次都会latex输出一个页面到test.dvi。如果您有比上述方法更好的方法,请告诉我!请注意,我还预编译了 LaTeX 文档的序言。但这仍然不够快。

答案1

你可能想调查TeX 守护进程:它附带一个特殊程序 dvichop,可以从传输到其中的 TeX dvi 输出中提取新页面。

相关内容