TeX Live (简体中文)

From ArchWiki
翻译状态:本文是 TeXLive翻译。上次翻译日期:2017-08-07。如果英文版本有所更改,则您可以帮助同步翻译。

TeX Live是"安装和运行TeX文档制作系统的简单方式。它提供了一个全面的Tex系统,提供的二进制文件适用于大多数Unix风格操作系统(包括GNU/Linux)的二进制文件,当然也有Windows。它包含了全部主要的Tex相关的属于自由软件的程序,宏包,字体,还有对世界上很多语种的支持。"

Tex Live是LaTeXConTeXt和其他友商最流行的发行版本之一。

查看Category:TeX (简体中文)以获得更多信息。

安装

Tex Live 主要在官方仓库的两个软件组中:

必要的软件包texlive-core 包含了基本的 texmf-dist 目录树(宏包和字体),texlive-core 包含二进制文件,库文件,和 texmf 目录树。texlive-core 基于上游发行版的"medium"安装方案。所有其它的包基于TeX Live同名的包。想确定每个包重包含了哪些CTAN包,查看这些文件:

  /var/lib/texmf-var/arch/installedpkgs/<package>_<revnr>.pkgs
注意: texlive-langextra 提供了对 African, Arabic, Armenian, Croatian, Hebrew, Indic, Mongolian, Tibetan 和 Vietnamese 的语言支持.

手动安装TeXLive

参见LaTeX WikibookTeX Live Guide. 对于需要Tex Live的程序 (例如 kile) 你可以参考 texlive-dummyAUR[损坏的链接:package not found] 包.

使用

用下面方法验证安装:

$ tex '\empty Hello world!\bye'
$ pdftex '\empty Hello world!\bye'

可以分别生成 DVI 和 PDF 文件.

TeX editor 汇总了可用的图形界面. 一些在线服务可以不用 TeX Live 就编辑 TeX 文档,请参考LaTeX wikibook.

  • 处理updmap字体映射的方法已经在2009年6月得到改善,安装应该比过去更加可靠。同时,如果你遇到关于不可用的字体映射文件的错误信息,简单地手工移除 updmap.cfg 文件 (最好使用 updmap-sys --edit)。你也可以运行 updmap-sys --syncwithtrees 自动地注释掉配置文件中的有关map的行。
  • ConTeX格式(MKII和MKIV)不会在安装时自动生成。参见 the ConTeXT wiki 获取更多的指导。
  • TeX Live (上游) 现在提供了一个升级CTAN中包的工具。在此基础上,我们也计划定期升级我们的包(我们已经写了几乎自动完成这个任务的工具)。
  • 系统级的配置文件在 /usr/share/texmf-config。单用户的在 ~/.texlive/texmf-config$TEXMFHOME~/texmf$TEXMFVAR~/.texlive/texmf-var
  • 本地目录树在/usr/local/share/texmf: 这个文件夹对于 tex 组是可写的。

纸张大小

要将默认的纸张大小设为 "Letter",而不是当前的默认值 A4:

$ texconfig

这个命令也可以更改其他有用的设定。

升级时出现 "formats not generated" 错误

参见 this bug report。(如果你没有使用实验性的排版引擎 LuaTeX,你可以忽略这个。) 这种情况通常发生在当language.def 且/或 language.dat 断句样式包含早期 texlive-core的引用时,特别是对文件名频繁变化的最新实验性德语断句样式的引用。现在它们应该指向 dehyph{n,t}-x-2009-06-19.tex

解决这个问题,你或者删除这些文件: /usr/share/texmf-config/tex/generic/config/language.{def,dat} 或者升级它们使用最新版本: /usr/share/texmf/tex/generic/config/language.{def,dat} 然后运行:

# fmtutil-sys --missing

字体

默认情况下不自动提供给Fontconfig随各种Tex Live包提供的字体。如果你想让比如 XeTeX 或者 LibreOffice使用它们,最简单的方法是做如下符号链接:

 ln -s /usr/share/texmf-dist/fonts/opentype/public/<some_fonts_you_want> ~/.fonts/OTF/ (or TTF or Type1) 

将它们提供给fontconfig(就是让这些字体可以被TeX使用--edit),运行:

 fc-cache ~/.fonts
 mkfontscale ~/.fonts/OTF (or TTF or Type1) 
 mkfontdir ~/.fonts/OTF (or TTF or Type1)

另外,texlive-core 提供的 /etc/fonts/conf.avail/09-texlive-fonts.conf 文件包含了TeX Live使用的目录列表。用下面命令使用此文件:

