正如我所写这是我问题的答案,我决定使用 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
您想要运行的脚本很可能已经存在(您提到了词汇表)。您看过LaTeXmk
TeXShop 的引擎吗?
LaTeXmk 脚本(文件夹中有各种版本Inactive
;只需将它们拖到Engines
文件夹中并重新启动 TeXShop 即可激活它们。)运行所有所需数量的latex/bibtex/mkindex/makeglossaries
等,以便文档中的所有内容都完整无缺。它知道大多数主要软件包的额外 .aux 类型文件,并且非常智能。LaTeXmk 引擎由 Herb Schulz 维护,最新版本可从以下位置获取他的网页。
.profile
在应用程序内部运行脚本时要注意的一件事是,应用程序内部设置的路径和环境变量与您在 bash或 csh文件中设置的路径和环境变量并不相同.cshrc
。