XƎT E X中文排版:zhspacing用户参考手册* Yin Dian†[著]Yang Cheng‡[译]
2010/7/20
目录
I zhspacing.sty1
1简介1
2开始1
3高级用法3
3.1字体 (3)
3.2更多关于字体 (4)
3.3空白 (5)
3.4中文竖排 (6)
3.5兼容性 (7)
3.6与ctex包同时使用 (7)
*参考官方文档翻译(版本2007/12/11),如有不妥,请以官方文献为准。
†Lab.of Network Comm.System&Control,Univ.of Sci.&Tech.of China.中国科学技术大学。
‡Mathematics&Applied Math,Univ.of Sci.&Tech.of Beijing.北京科技大学。E-mail: ustbyangcheng@gmail。
I
4获得zhspacing8 II zhfont.sty8
1简介8
2包选项8
3宏支持9
4例子9 III zhmath.sty9
1简介10
2包选项10
3宏支持10
4例子11
II
文件I
zhspacing.sty
1简介
XƎT E X是由Jonathan Kew和SIL International编写的一个新的T E X 引擎,该引擎可以支持普通的Uni
code和高级字体的ε-T E X1。使用XƎT E X 可以很方便的排版任何语言的所有使用中的字符,并且不需要任何其他的包,如CJK2。然而,XƎT E X自身并不能很好的解决所有的这些问题。其中中文排版的一些细节问题在XƎT E X中并没有被处理,如在中文和西文字符间自动选择字体,忽略全角符号调整,自动忽略在中西文或数学公式中插入的空格,等等。为了使XƎT E X能够实现简单和高质量的中文文档的排版,宏包zhspacing被编写出来,它利用了XƎT E X0.997版本提供的原语\XeTeXinterchartoks。
2开始
zhspacing能够在plain XƎT E X或XƎL a T E X中使用,使用方法也相当简单。例如,在plain XƎT E X中,
\input zhspacing.sty
\zhspacing
这是中文测试。中文和English的混排。中
文和$E=mc^2$的混排。
\bye
在XƎL a T E X中,
\documentclass{article}
\usepackage{zhspacing}php手册官方中文版
\zhspacing
1这是从ConTeXt Wiki拷贝的。
2CJK是一个L a T E X2ε的一个宏包,它使得CJK脚本(Chinese/Japanese/Korean)具有多种编码,由Werner Lemberg编写。
1
\begin{document}
这是中文测试。中文和English的混排。中
文和$E=mc^2$的混排。
\end{document}
上面这两个例子产生如下相同的结果:
这是中文测试。中文和English的混排。中文和E=mc2的混排。
正如你所看到的,中文后的空格总是被忽略。此外,一个值得关注的空白在中西文中同样在数学公式中被插入。实际上,下面所有的输入可以产生混合语言的输出,在中西文之间的空白会自动被插入,
中Eng文,中Eng文,中Eng文and中Eng文.
它们相应的输出是,
中Eng文,中Eng文,中Eng文and中Eng文.
仔细观察,你将发现,第一个输入和第二个恰好有相同的输出,第三、四个也是一样。然而,最后两个例子在Eng和文之间的空白比中和Eng要宽一些。这是因为空格是由字母g后的空格记号生成的,并不是由zhspacing 的机制自动插入的。zhspacing自动插入使得空格被忽略和跳过的功能使得写文档更加舒适。你不需要担心手工插入空白字符,例如在CJK中加入烦人的~。现在回到标点符号空白调整的主题。正式的中文排版需要连续的全角标点被压缩,并且在全角符号前后的删除线将切断该符号的空格,使得它对齐到页边的空白处。zhspacing能够解决上述问题,也就是有适当的禁则。这里有个例子。
他强调,“三个代表“重要思想是在新的历史条件
下运用马克思主义的立场、观点和方法的典范,
是我们学习马克思主义的立场、观点和方法最现
实、最生动的教材。“三个代表“重要思想是与时
俱进的理论。
2
3高级用法
3.1字体
zhspacing使用一种可拓展的方式来选择字体。规则总结如下,
•西文字体,如对于既不是表意文字和标点的CJKV,默认使用的是相同的字体。
•中文字体使用独立的字体。文档中字体的改变并不会影响到已使用的字体去显示中文,除非你使用NFSS并且改变了字体系列或形状。
•在显示基本的中文表意文字时,执行命令\zhfont。
•在显示中文标点时,执行命令\zhpunctfont。
•在显示CJK Ext-A字符时,执行命令\zhcjkextafont。
•在显示CJK Ext-B字符时,执行命令\zhcjkextbfont。
•当从非中文字符转换到中文字符时,执行\zhs@savefont。当转换回来,执行\zhs@restrorefont。
当从plain XƎT E X中导入zhspacing,上述命令是默认定义的,
\font\zhfont="SimSun"at10pt
\font\zhpunctfont="SimSun"at10pt
\def\zhcjkextafont{\message{CJK Ext-A}}
\def\zhcjkextbfont{\message{CJK Ext-B}}
\let\zhs@savefont=\begingroup
\let\zhs@restorefont=\endgroup
当从XƎL a T E X中导入时,默认定义如下,
\newfontfamily\zhfont[BoldFont=SimHei]{SimSun}
\newfontfamily\zhpunctfont{SimSun}
\def\zhcjkextafont{\message{CJK Ext-A}}
\def\zhcjkextbfont{\message{CJK Ext-B}}
\def\zhs@savefont{\zhs@savef@nt{old}}
\def\zhs@restorefont{\zhs@restoref@nt{old}}
3

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。