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 foogbk2uni foo注意:这里没有指定文件的后缀名pdflatex foo
Footnotes:
1 当然这样就不需要在 begin{document} 之后加上使用CJK了。
可拷贝的PDF
- 下载ccmap: http://lsec.cc.ac.cn/cgi-bin/viewcvs.cgi/cct/ccmap/ccmap.sty
- 复制到
TEXMF/tex/latex/cmap - texhash
- 在tex文件中使用ccmap宏包
SUSE中添加字体
http://tech.techweb.com.cn/thread-199580-1-1.html
安装了SuSE 10系统自带的tex系统,可以在CJK环境下使用某些特定的字体类型, 但是很多字体还是不能使用。
以下是一个非常简单的解决办法:
- 到王垠主页
下载了gbkfonts的可执行文件,只要gbkfonts的那个静态链接文件就可以了。 cp gbkfonts /usr/local/bin chmod +x /usr/local/bin/gbkfonts
- 建立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 … 其他字体用同样的方法生成。
- 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一下
- 测试代码
\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 ~/texmfcp /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 已经解决了这个问题