zoukankan      html  css  js  c++  java
  • Latex之CJK中文书签乱码[转]

     在使用CJK宏包编辑中文时,可以使用不同的编码方式,一种是UTF-8格式;另外一种是GBK编码。在使用GBK编码时,生成的PDF格式中的文本是GBK的编码方式,因此大部分不支持GBK编码的PDF阅读器无法正确的显示PDF文档,如下图所示。

        这是因为在使用Hyperref宏包产生书签(Bookmark)时,使用的参数为CJKbookmarks=true,该参数不能与Hyperref的unicode参数同时使用,不然会产生冲突。因此,要么源文件中改用UTF-8的编码方式,要么使用GBK编码生成PDF中,改变编码方式。本文主要介绍第二种。

        解决问题的思路很简单,即在生成PDF过程中改变编码方式,而改变的方法是将编译中间生成的.out文件中的GBK编码替换掉。这里推荐一个好用的小工具,即gbk2uni。该工具可以将out文件中的书签变成unicode格式。使用方法如下:

    • 使用PdfLatex和BibTex等工具生成带有中文乱码的PDF文档;
    • 下载上述的工具gbk2uni,在.out文件所在目录执行gbk2uni *.out
    • 在转换成功后,只需执行PdfLatex一次即可。

    运行以下两个命令:

    Linux系统:
    gbk2uni ${TEX_NAME}.out
    pdflatex ${TEX_NAME}.tex
    Windows系统
    gbk2uni 你的文件名.out(跟*.tex一个目录,没有就自己创建一个)
    pdflatex 你的文件名.tex
     

    除了上述工具,还有人用Python实现了gbk2uni,参考地址在这里。执行成功后如下图所示。

     

    转自:http://blog.csdn.net/zxia1/article/details/17504147

  • 相关阅读:
    高手详解SQL性能优化十条经验
    大并发大数量中的MYSQL瓶颈与NOSQL介绍
    数据库索引的作用和优点缺点
    数据库优化方法整理
    Java中Date和Calender类的使用方法
    常用正则表达式大全 (转)
    java 反射的实例
    JAVA路径问题
    jsp ${param.id}用法
    jsp base标签与meta标签学习小结
  • 原文地址:https://www.cnblogs.com/followyourheart/p/4094867.html
Copyright © 2011-2022 走看看