Python,使用jinja2渲染.tex文件,然后使用fifo管道发送给Latex

时间:2019-03-15 17:33:21

标签: bash mkfifo

我在python中使用jinja渲染.tex文件,然后我想使用xelatex将其渲染为pdf。尽管我设法使它与中间文件一起使用,但我宁愿没有中间文件。

我想尝试使用管道执行此操作。运行jinja2 render之后,我正在这样写管道:

with open("./utils/xelatex_pipe", "w") as pipe:
    pipe.write(output)

这似乎很好,因为如果我运行cat ./utils/xelatex_pipe,我会得到预期的数据(.tex文件)。

我现在正在尝试建立一个bash脚本来侦听该管道,并在通过它的任何东西上运行xelatex。我已经尝试过这样的事情:

pipe=./xelatex_pipe

xelatex -output-directory=/tmp/ $pipe

这不起作用。似乎单独对待每一行,这显然会使xelatex发疯……我想我需要将所有行聚合到一个文件中,但是我不确定如何执行“在仍有行的情况下”之类的操作在管道中,将它们连接到某个变量,然后在没有更多行的情况下对变量运行xelatex”。

0 个答案:

没有答案