跳至內容
出自 Arch Linux 中文维基

根據Wikipedia:

TeX Live 是一種自由的的 TeX 排版系統發行版,包含主要的 TeX 相關程序、宏包和字體。

TeX Live 包括:

  • 多種 TeX 引擎,例如:
  • 基本宏包(在 TeX 術語中稱為「格式」),例如:
  • 許多用戶製作的包

TeX Live 的替代方案包括 MikTeX 和 Tectonic,它們採用最小化安裝方式,並在運行時按需下載所需的包。

Arch-packaged TeX Live 與原生 TeX Live 的對比

安裝 TeX Live 有多種方式。雖然 TeX Live 的一個快照應該可以通過 Arch Linux 包倉庫獲得(如下所述),但該快照大多數情況下每年只更新一次。相比之下,TeX Live 本身是一個滾動發布的發行版,基於用戶每年必須升級一次的模型,但每個軟體包可以在子日級別進行更新。

擁有原生且最新的 TeX Live 安裝的優點包括可以訪問最新的功能和 bug 修復,以及相關的文檔。儘管在沒有原生 TeX Live 的情況下(請參見 TEXMFLOCALTEXMFHOME),仍然可以升級或安裝單獨的軟體包,但這需要額外的注意——必須確保所有相關軟體包的版本彼此兼容。

與原生 TeX Live 相比,Arch 倉庫中的軟體包通常不包括文檔,這是一個問題,因為來自 CTAN 的文檔通常僅適用於 TeX 包的最新版本。

注意:多個 TeX Live 安裝可以在單一系統上和平共存。

原生 TeX Live

安裝

請參見 quickinstall 文檔,並根據需要查看 full 文檔。安裝過程如下:

  1. 下載 netinstall 壓縮包
  2. 解壓壓縮包並進入新創建的目錄
  3. 運行安裝腳本,perl ./install-tl,啟動一個交互式安裝程序(文本界面)
    1. 設置所需的安裝路徑
    2. 可選地選擇 TeX Live 提供的某些「集合」包
    3. 可選地選擇 Letter 紙張尺寸作為默認,而不是 A4
    4. 等待所有文件下載完畢
  4. 安裝腳本會在過程結束時通知您,需要將 TeX Live 安裝路徑添加到系統可執行文件和文檔路徑中:PATHMANPATHINFOPATH。安裝腳本會輸出在退出前所需的具體路徑。

更新

請參閱 tlmgr 文檔,tlmgr update --all 將升級安裝時選擇的所有包集合。它還會安裝已添加到安裝的 TeX Live 包集合中的新包。

每年一次,當 TeX Live 發布新版本時,tlmgr update --all 會失敗,這時需要重新安裝 TeX Live。

Arch 打包的 TeX Live

請注意,texlive-binextra 中的某些工具有可選依賴項,未自動安裝。例如,latexindent 依賴於 perl-yaml-tinyperl-file-homedir

提示:如果缺少特定的 .sty 文件,可以運行 pacman -F 來查找提供該文件的 Arch 包:
$ pacman -F soul.sty
extra/texlive-plaingeneric 2023.66594-19 (texlive)
    usr/share/texmf-dist/tex/generic/soul/soul.sty

如果需要安裝一個可用的 CTAN TeX 包,請運行以下命令來確定它是否包含在 Arch 的 texlive- 包中:

$ tlmgr info ctan_package_name | grep collection

這將列出與 Arch texlive- 包對應的 TeX Live 包集合名稱(也可以檢查 texlive包組 組以確認是否存在此包)。例如,輸出 collection: collection-plaingeneric 表示該 TeX 包包含在 texlive-plaingeneric 中。

另外,可以使用 tlmgr 手動安裝單個 TeX 包(見下文)。

注意:某些 TeX Live 包中包含的工具和實用程序依賴於 ghostscriptperlpythonruby。有關詳細信息,請查看每個包的可選依賴項。

tllocalmgr

警告:有建議認為 tllocalmgr 將不再工作。請參閱 [2]

