Jerry's Study分享 http://blog.sciencenet.cn/u/jerry916 It matters if you just don't give up.

博文

TeX Live 2009笔记(1)——入门介绍

已有 8522 次阅读 2010-4-24 11:08 |个人分类:Paper|系统分类:科研笔记|关键词:学者| 笔记, TeXlive

TeX Live 2009 [1] 是对中文支持有较大改进的一个版本,这里简单介绍一下。

首先,一如 2007, 2008 版本,TeX Live 2009 有中文版本的安装使用指南 [2],强烈建议在提问前把相关章节好好看看,这份指南主要叙述的是和中文无关的一些通用的问题。

然后 TeX Live 2009 的中文支持主要分为两部分,基于 XeTeX 的,和基于传统 CJK 宏包的。(我这里只讨论 LaTeX 的,如果你希望尝试 ConTeXt 和 luatex,可以参考 Li Yanrui 的 blog [3],他有很详细的介绍。)

基于 XeTeX 的方案
-----------------

这是我们推荐的方案,又可分为高层与低层两种,分别适用于不同需求的用户。

首先,安装所需的宏包:

sudo tlmgr install xecjk ctex

高层的方案是使用 ctex 宏包自带的文档类,例如原来用 article 文档类的就改用 ctexart 文档类,原来用 book 文档类的就改用 ctexbook 文档类,这样绝大部分你会遇到的中文问题,比如字体设置、hyperref 的调用、章节标题的设置等等,都自动为你解决了。详情可以看 ctex 宏包的文档 [4]。下面是一个小例子:

documentclass{ctexart}
begin{document}
你好,TeX Live 2009!
end{document}

默认情况 (winfonts) 下,你需要宋体 (SimSun)、仿宋 (simfang)、黑体 (simhei)、楷体 (simkai)、隶书 (LiSu)、幼圆 (YouYuan) 这六套 Windows 字体,如果你的字体不全,可以编辑 ctex-xecjk-winfonts.def 文件 (用 kpsewhich 来找) 来修改设置,也可以选择 Adobe Reader 等软件所带的 Adobe Song Std, Adobe Heiti Std, Adobe Kaiti Std, Adobe Fangsong Std 四款字体,这时需要给 ctexart 加上 [adobefonts] 选项。又或者,你可以不用这些预置的字体,使用 [nofonts] 选项,然后参考 ctex-xecjk-winfonts.def 文件,自己定义对应各个 CJK 字体族的字体。

低层的方案则是用原来你自己的宏包,结合 xeCJK 宏包来配置字体,下面是一个小例子:

documentclass{article}
usepackage{xeCJK}
setCJKmainfont{SimSun}
begin{document}
你好,TeX Live 2009!
end{document}

当然,你得有 SimSun 这个字体。

不管选用高层的还是低层的,都可以直接用 xelatex 命令直接编译你的文档。

传统 CJK 方案
-------------

传统 CJK 方案主要是为了方便使用以前的文档存在的。也分为两种,高层方案也是使用 ctex 宏包,低层方案和原来的文档一样,直接用 CJK 宏包。

使用 ctex 宏包的例子和前面用 ctexart 的那个完全一样:

documentclass{ctexart}
begin{document}
你好,TeX Live 2009!
end{document}

不过需要注意的是,你还得安装 zhmetrics 宏包。另外,如果文档保存的编码是 GBK,必须添加 [GBK] 选项,否则用 UTF-8 编码的也建议用 [UTF8] 选项。

可以看出,用高层方案最大的好处是文档代码可以最大限度地不修改就能换用不同的 TeX 引擎。

低层方案与原来的做法的区别是,需要载入 zhwinfonts,使用 zhwinfonts 定义的字体,而不是原来自己去生成字体的映射文件,这样要简便很多:

documentclass{article}
usepackage{CJK}
input zhwinfonts
begin{document}
begin{CJK}{GBK}{zhsong}
你好,TeX Live 2009!
end{CJK}
end{document}

注意,这里用了 zhsong 这个字体族而不是 song,为了避免和 CJK 宏包原来定义的冲突,我们定义的所有字体族都带 zh 前缀。

