好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

xetex中文排版:zhspacing 用户参考手册.pdf

13页
  • 卖家[上传人]:xzh****18
  • 文档编号:43582798
  • 上传时间:2018-06-06
  • 文档格式:PDF
  • 文档大小:228.67KB
  • / 13 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • XƎTEX 中文排版:zhspacing 用户参考手册*Yin Dian†[著]Yang Cheng‡[译]2010/7/20目录目录Izhspacing.sty11简介简介12开始开始13高级用法高级用法33.1字体 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33.2更多关于字体 . . . . . . . . . . . . . . . . . . . . . . . . . . .43.3空白 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53.4中文竖排. . . . . . . . . . . . . . . . . . . . . . . . . . . . .63.5兼容性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73.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@I4获得获得 zhspacing8IIzhfont.sty81简介简介82包选项包选项83宏支持宏支持94例子例子9IIIzhmath.sty91简介简介102包选项包选项103宏支持宏支持104例子例子11II文件文件 Izhspacing.sty1简介简介XƎTEX 是由 Jonathan Kew 和 SIL International 编写的一个新的 TEX 引擎,该引擎可以支持普通的 Unicode 和高级字体的 ε-TEX1使用 XƎTEX 可以很方便的排版任何语言的所有使用中的字符,并且不需要任何其他的 包,如 CJK2然而,XƎTEX 自身并不能很好的解决所有的这些问题其 中中文排版的一些细节问题在 XƎTEX 中并没有被处理,如在中文和西文 字符间自动选择字体,忽略全角符号调整,自动忽略在中西文或数学公式 中插入的空格,等等。

      为了使 XƎTEX 能够实现简单和高质量的中文文档 的排版,宏包zhspacing 被编写出来,它利用了 XƎTEX 0.997 版本提供的原 语\XeTeXinterchartoks 2开始开始zhspacing 能够在 plain XƎTEX 或 XƎLaTEX 中使用,使用方法也相当简 单例如,在 plain XƎTEX 中,\input zhspacing.sty \zhspacing 这是中文测 试中文和English的混排中 文和$E=mc^2$的混排 \bye在 XƎLaTEX 中,\documentclass{article} \usepackage{zhspacing} \zhspacing1这是从 ConTeXt Wiki 拷贝的2CJK 是一个 LaTEX2ε的一个宏包,它使得 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 能够解决上述问题,也就是有适当的禁则 这里有个例子他强调, “三个代表“重要思想是在新的历史条件 下运用马克思主义的立场、观点和方法的典范, 是我们学习马克思主义的立场、观点和方法最现 实、最生动的教材。

      “三个代表“重要思想是与时 俱进的理论23高级用法高级用法3.1字体字体zhspacing 使用一种可拓展的方式来选择字体规则总结如下,• 西文字体,如对于既不是表意文字和标点的 CJKV,默认使用的是相 同的字体• 中文字体使用独立的字体文档中字体的改变并不会影响到已使用的 字体去显示中文,除非你使用 NFSS 并且改变了字体系列或形状• 在显示基本的中文表意文字时,执行命令\zhfont • 在显示中文标点时,执行命令\zhpunctfont • 在显示 CJK Ext-A 字符时,执行命令\zhcjkextafont • 在显示 CJK Ext-B 字符时,执行命令\zhcjkextbfont • 当从非中文字符转换到中文字符时,执行\zhs@savefont 当转换回 来,执行\zhs@restrorefont 当从 plain XƎTEX 中导入 zhspacing,上述命令是默认定义的,\font\zhfont=“SimSun“ at 10pt \font\zhpunctfont=“SimSun“ at 10pt \def\zhcjkextafont{\message{CJK Ext-A}} \def\zhcjkextbfont{\message{CJK Ext-B}} \let\zhs@savefont=\begingroup \let\zhs@restorefont=\endgroup当从 XƎLaTEX 中导入时,默认定义如下,\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这里\zhs@savef@ont 和\zhs@restoref@nt 是内置的宏,用于保存和 恢复当前字体的 NFSS 信息到指定的位置。

      考虑到不是每个用户都安装 特殊字体,CJK Ext-A/B 字体默认情况下并没有定义我建议使用Sun- ExtA和Sun-ExtB作为相应的字体你可以用定义\zhfont 的相似的方式自 己去定义额外的字体宏一个多种不同类的字符的混合排版的例子如下, 引自The Tale of Kiều3￿￿￿￿￿些 Trăm năm, trong cõi người ta, ￿才￿ 命￿罗恄￿ Chữ tài, chữ mệnh, khéo là ghét nhau. ￿戈￿局￿橷 Trải qua một cuộc bể dâu, 仍條￿￿ ￿￿疸￿ Những điều trông thấy mà đau đớn lòng.43.2更多关于字体更多关于字体有时,在 LaTEX 中对于不同的 NFSS 字体家族需要用不同的中文字体 来描述这个可以通过改变\zhs@savefont 和\zhfont 的定义来实现,并不 需要修改 zhspacing 源文件这是一种方式5\makeatletter \g@addto@macro\zhs@savefont{% \long\edef\zhs@tmpmacro{\f@family}% \def\zhs@curr@fam{0}% \ifx\zhs@tmpmacro\sfdefault \def\zhs@curr@fam{1}% \else\ifx\zhs@tmpmacro\ttdefault \def\zhs@curr@fam{2}% \fi\fi \edef\zhs@tmpmacro{\f@family}% \ifx\zhs@tmpmacro\sfdefault \def\zhs@curr@fam{1}% \else\ifx\zhs@tmpmacro\ttdefault \def\zhs@curr@fam{2}% \fi\fi }3《金云翘传》 ,或Truyện Kiều,大部分用 CJK Ext-A/B 编码,甚至不包含 Unicode 编 码。

      4由于字符集的缺失,一些表意文字被相似的字符替换原手册的图片可见this link.5一种更加方便的方式请参看后面的 zhfont.sty4\newfontfamily\zhrmfont[BoldFont=SimHei, ItalicFont=KaiTi_GB2312]{SimSun} \newfontfamily\zhsffont{SimHei} \newfontfamily\zhttfont[BoldFont=SimHei] {KaiTi_GB2312} \def\zhfont{\ifcase\zhs@curr@fam\zhrmfont]or \zhsffint]or \zhttfont\else\zhrmfont\fi}3.3空白空白zhspacing 中的空白机制是灵活的zhspacing 利用下面的空白命令注 意它们被定义成宏而不是空白指令的值,为了使空白可以根据不同的字体大 小改变\skipzh 在紧邻的中文字符间空白\skipenzh 在中西文字符间或公式间空白\skipzhopen 在开始的全角符号前的空白,如“ “”,“ ( ”,“ 《 ”,等\skipzhinteropen 当优于另一个全角符号的全角符号前的空白\skipzhlinestartopen 当全角符号在一行的开头时的空白\skipzhclose 在闭合的全角符号后的空白,如“””,“) ”,“》 ”等\skipzhinterclose 当跟在另一个全角符号后的全角符号后的空白\skipzhlineendclose 当全角符号在行尾使得空白\skipzhfullstop 在全停的符号后的空白,如“;”,“. ”,“。

      ”,等\skipzhinterfullstop 当跟在另一个全角符号后的全停符号后的空白\skipzhlineendfullstop 当全停符号出现在行尾时的空白\skipzhhalfstop 在半角符号后的空白,如“、 ”,“,”,“:”,等\skipzhinterhalfstop 当跟在另一个等宽的符号后的等宽半角符号后的 空白5\skipzhlineendhalfstop 出现在行尾的等宽的半角符号后的空白\skipnegzhlinestartopen 为\skipzhlinestartopen 相反的空白\skipnegzhlineendc。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.