分类: BSD
2009-06-02 15:31:46
在使用latex进行中文排版时,难免遇到生僻字。如果处理不好,则会降低排版者的成就感、加重挫折感,阅读者也会心生不爽,暗怨排版者偷懒。排版 装帧精良、品相完好的电子书是每个LaTeX爱好者的追求,而生僻字的处理这一细节也不容小觑。这里我分享一下自己在对付生僻字方面的一些心得,抛出这块 板砖,但愿能引出玉石。希望高手不吝赐教,晒出各自的实践经验,以便大家共同提高。
最直接,同时也是最有效的处理方法,莫过于安装大字库。这里的大字库包括两方面,简单来说就是,源文件的字库和PDF的字库。
源文件的字库是为了让排版者看清楚所要处理的内容是什么。生僻字在tex文件中一抹黑全是乱码,在生成的PDF中却是可读汉字,这样的事情 不是不可能。这说明源文件所依赖的计算机环境中,字体信息不全。而PDF所使用的字体却可以与计算机环境字体相对独立,因此出现上面所说的怪事。
我安装了GB18030 Support Package的SimSun18030.ttc以及方正超大字符集。这样一来,在计算机中,只要选中了编码和字体,就不存在无法显示的小方框了。
但是,即使能在计算机中正常显示,也未必能在生成的PDF中正常显示。这是因为,latex系统依赖额外的字型描述信息,才能画出正确的汉字。
由于latex的两种字体中,GBK家族字体丰富,字型饱满,虽然支持的汉字有限,但是仍然是主流选择。而utf8家族里,尤其Unicode超大字符集字体,虽然支持更多的汉字,但是由于字体选择少,字型不丰满,较少人选择。
推荐文章:
方法要领:使用其它工具画出汉字,保存成图片格式,以便调用。高手可以使用EPS图,中手们使用jpg或png就可以了。
假设要生成左”扌”右”中”这个字,(表示我们要将生僻字握在手中),其字体代码为AA220。
环境:windowsxp+方正超大字符集+office2003+Photoshop CS9.0+CTEX
注意,需要加入\usepackage{graphicx}才能正确编译。
点击插入,就会在word中出现该字。如图:
选择并复制该字备用。
点击”好”按钮。由于72X72较小,需调整显示比例到看着顺眼的比例。
然后选择”横排文字工具”,点击图像的左中部,显示出跳跃的光标。此时选择”simsun funder extended”字体,字号选72点,其余默认。
左手\lower0.15ex\hbox{\includegraphics[width=.85em]{22aa0ps.jpg}}右中
众所周知,汉字是由笔画、偏旁部首等零部件攒成的。找到正确的零部件,再以适当的方式组合在一起,就可以定制特殊的汉字。此方案为上两种方案的补充。仍以左手右中这个生僻字为例。
注意,需要加入\usepackage{graphicx}才能正确编译。
LaTeX语句:\hbox{\scalebox{0.7}[1]{扌}\kern-.3em\scalebox{0.6}[1]{中}}
语法要点:
整句话的意思是,插入一个水平盒子,里面先排版一个”扌”字符,它的宽度缩小到70%,高度不变。之后再排版一个”中”字符,其宽度为60%,高度为普通高度,再将这个”中”向左平移0.3em个单位。
为什么”扌”的宽度为60%呢?这是因为,它的右侧是空白的,占了一部分空间,如果分配的宽度太小,会使提手旁太难看。另外,由于0.6+0.7==1.3,所以需要使之重合0.3,才能使之正好占100%的一个字的空间,no more, no less。
我们看一下对比效果:
可以看出仓颉版的更自然一些。再来补充几句。
左右结构的汉字要求”左收右放“,即,左边的字要瘦些,右边的字要肥些,搭配才好看。请看图中的“黑猫”两字的比例。
对应语句为{特立独行的小\hbox\scalebox{0.4}[1]{黑}\kern-.05em\scalebox{0.55}[1]{猫}}真好看
左边为0.4,右边为0.55,缩进了0.05。如果不信可以看看”林”字,左边的”木”是不是比右边的”木”要瘦小,而且一捺也缩成了点。这种情况,如果没有合适的偏旁,用两个”木”生造出来的”林”字会很难看的。
反转、倒立、上下结构的也可以制作,例如:
对应语句为:
\hbox{\scalebox{-1}
[1]{特}\lower-1.6ex\hbox{\scalebox{1}[-1]{立}}}独行的\hbox{\scalebox{0.5}
[0.5]{小}\lower-1.0ex\hbox{\scalebox{1}[0.4]{黑}}\lower.1ex\hbox{\kern-1em
\scalebox{1}[0.5]{猫}}}真好看
好了,如果您受累读了这篇文章,欢迎进行这样的思考,权作作业: