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

  • 相关阅读:
    std::erase总结
    C++控制台应用程序运行控制台闪退
    判断当前进程是否已经打开C++
    获取当前系统语言C++
    VS中设置Qt多语言界面
    QString的功能
    安装mysql5.6
    centos6.9 PHP的编译安装并连接nginx
    centos6删除nginx
    centos6删除mysql安装
  • 原文地址:https://www.cnblogs.com/followyourheart/p/4094867.html
Copyright © 2011-2022 走看看