tllocalmgr 工具由 tllocalmgrAUR 提供,允許您將來自 CTAN 的包作為 pacman 包安裝(和更新)。請參見 使用方法-h)了解詳細信息。

tlmgr

使用 texlive-basic 時,tlmgr 工具應該能夠直接使用。如果遇到問題或您正在使用舊版包 texlive-core,則應按照以下步驟進行,以使 tlmgr 正常工作。

注意:
  • 雖然 texlive-basic 提供了 tlmgr 腳本在 TEXMFDIST 中,但它是損壞的(FS#74404)。可以按照下述步驟修復。
  • texconfig(1) 命令大多數情況下無法使用,因為它部分依賴於 tlmgrFS#59094)。texconfig 的交互模式需要 dialog

本文或本章節的事實準確性存在爭議。

原因: 此「修復」應集成到 texlive-basic 包中。編輯 TEXMFDIST 中的文件將不會在包升級時保存。(在 Talk:TeX Live 中討論)


tlmgr 工具是安裝和更新來自 CTAN 的包的標準方法。它需要進行以下小修復:

首先,編輯 TEXMFDIST/scripts/texlive/tlmgr.pl,將 $Master = "$Master/../.."; 替換為 $Master = "${Master}/../../..";。路徑前綴 TEXMFDIST 不是預定義的環境變量,它在本文下方定義。請將其替換為正確的值。

也可以通過命令行執行 sudo sed -i 's/\$Master = "\$Master\/..\/..";/\$Master = "\$Master\/..\/..\/..";/' "$TEXMFDIST/scripts/texlive/tlmgr.pl"

為 perl 腳本創建別名(可以將其添加到 shell 初始化文件中)。

alias tlmgr='TEXMFDIST/scripts/texlive/tlmgr.pl --usermode'

現在,您可以在用戶模式下初始化它(這將使用 ~/texmf 作為安裝前綴):

$ tlmgr init-usertree

設置您首選的 鏡像站點。您需要在鏡像路徑末尾添加 /systems/texlive/tlnet,例如:

$ tlmgr option repository http://mirrors.rit.edu/CTAN/systems/texlive/tlnet

現在,您可以像往常一樣安裝 CTAN 包:

$ tlmgr install package_name

包文檔

官方倉庫中的包不包含字體/宏包的文檔或源文件。

要離線訪問文檔,安裝 texlive-doc 包,它包含完整的 TeX Live 文檔和源文件。

您也可以在線訪問文檔:

用法

請參見以下資源:

有些人使用 TeX 編輯器來創建文檔。

編譯文檔的高級封裝器

通常來說,使用 latexmk(1) 等高級工具,或者使用 arara(1),比直接調用 pdflatex(1) 更有意義,主要是因為較低級的工具通常需要多次運行才能完全編譯一個文檔。

texmf 樹和 Kpathsea

texmf 樹(texmf 代表 TeX 和 Metafont)應遵循 TeX 目錄結構,否則可能無法找到文件。[3]

TeX Live 使用 Kpathsea 庫來通過文件名查找路徑,跨越多個 texmf 樹和當前工作目錄。

Kpathsea 按逆序搜索以下變量(較晚的樹會覆蓋較早的樹)。

變量 Arch 默認值 1) [4] 使用
TEXMFDIST /usr/share/texmf-dist 原始分發文件
TEXMFLOCAL /usr/local/share/texmf:/usr/share/texmf 系統管理員用於全局安裝附加或更新的宏、字體等
TEXMFSYSVAR /var/lib/texmf updmap 和 fmtutil(用戶模式)存儲(緩存)運行時數據
TEXMFSYSCONFIG /etc/texmf updmap 和 fmtutil(用戶模式)存儲修改後的配置數據
TEXMFHOME ~/texmf 用戶用於個別安裝附加或更新的宏、字體等
TEXMFVAR ~/.texlive/texmf-var updmap 和 fmtutil(系統模式)存儲(緩存)運行時數據
TEXMF

CONFIG || ~/.texlive/texmf-config || 用戶模式的配置數據

相關頁面