如何定制 Latexian 以使用其他 TeX 引擎或 biber?

如何定制 Latexian 以使用其他 TeX 引擎或 biber?

Mac 编辑器 Latexian 内置了使用latex+dvipspdflatex和进行编译的方法xelatex。此外,它还假设bibtexmakeindex分别处理参考书目和索引。

我如何定制 Latexian 的使用,例如使用 LuaTeX 进行编译或使用 Biber 进行参考书目?

答案1

Latexian 的编写方式使得内置方法无法根据用户偏好进行更改。在我看来,这是一个严重的设计缺陷,但创建一种解决方案来弥补这一缺陷并不难。

解决方法有两个组件:一个放在本地文件夹中的脚本,它会替换 Latexian 所知道的三个 TeX 引擎中的一个或多个(从 Latexian 的角度来看)。该脚本会绕过这些引擎,而是使用自动化工具arara来控制所有编译。通过使用,arara您可以非常精细地控制每个文档所需的确切编译链。

arara简介

为了理解它的工作原理,您首先需要了解araraarara允许您向文档添加注释,告诉它如何编译该文档。一个简单的用法如下:

% arara: pdflatex

这将告诉arara用 处理文档pdflatex。一个稍微复杂一点的例子(但概念上同样简单)是:

% arara: pdflatex
% arara: bibtex
% arara: pdflatex
% arara: pdflatex

这将编译一个文档,运行bibtex,然后再编译两次以解析引用。

从这些小例子中,应该清楚的是全部MacTeX 中可用的二进制文件将可供arara,这意味着如果我们可以使用 Latexian,arara我们就可以让 Latexian 使用任何 TeX 二进制文件。我们接下来转向这项任务。

让 Latexian 使用 arara

首先,我们创建一个本地文件夹,并将 Latexian 指向该文件夹。您可以使用 Finder 或终端执行此操作。在此示例中,我们将该文件夹命名为latexian-bin

mkdir ~/latexian-bin

在文本编辑器中,创建以下文件:

#!/bin/bash
export PATH=/Library/TeX/texbin:/usr/local/bin:${PATH}

arara -v "${@:$#}"

将其保存为文件夹arara中的以下内容latexian-bin。您必须使文件可执行,因此在终端窗口中输入:

cd ~/latexian-bin
chmod +x arara

最后,为Latexian 知道的xelatex和二进制文件创建指向此脚本的符号链接。然后为真正的和创建符号链接(否则 Latexian 在使用此 时将始终返回错误。)pdflatexlatexdvipslatex+dvips

ln -s arara pdflatex
ln -s arara xelatex
ln -s /Library/TeX/texbin/latex latex
ln -s /Library/TeX/texbin/dvips dvips
ln -s /Library/TeX/texbin/synctex synctex

现在在 Latexian 中,转到“首选项”并选择“预览”。在此首选项中,您可以选择 TeX 发行版的文件夹。默认情况下,它设置为/Library/TeX/texbin/usr/texbin/在较旧的 MacTeX 发行版中),但我们现在希望 Latexian 使用我们创建的本地文件夹。使用“浏览”按钮选择文件latexian-bin夹。如果您操作正确,您应该会看到以下内容:

偏好设置屏幕截图

您的实际路径将有所不同,/Users/alan/latexian-bin但看起来应该相似。不要担心其他一些二进制文件被划掉并显示“未找到”。这实际上并不重要。

pdflatex现在,您已将 LaTeXian 指向其自己的本地二进制文件夹,现在您将使用而不是 进行编译。现在,对于每个文档,您需要在文件顶部arara提供正确的行,以指示它要为该文件使用哪些二进制文件。arara

对于基本pdflatex文件您应该使用:

% arara: pdflatex: { synctex: yes }

为了xelatex

% arara: xelatex: { synctex: yes }

为了lualatex

% arara: lualatex: { synctex: yes }

还可以使用以下方法编译文件bibtex

% arara: bibtex

要编译,请biber添加:

% arara: biber

这就是您需要做的全部事情。

实施说明

使用这种方法您不需要使用 Latexian 偏好设置来指定编译数量或附属程序bibtexmakeglossariesmakeindex;这些都可以通过来完成arara

如果您不想arara对所有编译都使用,只需将pdflatexxelatex命令链接到arara脚本,将另一个命令链接到 中的正常二进制文件/Library/TeX/texbin。然后,您可以使用 Latexian 的 GetInfo 菜单项为每个文件选择其中一个。如果您大多数时间主要使用一个引擎,这可能是最实用的解决方案,因为使用arara会比直接使用引擎稍慢。

相关内容