Dropbox 和 LaTeX 编译自动化

Dropbox 和 LaTeX 编译自动化

我正在做一个“将文件拖到这里,用 LaTeX 编译”的项目。我有一个Dropbox我想将 .tex 文件放入特定文件夹中,并编写一个脚本帮我编译它。我使用的是 Mac OS X(Snow Leopard)。您能给我一个 .sh 脚本或 Automator 脚本(如果有教程就更好了),让我使用 pdfLaTeX 将我的文档编译成 .pdf 文件吗?

我该如何处理 LaTeX 文档依赖项,如.sty、图像等等?

编辑:我在 SuperUser 上发布了这个问题,我发现了一个关于使用 latexmk+folderactions 的好建议,所以去Dropbox + Latex:自动 pdf 编译 [SU]了解详情。

答案1

您可以向您的 Dropbox 添加一个文件夹操作:当有新内容到达时,它将触发 AppleScript 来触发编译文件的命令。

在 Finder 中,右键单击文件夹。转到服务,然后转到文件夹操作设置。然后您可以选择要执行的操作(您可以添加自己的操作以显示在选项中)。

答案2

只是最近的更新。iPad 上有一款应用程序 - Tex Touch 可以实现这一点。在开发者网站上,它提供了有关如何设置 Dropbox 文件夹的说明,该文件夹带有一个操作,以便同步 iPad 的文件可以在您的家用计算机上编译并以 PDF 格式返回到 iPad。

答案3

您可以.tex通过键入从命令行编译文件pdflatex file.tex,假设您的所有资源(图形,样式文件)都在.tex文件所述的位置。

如果您可以假设这一点,那么您就可以编写一个 shell 脚本来检查目录中的所有.tex文件,然后,如果相应文件上的时间戳.pdf较旧,则运行pdflatex该文件。

这应该只是几行 shell 代码。正如 Caramdir 所建议的,超级用户可以帮助您编写该脚本。

尽管如此,编译仍有可能中断。因此,您必须担心收到这些错误消息,而不是一次又一次地尝试重新编译。

答案4

为了让事情变得更简单,你可以使用橡皮作为编译器。Rubber 会帮你处理所有依赖关系,所以你不需要重新发明轮子。

它是一个命令行工具,因此你可以将它与任何机制结合使用,例如前面提到的文件夹操作(如果你使用的是 Mac)或其他任何机制。你可能想要编写一个包装器来检查退出状态,.log如果失败,也弹出文件。(或者,由于您使用的是 Mac,所以会弹出 Growl 通知?)

相关内容