TeX Live (简体中文)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
翻译状态:本文是 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 可以自动检测用户的操作系统并设置相应的中文字体,在 Archlinux 上默认使用 CTeX 提供的开源字体 Fandol。 有关如何使用其它字体以及更多的 CTeX 设置,请参考 CTeX宏集手册

TeXLive Local Manager

texlive-localmanager-gitAUR提供了一个在 archlinux 上管理 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