使用 TeXShop 时的外部脚本

使用 TeXShop 时的外部脚本

正如我所写这是我问题的答案,我决定使用 shell 脚本来连接一堆 .tex 文件并进行编译。但是,这样一来,每当我想编译整个词汇表时,我都必须切换到并terminal从正确的目录(即词汇表的目录)运行脚本。

我在 mac OSX 上使用 TeXShop,我想知道是否有办法在 TeXShop 中设置调用脚本的快捷方式?

谢谢,德罗尔。

答案1

查看 TeXShop 宏编辑器 — 您会发现它可以用于代码片段或脚本。宏菜单中的第一个项目是“AppleScripts”,您可以在其中看到一些示例,包括一些仅环绕 shell 脚本或命令的示例。因此,类似这样的代码应该可以工作:

--AppleScript
-- #FILEPATH# in the text will be replaced by the path of the document

do shell script "cd #FILEPATH# && source generateGlossary.sh"

第一行告诉 TeXShop 这个宏应该作为脚本运行。第二行只是一个 AppleScript 注释。第三行完成这项工作。

宏也可以绑定到命令键组合。

答案2

运行这类东西可能最好使用 TeXShop 的“引擎”而不是从宏编辑器调用 applescript。

如果您查看~/Library/TeXShop/Engines文件夹(尤其是Inactive文件夹),您会看到此类引擎的各种示例。引擎文件本身只是 shell 脚本(因此它们需要设置可执行位)一旦脚本开始运行,您就可以将其放入文件夹中,它将出现在任何文档窗口按钮Engines旁边的下拉菜单中。Typeset

您想要运行的脚本很可能已经存在(您提到了词汇表)。您看过LaTeXmkTeXShop 的引擎吗?

LaTeXmk 脚本(文件夹中有各种版本Inactive;只需将它们拖到Engines文件夹中并重新启动 TeXShop 即可激活它们。)运行所有所需数量的latex/bibtex/mkindex/makeglossaries等,以便文档中的所有内容都完整无缺。它知道大多数主要软件包的额外 .aux 类型文件,并且非常智能。LaTeXmk 引擎由 Herb Schulz 维护,最新版本可从以下位置获取他的网页

.profile在应用程序内部运行脚本时要注意的一件事是,应用程序内部设置的路径和环境变量与您在 bash或 csh文件中设置的路径和环境变量并不相同.cshrc

相关内容