UP | HOME

LaTeX中文支持

Table of Contents

首段也缩进

\usepackage{indentfirst}

将关键字转为中文

重新自定义名称

\def\figurename{图}
\def\tablename{表}
\renewcommand{\contentsname}{目录}
\renewcommand{\today}{\number\year\number\month\number\day}

使用CJKcaption{GB}

上面的方法单个使用是比较简单,但是写很长的文章的时候,很多变量都需要“汉 化”,这种方法就比较笨了,而且处理“第X章”这种效果也比较复杂,其实CJK中自 带了这个功能!没错,就是使用 CJKcaption{GB} ,等等编译有 错?CJK是通过 $texmf/tex/latex/CJK/GB/GB.cap 和GB.cpx来“汉化”的,但是 CJK自带的这两个文件没法和标准的article和book合作(FT~~),但是与在 $texmf/tex/latex/koma-script 目录下的scrarticle和scrbook一起工作。这下好 了只要在preamble中加入如下两句就可以了[1]:

\AtBeginDocument{\begin{CJK*}{GB}{song}\CJKtilde\CJKcaption{GB}}
\AtEndDocument{\end{CJK*}}

中文书签

在Beamer中只能使用GBK编码,否则section不能使用中文,但是这样生成的书签就是乱码。 今天在网上找到了解决方案1

其实就是将生成标签的字符编码再换为unicode,开始我想直接用 iconv 将foo.out文件转为unicode就行了,事实上不是这么回事,参考了帖子之后知道了,不能将foo.out文件中的所有内容都转为unicode,只能将标签字符转了,而格式字符不能变,在CCT中有个gbk2uni就是用来干这个的,从网上下到gbk2uni.h和gbk2uni.c用gcc编译一下就好了。只要按照下面的顺序执行就可以得到正确的书签了:

  • pdflatex foo
  • gbk2uni foo 注意:这里没有指定文件的后缀名
  • pdflatex foo

Footnotes:

1 当然这样就不需要在 begin{document} 之后加上使用CJK了。

可拷贝的PDF

SUSE中添加字体

http://tech.techweb.com.cn/thread-199580-1-1.html

安装了SuSE 10系统自带的tex系统,可以在CJK环境下使用某些特定的字体类型, 但是很多字体还是不能使用。

以下是一个非常简单的解决办法:

  1. 到王垠主页

下载了gbkfonts的可执行文件,只要gbkfonts的那个静态链接文件就可以了。 cp gbkfonts /usr/local/bin chmod +x /usr/local/bin/gbkfonts

  1. 建立texmf-local

不要直接放在/usr/share/texmf 下面,这样以后升级不方便。

因为~/texmf 目录默认是mktexlsr搜索的路径 mkdir ~/texmf cd ~/texmf gbkfonts /windows/C/windows/Fonts/simkai.ttf kai gbkfonts /windows/C/windows/Fonts/simhei.ttf hei … 其他字体用同样的方法生成。

  1. cp cjk.map dvips/config/ 这里会报没有dvips/config目录,新建一个就可以了。

cp usr/share/texmf/dvips/config/config.ps dvips/config echo "p +cjk.map" >> dvips/config/config.ps mv pdftex.cfg pdftex/config/ mktexlsr 最好用root执行一下

注意 teTex3.0之后,要把cjk.map复制到texmf/fonts/map下,这样几个程序都能用新装的字体,好要root运行updmap一下

  1. 测试代码
\documentclass{article}
\usepackage{CJK}
\begin{document}
\begin{CJK*}{GBK}{hei}
这是黑体。
\end{CJK*}
\end{document}

然后latex testcjk.tex,dvipdfm testcjk.dvi就生成了相应的dvi和pdf文档。

使用Suse中自带的字体

Suse的CJK配置好了方正的几种字体,但是名称不一样,为了使得tex文件通用, 又不需要重新安装字体,搞了一个粗俗的方法:

  • cd ~/texmf
  • cp /usr/share/texmf/tex/latex/CJK/GBK/c19fzst.fd tex/latex/CJK/GB/c19song.fd
  • 将tex/latex/CJK/GB/c19song.fd中的fzst全部改成song
  • texhash

这样就可以使用song字体了,嘿嘿。

1 目前如果用utf8编码的TeX文件生成的书签却有问题,CJK 4.7 已经解决了这个问题

© 2012-05-17 22:26:48 CEST Xu Yuan (xuyuan.cn@gmail.com) Proudly powered by Org version 7.8.10 with Emacs version 24. Validate XHTML 1.0