在Linux下安装TeX Live并把CTeX环境配置好

时间:2022-01-11 06:48:43

References:

  1. TeX Live Documentation(TeX Live的ISO里面有)
  2. CTeX Readme,zhmetrics Readme

之前曾经在Fedora 8上装过TeTex,不过对于CTeX的支持还需要自己安装,尝试了之后还是重新安装TeX Live比较好。下面主要介绍TeX Live 2010的安装以及把CTeX环境配置好的过程。

  1. 使用TeX Live的ISO,使用root的身份运行./install-st -gui=perltk,然后安装默认的配置就可以。默认的情况下CJK是被安装的,一定要确认这个包被安装上。
  2. 默认情况下,TeX Live会被安装在/usr/local/texlive下面。下面主要说下TeX的目录构成。
    1. TEXMFMAIN: 这里会是/usr/local/texlive/2010/texmf,主要存放主体程度的配置文件,脚本,文档等。
    2. TEXMFDIST: /usr/local/texlive/2010/texmf-dist,主要存放一些发行版额外附加的宏包,字体等。
    3. TEXMFLOCAL: /usr/local/texlive/texmf-local,主要存放用户自己添加的本地宏包以及字体等。
    4. TEXMFHOME: ~/.texlive2010/,是每个用户用来存在自己的一些自定义宏和配置文件的地方。
  3. 添加PATH环境变量,使得shell可以找到tex的bin。在~/.bashrc里面添加下面的语句(具体的路径根据自己的安装路径来更改):
      PATH=/usr/local/texlive/2010/bin/i386-linux:$PATH; export PATH
      MANPATH=/usr/local/texlive/2010/texmf/doc/man:$MANPATH; export MANPATH
      INFOPATH=/usr/local/texlive/2010/texmf/doc/info:$INFOPATH; export INFOPATH
  4. 编写CJK包测试文件cjk.tex,如下:
    /documentclass{article}
    /usepackage{CJK}
    /begin{CJK}{UTF8}{gbsn}
    /begin{document}

    /end{CJK}
    /end{document}
    编译上面的文件,用latex cjk.tex,然后用xdvi查看结果,如果正常,则说明CJK包已经被正确安装上。这个包是测试utf-8编码下的字体的安装成功与否。
  5. 编写CTeX测试文件ctex.tex,如下:
    /documentclass{ctexart}
    /begin{document}
    您好,hello
    /end{document}

    编译文件,用pdflatex ctex.tex,一般情况下,这里会报错,说找不到对应的simsun.ttc文件。这是因为zhmetrics.tex里面设定了gbksong对应的字体文件为simsun.ttc。不知道什么原因,虽然在zhmetrics里面说明已经支持ttc,但是在我的机器上仍然是不能识别,所以还是用了simsun.ttf。只要将zhmetrics.tex里面的所有simsun.ttc改成simsun.ttf,然后把simsun.ttf文件放在TEXMFLOCAL/fonts/truetype/里面,然后在用root的身份运行texhash就可以了。
    然后再跑一次pdflatex ctex.tex,就应该可以看到正常的输出pdf文件了。
  6. 最后说明一下,如果使用CTeX宏包的话,默认simsun.ttf并没有对应的点阵字体,而如果使用ps作为输出格式的话,必须要有点阵字体的存在,所以会出现错误。而如果用pdf格式的话(也就是用pdflatex编译),那么pdf是支持矢量格式的,也就是truetype,所以可以正常输出。

至此,CTeX的一个正常工作环境已经搭配好。所幸的是TeX Live里面已经将CTeX相关的依赖包都安装好。之前曾经尝试在一个没有CTeX的环境里面手动添加,最后因为字体的原因而失败。