TeX Live (简体中文)

From ArchWiki
(Redirected from TeXLive (简体中文))
Jump to: navigation, search
翻译状态: 本文是英文页面 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 包.

使用

用下面方法验证安装:

$ 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来解决中文化问题。可以在.tex文件中这样:

   \documentclass{article}
   \usepackage{ctex}
   \begin{document}
   中文宏包测试
   \end{document}

或者这样:

   \documentclass{ctexart}
   \begin{document}
   中文宏包测试
   \end{document}

CTeX宏包现在已经在texlive2011中,确保安装需要的中文字体如楷体、宋体、仿宋、隶书、幼圆。因为仿宋和幼圆的字体名称在不同系统可能不同,开发者并没有设置默认字体。需要手动更改:

   /usr/share/texmf-dist/tex/latex/ctex/fontset/ctex-xecjk-winfonts.def
Note: 要参照系统中安装字体的名字来修改,特别注意楷体和仿宋

可以参考以下步骤:

1. 首先查看系统中已安装楷体的名称(注意Kai第一个字母大写):

   fc-list |grep Kai

这时假定你得到如下结果:

   楷体_GB2312,KaiTi_GB2312:style=Regular

记住KaiTi_GB2312这个名字

2. 然后用编辑器打开配置文件:

   sudo vim /usr/share/texmf-dist/tex/latex/ctex/fontset/ctex-xecjk-winfonts.def

3. 找到所有`[SIMKAI.TTF]`改成KaiTi_GB2312.(把中括号去掉)

仿宋按同样方法处理。

熟练的用户可以自己设置字体,更多用法请参照ctex文档。 也可以使用Xelatex,详情请参见文档。

TeXLive Local Manager

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

安装 .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