1 安裝 texlive2013
1.1 下載 texlive2013
下載地址:http://ftp.ctex.org/mirrors/CTAN/systems/texlive/Images/texlive2013-20130530.iso
1.2 掛載 iso並安裝texlive2013
將下載的 texlive2013-20130530.iso 掛載到/mnt 目錄下並運行 install-tl進行安裝
1 sudo mount -t -iso9660 -o loop texlive2013-20130530.iso /mnt 2 cd /mnt/ 3 sudo ./install-tl
出現選項之后,輸入 I 直接安裝即可,幾分鍾即可安裝完畢。安裝完成之后,將 texlive2013-20130530.iso 卸載。
1 cd / 2 sudo umount /mnt/
1.3 修改環境變量
texlive 默認的安裝目錄是/usr/local/texlive/2013/bin/i386-linux/,為了讓 shell 能夠自動找到 tex 的 bin 文件,我們需要修改環境變量 PATH。
如果我們希望系統也能夠自動找到 texlive 的 man 或 info 文檔,我們一並修改環境變量 MANPATH 和 INFOPATH。打開 /.bashrc,在其中添加下面的內容。
PATH=/usr/local/texlive/2013/bin/i386-linux:$PATH; export PATH MANPATH=/usr/local/texlive/2013/texmf-dist/doc/man:$MANPATH; export MANPATH INFOPATH=/usr/local/texlive/2013/texmf-dist/doc/info:$INFOPATH; export INFOPATH
1.4 測試安裝是否成功
(1)首先確認我們安裝的 tex 版本
lienhua34:text$ tex --version TeX 3.1415926 (TeX Live 2013) kpathsea version 6.1.1 Copyright 2013 D.E. Knuth.
(2)編寫一個簡單的 tex 文件,然后編譯它
新建一個 test.tex 文件,然后輸入下面內容
1 \documentclass{article} 2 \begin{document} 3 Hello \LaTeX! 4 \end{document}
然后運行下面命令即可生成 test.pdf。
1 lienhua34:text$ xelatex test.tex
雙擊打開 test.pdf,看到如下內容
ok,texlive正常工作。
(3)測試 ctex 套裝
要 使 我 們 的 texlive 支 持 中 文, 我 們 使 用 ctex 套 裝。 關 於 ctex的 介 紹 見 http://www.ctex.org/HomePage。texlive 安 裝 包 默 認 攜帶 了 ctex 宏 包,ctex 宏 包 的 目 錄 為/usr/local/texlive/2013/texmf-dist/tex/latex/ctex。我們新建一個 ctex.tex 文件,輸入下面的內容
1 \documentclass{ctexart} 2 \begin{document} 3 您好,\LaTeX! 4 \end{document}
保存,然后運行下面命令
1 lienhua34:text$ xelatex ctex.tex
編譯失敗,xelatex 命令報如下錯誤
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! fontspec error: "font-not-found" ! ! The font "SimSun" cannot be found. ! ! See the fontspec documentation for further information. ! ! For immediate help type H <return>. !............................................... l.5 {SimSun} ?
這 是 因 為 ctex 宏 包 默 認 使 用 的 是 windows 系 統 的 字 體, 而 我 的ubuntu 下 沒 有 windows 系 統 的 字 體, 所 以 這 里 報 了 找 不 到 宋 體(SimSun)的錯誤。那么我們就需要進行字體配置,這是下一節要講的事。
現在可以確認我們的 texlive 已經安裝成功,只是還沒有支持中文字符而已。
2 配置 ctex 中文套裝
ctex 宏包提供了三個字體選項:nofonts、adobefonts 和 winfonts,默認使用的是 winfonts。如果在 tex 源文件中沒有使用其他選項修改字體配置,則需要操作系統中安裝有中文 Windows 操作系統自帶的四種 TrueType 字體:宋體(simsun)、黑體(simhei)、仿宋體(simfang)、楷體(simkai)。
如果使用 adobefonts 選項,則需要操作系統中安裝有 Adobe 公司的四款 OpenType 字體:Adobe 宋體、Adobe 黑體、Adobe 仿宋、Adobe 楷體。
此處我們打算使用 nofonts 選項,然后通過 CJK 中文方案將 ubuntu自帶的中文字體設置成中文的默認字體。
2.1 使用 nofonts 選項設置字體
我們先通過命令 fc-list :lang-zh 查看 ubuntu 系統自帶的中文字體
lienhua34:text$ fc-list :lang-zh | sort AR PL UKai CN:style=Book AR PL UKai HK:style=Book AR PL UKai TW MBE:style=Book AR PL UKai TW:style=Book AR PL UMing CN:style=Light AR PL UMing HK:style=Light AR PL UMing TW MBE:style=Light AR PL UMing TW:style=Light ... 文泉驛等寬微米黑,文泉驛等寬微米黑,WenQuanYi Micro Hei Mono:style=Regular 文泉驛等寬正黑,文泉驛等寬正黑,WenQuanYi Zen Hei Mono:style=Regular 文泉驛點陣正黑,文泉驛點陣正黑,WenQuanYi Zen Hei Sharp:style=Regular 文泉驛微米黑,文泉驛微米黑,WenQuanYi Micro Hei:style=Regular 文泉驛正黑,文泉驛正黑,WenQuanYi Zen Hei:style=Regular
我們打開之前的 ctex.tex 文件,然后輸入以下內容
1 \documentclass[nofonts]{ctexart} 2 \setCJKmainfont[ItalicFont={AR PL UKai CN}]{AR PL UMing CN} %設置中文默認字體 3 \setCJKsansfont{WenQuanYi Zen Hei} %設置文泉驛正黑字體作為中文無襯線字體 4 \setCJKmonofont{WenQuanYi Zen Hei Mono} %設置文泉驛等寬正黑字體作為中文打字機字體 5 \begin{document} 6 您好,\LaTeX! 7 \end{document}
保存,然后運行命令
1 lienhua34:text$ xelatex ctex.tex
編譯成功,輸出了 ctex.pdf 文件,我們雙擊打開 ctex.pdf 文件,看到如下內容
ok。我們的 texlive 已經能夠處理中文字符。但是。。。
2.2 自定義 mylinuxfonts.sty 宏包
通過 setCJKmainfont 等命令我們可以使用 texlive 處理中文字符了,但是要在每個中文文檔都寫這么一段命令,確實是個煩人的事情。我們可以通過將這段命令寫入到自定義的宏包文件 mylinuxfonts.sty 中,然后在文檔中以命令 \usepackage{mylinuxfonts} 使用這個自定義宏包即可。
1 % mylinuxfonts.sty 2 \ProvidesPackage{mylinuxfonts} 3 \setCJKmainfont[ItalicFont={AR PL UKai CN}]{AR PL UMing CN} %設置中文默認字體 4 \setCJKsansfont{WenQuanYi Zen Hei} %設置中文無襯線字體為文泉驛正黑 5 \setCJKmonofont{WenQuanYi Zen Hei Mono} %設置中文打字機(等寬)字體為文泉驛正黑 6 \endinput
然后修改 ctex.tex 的內容如下即可。
1 \documentclass[nofonts]{ctexart} 2 \usepackage{mylinuxfonts} 3 \begin{document} 4 您好,\LaTeX! 5 \end{document}
那么我們要將 mylinuxfonts.sty 放在什么地方,texlive 才能夠自動找得到呢?texlive 提供一個變量 TEXMFHOME(默認為~/texmf),給用 戶 存 放 自 己 獨 立 安 裝 的 宏 包、 字 體 等。 宏 包 文 件 需 要 放 置 到 目 錄TEXMFHOME/tex/latex 或 者 它 的 子 目 錄 下。 我 們 將 mylinuxfonts.sty放到目錄~/texmf/tex/latex 下,然后編譯 ctex.tex 文件。ok,成功!
當然,如果將 mylinuxfonts.sty 放到目錄~/texmf/tex/latex 下,只有當前用戶才能夠使用。如果我們希望這個宏包對於能夠登錄當前機器的所有用戶都可用,那怎么辦?texlive 另外提供了一個變量 TEXMFLOCAL(默認為 /usr/local/texlive/texmf-local),給系統管理員用來安裝供整個系統使用的額外的宏包或者字體。宏包文件需要放到目錄 TEXMFLOCAL/tex/latex 或者它的子目錄下。我們將 mylinuxfonts.sty 文件放到這個目錄下。
1 lienhua34:latex$ sudo cp mylinuxfonts.sty /usr/local/texlive/texmf-local/tex/latex/local
然后編譯 ctex.tex 文件,但提示找不到 “mylinuxfonts.sty” 文件,
這是因為 TEXMFLOCAL 目錄需要一個保持更新的文件名數據庫,否則新增的文件就無法找到。我們通過命令 mktexlsr 來更新它。
lienhua34:latex$ sudo mktexlsr mktexlsr: Updating /usr/local/texlive/2013/texmf-config/ls-R... mktexlsr: Updating /usr/local/texlive/2013/texmf-dist/ls-R... mktexlsr: Updating /usr/local/texlive/2013/../texmf-local/ls-R... mktexlsr: Updating /usr/local/texlive/2013/texmf-var/ls-R... mktexlsr: Done.
此時再編譯 ctex.tex。ok,沒有問題了。
2.3 優化配置
現在我們的 texlive 已經支持中文了,但我們還可以再優化一下我們的ctex 配置。
在我的 ubuntu 下沒有安裝 windows 系統的字體。而 ctex 默認是使用的字體配置選項是 winfonts,那么我們每個要使用 ctex 宏包的 tex 文檔中都要設置 nofonts 選項。
ctex 宏包提供了一個配置文件 ctexopts.cfg,該文件中的代碼會在 ctex宏包的開頭(選項定義后面)執行。我們可以使用此文件設置 ctex 宏包的默認選項。
1 lienhua34:text$ cd /usr/local/texlive/2013/texmf-dist/tex/latex/ctex/cfg 2 lienhua34:cfg$ sudo cp ctexopts.cfg.template ctexopts.cfg 3 lienhua34:cfg$ sudo vi ctexopts.cfg
然后輸入一下內容
1 % ctexopts.cfg: set default options 2 \ExecuteOptions{nofonts} 3 \endinput
保存,然后運行 mktexlsr 命令。ok,此時 ctex 宏包默認的字體選項便改為nofonts 了。
3 參考列表
http://www.tug.org/texlive/doc/texlive-zh-cn/texlive-zh-cn.pdf
http://code.google.com/p/ctex-kit/wiki/CTeXPackage
http://code.google.com/p/ctex-kit/wiki/UnixFonts
http://seisman.info/texlive-2013-under-linux.html