如果 .tex 已发生更改,是否自动启动必要的 pdflatex 运行(MacOS X)?

如果 .tex 已发生更改,是否自动启动必要的 pdflatex 运行(MacOS X)?

我读到Latex Daemon,当源文档(.tex)发生变化时,它似乎会自动启动新的 latex 运行。

有人可以推荐我类似的解决方案MacOS X(因为 Latex 守护进程似乎Windows只用于此)?


剪辑:
我删除了有关加快速度的问题的第二部分,并创建了一个新问题:如何加快 MacOS X 上非常大的文档的 pdflatex 速度?


我使用TexMakerX编辑器和Skim查看器。 Skim可以在 PDF 文件发生更改时立即自动更新,因此这应该没有问题。 我当前的 LaTeX 项目有几个源文件,结合\include,因此解决方案应该能够“观察”其中至少一个文件的变化。

编辑:

我会接受自动运行多次以更新参考书目和参考文献latexmk的答案 ,并且我会在新问题中询问加快处理速度的问题。pdflatex

对于那些想要设立的人latexmk来说MacOS X此页面来自 Damien Pollet可能会有帮助。

我遇到的问题latexmk

  • 使用-pvc-option 似乎会减慢我的 MacBook 速度,因为切换到另一个应用程序变得相当慢,尤其是当它的窗口位于另一个 Space 时
  • 所以我关掉了它,现在只使用latexmk快捷键F1自动编译“所有内容”,同时我使用单个pdflatex运行F2在文本中添加细小的更改。

在使用谷歌搜索时,我还发现了这个atchange程序http://www.ccrnp.ncifcrf.gov/~toms/atchange.html它似乎做了类似的事情,我还没有测试过。

答案1

latexmk可以使用以下选项在自动更新模式下运行-pvc

# latexmk -pdf -pvc file.tex

它是一个 Perl 脚本,因此只要安装了 Perl 编译器,它就可以在任何操作系统下运行。我不确定,但我认为 TeXLive 附带了一个,至少我认为在 Windows 下是这样的。

答案2

克劳斯·格哈特Flash模式确实如此,但对于 TeXShop 而言。

答案3

在网上搜索时,我还发现atchange它似乎还能够自动检测任何指定文本文档的变化,然后运行预定义的 shell 脚本。

摘自主页1

当 atchange 程序运行时,它会监视一个或多个文件。当任何这些文件发生变化时,atchange 程序将唤醒并执行您想要的任何操作。修改和编译程序、修改数据文件并使用它,或编辑文本并排版等任务可以通过单个键入的命令自动执行,例如:atchange myprogram “compile myprogram” 通过在开始重复任务之前设置一次 atchange,可以避免数百次鼠标移动。

(我还没有测试过)

答案4

也可以用样本按照建议这里

# Install with brew
brew install fswatch

例如运行一个文件文件名.tex

fswatch -o filename.tex | xargs -n1 -I{} pdflatex filename.tex

相关内容