# ln -s /etc/fonts/conf.avail/09-texlive-fonts.conf /etc/fonts/conf.d/09-texlive-fonts.conf

然后更新 fontconfig:

# fc-cache && mkfontscale && mkfontdir
注意: 这个可能会和XeTeX/XeLaTeX冲突,如果同样的字体分别对所有TeX和Fontconfig都能用。例如,如果一个字体的多个拷贝出现在搜索路径中。

中文化

推荐使用 CTeX 宏集来进行中文 LaTeX 文档的编写。CTeX 宏集是由 CTeX 社区发起并维护的 LaTeX 宏包和文档类的集合,提供了强大的中文处理功能,包含在 texlive-langchinese 中。

可以直接使用 CTeX 提供的文档类:ctexart, ctexrep, ctexbook 和 ctexbeamer 来进行中文文档的编写,分别对应 LaTeX 的标准文档类 article, report, book 和 beamer。使用它们的时候,需要将涉及到的所有源文件使用 UTF-8 编码保存。

   \documentclass{ctexart}
   \begin{document}
   中文文档类测试。
   \end{document}

在使用非标准文档类及 beamer 时,如果需要添加中文及版式的支持,则可以使用 ctex 宏包。对于建立在 LaTeX 标准文档类之上开发的文档类,在使用 ctex 宏包时加上 heading 选项,可以将章节标题设置为中文风格。

   \documentclass{ltxdoc}
   \usepackage[heading = true]{ctex}
   \begin{document}
   \section{中文章节标题}
   中文宏包测试。
   \end{document}

CTeX 可以自动检测用户的操作系统并设置相应的中文字体,在 Arch Linux 上默认使用 CTeX 提供的开源字体 Fandol。 有关如何使用其它字体以及更多的 CTeX 设置,请参考 CTeX宏集手册

TeXLive Local Manager

texlive-localmanager-gitAUR提供了一个在 Arch Linux 上管理 TeXLive 的新工具。详情请参考用法说明

tllcalmgr

tllocalmgr-gitAUR,可以从 CTAN 安装和更新texlive包,与 pacman 安装包一致。详情可见 用法 (-h) 。

安装 .sty 文件

TeX Live (和teTeX) 使用自己的目录索引(文件名为 ls-R),复制文件到 Tex 树后需要刷新索引,否则会找不到它们。命令是:

mktexlsr

texhash

texconfig[-sys] rehash

搜索索引的命令是:

kpsewhich

可以通过如下命令检查 TeX 能否找到某个文件:

kpsewhich <filename>

若能找到,会输出文件的完整路径。

如果某个 sty 文件仅是给特定用户使用,可以放到 ~/texmf/ 目录。例如 wrapfig.sty 文件放到 ~/texmf/tex/latex/wrapfig/wrapfig.sty. 不需要重新运行 mktexlsr 等,因为 tex 每次运行的时候都会搜索 ~/texmf

手工安装

通常,一个新的.sty文件在/usr/share/texmf-dist/tex/latex/<package name>/*中。如果你没有这个目录创建它。这个目录将被自动搜索当 *tex (pdftex/latex/xelatex.....)命令被执行。更多的讨论见这里: https://bbs.archlinux.org/viewtopic.php?id=85757

使用 PKGBUILD 安装

在整个系统的层面上安装latex包,出于简化安装和维护的考虑你应该使用 PKGBUILD。AUR中的软件包texlive-ganttAUR示例.

更新 babelbib 语言定义

如果 babelbib 没有需要的最新语言定义,可以从 https://www.tug.org/texlive/devsrc/Master/texmf-dist/tex/latex/babelbib/ 获取最新定义并放到 /usr/share/texmf-dist/tex/latex/babelbib/. 例如:

# cd /usr/share/texmf-dist/tex/latex/babelbib/ 
# wget https://www.tug.org/texlive/devsrc/Master/texmf-dist/tex/latex/babelbib/romanian.bdf
# wget [...all-other-language-files...]
# wget https://www.tug.org/texlive/devsrc/Master/texmf-dist/tex/latex/babelbib/babelbib.sty

运行 texhash 更新 TeX 数据库:

# texhash

更多信息

  • TeX Live FAQ - Frequently asked qustions about TeX,TeXLive,and how it is packaged on Arch Linux
  • LaTeX - Basic information on LaTeX
  • TeX Live and CJK - CJK (Chinese,Japanese,Korean) characters