Debian上的中文TeX
时间:2004-09-22
来源:互联网
Debian上的中文TeX
虽然现在Linux上的Office软件已经逐渐成熟,但其中文处理方面的能力以及易用性仍然有待提高。TeX作为传统的文字排版与印刷工具,其存在已经有很多年头,在中文处理方面,也已经有相对完善的解决方案。
Debian在对TeX及其中文支持这一方面,做的非常好。安装好latex、cjk-latex以及arphic的四个中文字体包之后,就可以直接使用TeX了,并且可以处理中文文件。
但如果我们希望能够自己安装一些字库,并在TeX文档中使用它们,我们就需要自己修改一些配置文件了。以下,我以添加GBK码的宋体字库simsun.ttf为例,介绍如何添加自己的字库。
安装中文字体包
为了能够在LaTeX中使用自己的中文字体,就需要安装在...中制作的tfm-*.deb文件,这些文件是LaTeX需要的。
修改CJK LaTeX的字体配置文件
在目录/usr/share/texmf/tex/latex/CJK/GB中,有关于简体中文字的配置文件。其中,以c10开头的文件描述的字体对应GB2312码,而以c19开头的文件描述的字体对应GBK码。创建一个c19song.fd文件,并加入如下内容:
\def\fileversion{4.2.0}
\def\filedate{1998/12/13}
\ProvidesFile{c19song.fd}[\filedate\space\fileversion]
\DeclareFontFamily{C19}{song}{}
\DeclareFontShape{C19}{song}{m}{n}{<-> CJK * simsun}{}
\DeclareFontShape{C19}{song}{m}{sl}{<-> CJK * simsuns}{}
\DeclareFontShape{C19}{song}{m}{it}{<-> CJKssub * song/m/sl}{}
\DeclareFontShape{C19}{song}{bx}{n}{<-> CJKb * simsun}{\CJKbold}
\DeclareFontShape{C19}{song}{bx}{sl}{<-> CJKb * simsuns}{\CJKbold}
\DeclareFontShape{C19}{song}{bx}{it}{<-> CJKssub * song/bx/sl}{\CJKbold}
\endinput
文件中的song为在文档中使用的字体名,而simsun为实际的字体文件的名称。
使dvips和dvipdfm支持新字体
当使用CJK处理中文时,dvips即可以使用TTF格式的字库,也可以使用Type1的。在这里,我们使用的是TTF格式的。因此,我们需要修改一个文件/usr/share/texmf/ttf2pk/ttfonts.map,这个文件描述了哪些字体是TTF字体,好在从dvi生成ps文件时通过mktexpk进行处理。修改这个文件,在其末尾加入:
simsun@UGBK@ simsun.ttf
simsuns@UGBK@ simsun.ttf Slant=0.167
simsunr@UGBK@ simsun.ttf Rotate=Yes
simsunrs@UGBK@ simsun.ttf Rotate=Yes Slant=0.167
现在,dvips和dvipdfm就都可以工作了。但用dvipdfm生成的PDF文件并不好看,为了能够生成更好一点的中文PDF文件,可以用pdflatex。
pdflatex
用pdflatex,可以从tex文件直接生成pdf文件。为了能够使pdflatex正常工作,我们需要创建一个map文件。其格式为:
simsun01 <simsun01.enc <simsun.ttf
simsun02 <simsun02.enc <simsun.ttf
...
simsun94 <simsun94.enc <simsun.ttf
simsuns01 <simsun01.enc <simsun.ttf
simsuns02 <simsun02.enc <simsun.ttf
...
simsuns94 <simsun94.enc <simsun.ttf
我们可以随便写一个小程序,生成这个map文件,并将其复制到/etc/texmf/dvips目录中,并命名为myfonts.map。接着,修改/etc/texmf/pdftex/pdftex.cfg文件,在其末尾加入一行:
+map myfonts.map
接着,执行命令updmap,完毕之后就可以用pdflatex就可以直接生成PDF文件了。用这种方式生成的PDF文件更加美观,且其中的文字都可以被选中和复制。
为了检验前面的成果,可以写一个小文件试试了。
$Date: 2004/01/08 09:02:14 $ Home Feedback
Copyright © 2003-2004 李凌.
虽然现在Linux上的Office软件已经逐渐成熟,但其中文处理方面的能力以及易用性仍然有待提高。TeX作为传统的文字排版与印刷工具,其存在已经有很多年头,在中文处理方面,也已经有相对完善的解决方案。
Debian在对TeX及其中文支持这一方面,做的非常好。安装好latex、cjk-latex以及arphic的四个中文字体包之后,就可以直接使用TeX了,并且可以处理中文文件。
但如果我们希望能够自己安装一些字库,并在TeX文档中使用它们,我们就需要自己修改一些配置文件了。以下,我以添加GBK码的宋体字库simsun.ttf为例,介绍如何添加自己的字库。
安装中文字体包
为了能够在LaTeX中使用自己的中文字体,就需要安装在...中制作的tfm-*.deb文件,这些文件是LaTeX需要的。
修改CJK LaTeX的字体配置文件
在目录/usr/share/texmf/tex/latex/CJK/GB中,有关于简体中文字的配置文件。其中,以c10开头的文件描述的字体对应GB2312码,而以c19开头的文件描述的字体对应GBK码。创建一个c19song.fd文件,并加入如下内容:
\def\fileversion{4.2.0}
\def\filedate{1998/12/13}
\ProvidesFile{c19song.fd}[\filedate\space\fileversion]
\DeclareFontFamily{C19}{song}{}
\DeclareFontShape{C19}{song}{m}{n}{<-> CJK * simsun}{}
\DeclareFontShape{C19}{song}{m}{sl}{<-> CJK * simsuns}{}
\DeclareFontShape{C19}{song}{m}{it}{<-> CJKssub * song/m/sl}{}
\DeclareFontShape{C19}{song}{bx}{n}{<-> CJKb * simsun}{\CJKbold}
\DeclareFontShape{C19}{song}{bx}{sl}{<-> CJKb * simsuns}{\CJKbold}
\DeclareFontShape{C19}{song}{bx}{it}{<-> CJKssub * song/bx/sl}{\CJKbold}
\endinput
文件中的song为在文档中使用的字体名,而simsun为实际的字体文件的名称。
使dvips和dvipdfm支持新字体
当使用CJK处理中文时,dvips即可以使用TTF格式的字库,也可以使用Type1的。在这里,我们使用的是TTF格式的。因此,我们需要修改一个文件/usr/share/texmf/ttf2pk/ttfonts.map,这个文件描述了哪些字体是TTF字体,好在从dvi生成ps文件时通过mktexpk进行处理。修改这个文件,在其末尾加入:
simsun@UGBK@ simsun.ttf
simsuns@UGBK@ simsun.ttf Slant=0.167
simsunr@UGBK@ simsun.ttf Rotate=Yes
simsunrs@UGBK@ simsun.ttf Rotate=Yes Slant=0.167
现在,dvips和dvipdfm就都可以工作了。但用dvipdfm生成的PDF文件并不好看,为了能够生成更好一点的中文PDF文件,可以用pdflatex。
pdflatex
用pdflatex,可以从tex文件直接生成pdf文件。为了能够使pdflatex正常工作,我们需要创建一个map文件。其格式为:
simsun01 <simsun01.enc <simsun.ttf
simsun02 <simsun02.enc <simsun.ttf
...
simsun94 <simsun94.enc <simsun.ttf
simsuns01 <simsun01.enc <simsun.ttf
simsuns02 <simsun02.enc <simsun.ttf
...
simsuns94 <simsun94.enc <simsun.ttf
我们可以随便写一个小程序,生成这个map文件,并将其复制到/etc/texmf/dvips目录中,并命名为myfonts.map。接着,修改/etc/texmf/pdftex/pdftex.cfg文件,在其末尾加入一行:
+map myfonts.map
接着,执行命令updmap,完毕之后就可以用pdflatex就可以直接生成PDF文件了。用这种方式生成的PDF文件更加美观,且其中的文字都可以被选中和复制。
为了检验前面的成果,可以写一个小文件试试了。
$Date: 2004/01/08 09:02:14 $ Home Feedback
Copyright © 2003-2004 李凌.
作者: huxinda 发布时间: 2004-09-22
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28