|
SimpleChineseTemplates
各种工具链下最简单的中文文档模板
v0.2, 2009-09-13 目的希望 google code 上的 ctex-kit 和 ctex-doc 成为 TeX 中文支持信息的权威集中点,为中文用户使用 TeX 排版中文文档提供最基本的模板,解决如下问题:
更细致的符合中文排版习惯的模板不在此页面考虑范围之内,请参考 cjk、xecjk、ctex 宏包的文档以及 Li Yanrui 的 ConTeXt 笔记。 使用的 TeX 发行版为 TeX Live 和 ConTeXt Minimals,因为这俩能在多个 OS 上使用,使用人数众多。 页面中的模板来自各种角落的收集:
LaTeX文档参考:
由于 xelatex 使用的是近来开发的 XeTeX 引擎,能容易的使用字体,所以推荐使用。下面前三种工具链使用的都是 pdftex 引擎加 CJK 宏包,只是得到 PDF 文件的方式不一样,各有一些细微的优缺点,参考 ctex-faq 第 32 个问题“在 CJK 中都可以使用哪些矢量字库?”。 模板文件:http://ctex-kit.googlecode.com/svn/trunk/templates/LaTeX ,在 Linux 下可以用 make TOOLCHAINS=xxx gbk utf8 来编译 gbk.tex 和 utf8.tex,TOOLCHAINS 可以是 xelatex、pdflatex、dvipdfmx、dvips 的一种或者组合,以逗号或者空格分隔。当使用后三者并且使用 winfonts 时,需要把 C:\WINDOWS\Fonts\ 目录下的 sim*.ttf、sim*.ttc 复制到TEXMFHOME/fonts/truetype/sim/ 目录下(没有此目录则新建之),TEXMFHOME 指 kpsexpand '$TEXMFHOME' 命令的输出。 测试环境如下,更详细的软件包信息见模板文件末尾的注释:
xelatex (推荐)编译方式: xelatex a.tex xelatex a.tex # 使用交叉引用信息,书签需要这个 编译结果:
此方式编译时 ctex 基于 xecjk 宏包,cjkfonts 等价于 adobefonts。 latex + dvipdfmx如果没有 GBK-EUC-UCS2 文件,则需要 gbk2uni,参见下一节 pdflatex。 Debian 上 cmap-adobe-gb1 和 poppler-data 中都有 GBK-EUC-UCS2,也可以从 Adobe Reader 简体中文版中获取,复制到 TEXMFHOME/fonts/cmap/dvipdfmx/ 目录下。 编译方式: latex a.tex latex a.tex # 使用交叉引用信息,书签需要这个 gbk2uni a.out # 如果是 GBK 编码,并且没有 GBK-EUC-UCS2 文件 latex a.tex # 如果是 GBK 编码,并且没有 GBK-EUC-UCS2 文件。使用正确编码的交叉引用信息。 dvipdfmx a.dvi 编译结果:
此方式编译时 ctex 基于 cjk 宏包,adobefonts 等价于 winfonts。 pdflatex需要 gbk2uni : ftp://ftp.cc.ac.cn/pub/cct/src/ ,下载 cct 源码包,取出其中的 gbk2uni.h 和 gbk2uni.c,编译: gcc -o gbk2uni gbk2uni.c mv gbk2uni `kpsexpand '$TEXMFMAIN'`/../bin/i386-linux/ 为了使 GBK 编码的文件被 pdflatex 编译后可以搜索中文,需要取出 cct 源码中 ccmap 目录,复制到 TEXMFHOME/tex/latex/ccmap/ 目录,然后执行: mkdir t.$$ && cd t.$$ && latex "\def\cmapEnc{GBK} \input{makecmap.tex}"
todir=`kpsexpand '$TEXMFMAIN'`/tex/latex/ccmap
mkdir -p $todir
mv *.cmap $todir
cd - && rm -rf t.$$编译方式: pdflatex a.tex pdflatex a.tex # 使用交叉引用信息,书签需要这个 gbk2uni a.out # 如果是 GBK 编码 pdflatex a.tex # 如果是 GBK 编码。使用正确编码的交叉引用信息。 !!! 注:由于 pdftex 对 simsun.ttc 支持有问题,导致 winfonts 下没能嵌入 truetype 字体,因此显示效果一般。 编译结果:
此方式编译时 ctex 基于 cjk 宏包,adobefonts 等价于 winfonts。 latex + dvips + ps2pdf (过时,不推荐,仅供参考)ps2pdf 需要安装 ghostscript,另外 Debian 上 texlive-extra-utils 包有 epstopdf, context 包有 pstopdf,但这两个程序在 TeXLive 2009 都没有。 dvips 方式不能嵌入 truetype 字体,生成的 pdf 里中文不能搜索,因此建议不要使用。 为了使书签不乱码,需要把模板中 hyperref 的 dvipdfmx 选项改成 ps2pdf,并使用 gbk2uni,见下面小节 pdflatex。 编译方式: latex a.tex latex a.tex # 使用交叉引用信息,书签需要这个 gbk2uni a.out # 如果是 GBK 编码 latex a.tex # 如果是 GBK 编码,使用正确编码的交叉引用信息 dvips a.dvi ps2pdf a.ps 编译结果:
此方式编译时 ctex 基于 cjk 宏包,adobefonts 等价于 winfonts。 后注:snoopyzhao@newsmth 指出 dvips 方式制作出的中文 PDF 也是可以正常搜索复制的,我实验了下,发现使用 Type 1 字体就可以,TeXLive 2009 默认只配备了文鼎几款覆盖 GB2312 字符集的 Type 1 中文字体,上面表格的结果是从 truetype 自动生成的 Type 3 字体,而如果用 Type 1 字体,GB 编码下字体信息、选择、复制、搜索都正常,显示效果也很好,例子如下,编译方式同上。
ConTeXt文档参考:
特别注意: ctex 论坛有人说 2008 年以前的 ConTeXt 文档大多不适用于 ConTeXt MkIV,阅读时需要小心。 由于 ConTeXt MkIV 使用近来开发的 LuaTeX 引擎,能容易的使用字体,所以推荐使用。 ConTeXt MkII 使用 pdftex 引擎排版。 MkIV (推荐)所有模板都是 UTF-8 编码,参照 way2ctx 安装好 ConTeXt Minimals 后,找到 Adobe 的四款字体(AdobeFangsongStd-Regular.otf AdobeHeitiStd-Regular.otf AdobeKaitiStd-Regular.otf AdobeSongStd-Light.otf) 放到某个目录下并设置 好 OSFONTDIR,编译方法见 way2ctx 文档。 所有模板都在 ConTeXt Minimals 2009-09-02 Linux 版编译通过。
!!! Sorry, I'm stupid, I have no idea which one is better... MkIITODO. |
Sign in to add a comment