TeX Live (简体中文)

From ArchWiki
(Redirected from TeXLive (简体中文))
Jump to: navigation, search
翻译状态: 本文是英文页面 TeXLive翻译,最后翻译时间:2016-08-05,点击这里可以查看翻译后英文页面的改动。

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-most

texlive-lang

注意: 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 汇总了可用的图形界面.

Merge-arrows-2.pngThis article or section is a candidate for merging with Wikibooks:LaTeX/Installation#Online_solutions.Merge-arrows-2.png

Notes: Inappropriate here (Discuss in Talk:TeX Live (简体中文)#LaTeX merge)

下面一些在线服务可以不用 TeX Live 就编辑 TeX 文档:

  • Authorea — Online collaborative editor for scientific, academic, and technical documents.
https://www.authorea.com/ ||
  • ShareLaTeX — An open source online LaTeX editor. You can either run your own local version where you can host, edit, collaborate in real-time, and compile your LaTeX documents, or simply use the version hosted on the official website.
https://www.sharelatex.com/ ||
  • Overleaf — (Previously writeLaTeX) Online collaborative LaTeX editor with integrated real-time preview.
https://www.overleaf.com/ ||
  • cloudTeX — Social TeX in the cloud.
https://cloud-tex.com/ ||
  • Papeeria — Online LaTeX editor.
http://papeeria.com/ ||

更多信息请查看 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

现在有一个Firmicus提供的用来方便在archlinux上管理TeXLive的新工具。 参见 AUR 中的 texlive-localmanager-gitAUR

Usage: tllocalmgr  
       tllocalmgr [options] [command] [args]

       Running tllocalmgr alone starts the TeXLive local manager shell 
       for Arch Linux。This shell is capable of command-line completion!
       There you can look at the available updates with the command 'status' 
       and you can install individual CTAN packages using 'install' or 'update'
       under $TEXMFLOCAL。This is done by creating a package texlive-local-<pkg>
       and installing it with pacman。Note that this won’t interfere with your 
       standard texlive installation,but files under $TEXMFLOCAL will take
       precedence。 
       
       Here are the commands available in the shell:

Commands:       
              status   --   Current status of TeXLive installation
           shortinfo * --   Print a one-liner description of CTAN packages
                info * --   Print info on CTAN packages
              update * --   Locally update CTAN packages
             install * --   Locally install new CTAN packages
          installdoc * --   Locally install documentation of CTAN packages
          installsrc * --   Locally install sources of CTAN packages
           listfiles * --   List all files in CTAN packages
              search * --   Search info on CTAN packages
         searchfiles * --   Search for files in CTAN packages
             texhash   --   Refresh the TeX file database
               clean   --   Clean local build tree
                help   --   Print helpful information
                quit   --   Quit tllocalmgr

        The commands followed by * take one of more package names as arguments.
        Note that these can be completed automatically by pressing TAB.

        You can also run tllocalmgr as a standard command-line program,with
        one of the above commands as argument,then the corresponding task will
        be performed and the program will exit (except when the command is 'status').

        tllocalmgr accepts the following options:

Options:     --help          Shows this help
             --version       Show the version number
             --forceupdate   Force updating the TeXLive database
             --skipupdate    Skip updating the TeXLive database
             --localsearch   Search only installed packages
             --location      #TODO?
             --mirror        CTAN mirror to use (default is mirror.ctan.org)
             --nocolor       #TODO

"langukenglish" 错误

当运行tllocalmgr 命令遇到以下问题,

Cannot get object for collection-langukenglish at /usr/bin/tllocalmgr line 103

参见 ary0在aur的解决方案: texlive-localmanagerAUR[broken link: archived in aur-mirror]。总之,编辑 /usr/share/texmf-var/arch/tlpkg/TeXLive/Arch.pm 并且将 "langukenglish" 从显示的部分移除:

my @core_colls =
qw/ basic context genericrecommended fontsrecommended langczechslovak
langdutch langfrench langgerman langitalian langpolish langportuguese
langspanish **langukenglish** latex latexrecommended luatex mathextra metapost
texinfo xetex /;

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