latex中文书签乱码的解决方法

最近使用pdflatex写点东西,然后就又一次遇到了中文书签乱码,以前是用英文写,现在实在是不爽,然后在网上搜到了gbk2uni这个程序,是可以用,但是我的源文件全是utf8的,实在不想转码。于是看了看他的源代码,原来就是一个简单的转码,把中文转为\ooo八进制数据,于是乎自己用python写了一个脚本,ok。

代码传到google code了 http://code.google.com/p/pdflatex-cjkbookmark/

当你使用pdflatex的时候一般都的执行两次,第一次扫描和简单的输出,第二次是完成链接和跳转,在第一次的时候会输出一个out结尾的文件,这个就是bookmark。

以下是我的tex测试程序:

第一次执行完pdflatex book.tex后会有一个book.out:

重点就是把这几个中文转为\ooo的格式,

最简单的当然就是用python内置的正则表达式提取,然后解码,然后用ord转换。

结果是这样的:

脚本如下:

然后再执行一次pdflatex book.tex

最终的效果如图:

 

This entry was posted in Others and tagged , , , , , , . Bookmark the permalink.