如何自訂 Latexian 以使用其他 TeX 引擎或 biber?

如何自訂 Latexian 以使用其他 TeX 引擎或 biber?

Mac 編輯器 Latexian 內建了使用latex+dvipspdflatex和進行編譯的方法xelatex。此外,它分別假設bibtexmakeindex處理參考書目和索引。

如何自訂要使用的 Latexian,例如用於編譯的 LuaTeX 或用於參考書目的 Biber?

答案1

Latexian 的編寫方式,內建方法不能根據任何使用者偏好進行更改。在我看來,這是一個嚴重的設計缺陷,但為這個限制創建一個解決方法並不難。

這個解決方法有兩個組成部分:一個腳本,該腳本放置在本地資料夾中,並替換(從 Latexian 的角度來看)Latexian 所了解的三個 TeX 引擎中的一個或多個。該腳本繞過這些引擎,而是使用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建立到該腳本的符號連結。pdflatex然後建立到真實latexand的符號連結dvips(否則 Latexian 在使用這個時總是會回傳錯誤latex+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 Distribution 的資料夾。預設情況下,此設定為/Library/TeX/texbin/usr/texbin/在較舊的 MacTeX 發行版中),但我們現在希望 Latexian 使用我們建立的本機資料夾。使用瀏覽按鈕選擇latexian-bin資料夾。如果您的操作正確,您應該會看到以下內容:

首選項螢幕截圖

您的實際路徑將有所不同,/Users/alan/latexian-bin但看起來應該相似。不要擔心其他一些二進位檔案被刪除並顯示“未找到”。這其實並不重要。

現在,您已經將 LaTeXian 指向其自己的本機二進位資料夾,現在不再使用pdflatex您進行編譯,而是使用arara.現在,對於每個文檔,您需要arara在文件頂部提供正確的行,以指示該文件使用哪些二進位。

對於基本pdflatex文件,您應該使用:

% arara: pdflatex: { synctex: yes }

為了xelatex

% arara: xelatex: { synctex: yes }

為了lualatex

% arara: lualatex: { synctex: yes }

也可以使用 add 編譯檔bibtex

% arara: bibtex

要使用 add 來代替編譯biber

% arara: biber

這就是您需要做的全部。

實施注意事項

使用此方法,您不需要使用 Latexian 首選項來指定編譯數量或附屬程式bibtexmakeglossariesmakeindex;這些都可以通過arara.

如果您不想用於arara所有編譯,則只需將pdflatexxelatex命令連結到arara腳本,將另一個命令連結到/Library/TeX/texbin.然後,您可以使用 Latexian 的 GetInfo 選單項目為每個檔案選擇一個或另一個。如果您大部分時間主要使用一個引擎,這可能是最實用的解決方案,因為使用arara會比直接使用引擎稍微慢一些。

相關內容