有没有办法刷新 latex 的文件 io 缓冲区。由于我试图实现某些功能,我必须在创建输出的 pdf 后复制/修改它(但在同一编译运行中)。问题似乎是,在我复制/修改它之前,pdf 似乎没有完全刷新。结果是部分复制的文件最终损坏。
在我进行复制之前,有没有办法让 tex/latex/lutex/lualatex 刷新缓冲区?(复制在 lualatex 中,并在生成 pdf 后立即进行。它不是单独完成的)
答案1
没有办法做到这一点。未来版本的 LuaTeX 可能会处理这个问题。
答案2
一次 TeX 运行与一个输出文件的生成密切相关,要么.dvi
要么.pdf
。因此,输出文件仅在运行结束时关闭(文件写入后,继续运行没有任何意义)。对于 pdfTeX 和 XeTeX,这不会改变,尽管 LuaTeX 可能会改变行为。因此,使用包装器对多个 TeX 运行进行更复杂的操作是正常的。这当然可以使用 LuaTeX 的 Lua 部分来完成(例如,请参阅 ConTeXt Mk IV 的工作原理)。