TeX Live (简体中文)
TeX Live是"安装和运行TeX文档制作系统的简单方式。它提供了一个全面的Tex系统,提供的二进制文件适用于大多数Unix风格操作系统(包括GNU/Linux)的二进制文件,当然也有Windows。它包含了全部主要的Tex相关的属于自由软件的程序,宏包,字体,还有对世界上很多语种的支持。"
Tex Live是LaTeX, ConTeXt和其他友商最流行的发行版本之一。
查看Category:TeX (简体中文)以获得更多信息。
安装
Tex Live 主要在官方仓库的两个软件组中:
- texlive-most 包括Tex Live应用
- texlive-lang 提供个性化的设置和非英语特性
必要的软件包texlive-core 包含了基本的 texmf-dist 目录树(宏包和字体),texlive-core 包含二进制文件,库文件,和 texmf 目录树。texlive-core 基于上游发行版的"medium"安装方案。所有其它的包基于TeX Live同名的包。想确定每个包重包含了哪些CTAN包,查看这些文件:
/var/lib/texmf-var/arch/installedpkgs/<package>_<revnr>.pkgs
手动安装TeXLive
参见LaTeX Wikibook 和 TeX 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 获取更多的指导。
- 包含文档和源码已经从仓库中移除。可以通过 tllocalmgr 手动编译或在 https://tug.org/texlive/Contents/live/doc.html 或者在 CTAN 上在线查阅。
- TeX Live (上游) 现在提供了一个升级CTAN中包的工具。在此基础上,我们也计划定期升级我们的包(我们已经写了几乎自动完成这个任务的工具)。
- 有些包含在TeX Live中的工具和实用程序依赖 ghostscript,perl,python2 和 ruby。
- 寻求有关TeX Live的支持参见:https://tug.org/texlive/doc.html and https://tug.org/texlive/doc/texlive-en/texlive-en.html
- 系统级的配置文件在
/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
中文化
推荐使用 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