对于上述这两种情况,你都可以使用 latex 编译,用 dvipdfmx 生成 pdf。

除 了上述的 zhmetrics, ctex, xeCJK 宏包以外,我们还在 CTAN/TeX Live 中提交了 zhspacing, CJKpunct, zh-luatex 等宏包,ctex-faq, lshort 中文翻译等文档,以上工作都需要感谢参与维护 ctex-kit [5] 的全体开发者,为 ctex-doc [6] 贡献内容的全体作者,也欢迎你参加到我们的工作中来,帮助进一步改进 TeX 的中文支持。

[1] http://www.tug.org/texlive
[2] http://www.tug.org/texlive/doc/texlive-zh-cn/texlive-zh-cn.pdf
[3] http://liyanrui.is-programmer.com/
[4] http://tug.ctan.org/tex-archive/language/chinese/ctex/doc/ctex.pdf
[5] http://code.google.com/p/ctex-kit
[6] http://code.google.com/p/ctex-doc


TEX 的扩展版本
原始的Knuth TEX 本身的开发已经冻结了,仅仅修改除去发现的极其少量的错误。它在TEX Live 中仍然作为tex 程序出现,在可见的未来也仍然如此。TEX Live 包括了一些建立在TEX 基础上的扩展程序:
1、e-TEX 为TEX 增加了一套新的原语(primitive)。(包括宏展开,字符扫描,mark 的分类,额外的调试功能,等等) 以及用于双向排版的TEX--XET 扩展模式。在默认模式下, e-TEX 是与原始的TEX 100% 兼容的。参见texmf-dist/doc/etex/base/etex_man.pdf。
2、pdfTEX 在e-TEX 扩展的基础上构建,在DVI 输出之外增加对PDF 输出的支持,以及许多其他的扩展。这是针对etex, latex 或pdflatex 这些格式使用的缺省程序。可以在texmf/doc/pdftex/manual/samplepdf/samplepdf.tex 找到展示部分功能的例子。
3、LuaTEX 是pdfTEX 指定的后继者,而且对pdfTEX 保持大部分(但不是完全地) 向下兼容。它也希望包含Aleph (见后) 的功能,尽管在技术上未必与它兼容。它内置的Lua 语言解释器(http://www.lua.org) 为许多棘手的TEX 问题提供了优雅的解决方案。当以texlua 命令执行时,它就像一个标准的Lua 解释器一样工作,所以,LuaTEX 在TEX Live 中也被作为Lua 程序的解释器。见http://www.luatex.org 和texmf-dist/doc/luatex/luatexref-t.pdf。
4、XeTEX 通过第三方库,增加对Unicode 输入文本和OpenType 字体的支持,能够直接使用系统字体。参见http://tug.org/xetex。
5、Ω (Omega) 基于Unicode (16 位字符集),因而同时支持处理世界上几乎所有的语言。它同时还支持所谓的‘Ω Translation Processes’ (OTP), 用于对任意输入进行复杂的变换操作。Omega 现在已经不作为单独的程序出现在TEX Live 中了;改为只支持Aleph
6、Aleph 将Ω 与e-TEX 扩展合并到一起得到的。在texmf-dist/doc/aleph/base 可以找到一些简短的文档。

TEX Live 中其他的一些常用程序:
1、bibtex 参考文献支持。
2、makeindex, xindy 索引支持。
3、dvips 将DVI 转换为PostScript。
4、xdvi X Window System 下的DVI 阅读器。
5、dvilj HP LaserJet 系列打印机的DVI 驱动。
6、dviconcat, dviselect 从DVI 文件中复制和粘贴页面。
7、dvipdfmx 将DVI 转换为PDF,是(前面提到过的) pdfTEX 的一套替换方案。参见ps4pdf 和pdftricks软件包以了解其他的方案。
8、psselect, psnup, . . . PostScript 实用程序。
9、texexec, texmfstart ConTEXt 和PDF 处理工具。
10、tex4ht TEX 到HTML (还有XML 等其他格式) 的转换器。

https://m.sciencenet.cn/blog-437437-315545.html

上一篇:IEEE Conferences Paper on Wireless Communication
下一篇:Cygwin脚本修改

0

发表评论 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-7 09:48

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部