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一次即可。
 
运行以下两个命令:
pdflatex ${TEX_NAME}.tex
gbk2uni 你的文件名.out(跟*.tex一个目录,没有就自己创建一个)
pdflatex 你的文件名.tex
除了上述工具,还有人用Python实现了gbk2uni,参考地址在这里。执行成功后如下图所示。
转自:http://blog.csdn.net/zxia1/article/details/17504147
Latex之CJK中文书签乱码[转]的更多相关文章
- Latex 环境下“中文字体”的使用
		
Latex 环境下“中文字体”的使用 使用CTex自带编辑器WinEdt,在该环境下如何使用中文字体呢?作为一个菜鸟,折腾了好几天,最终基本解决了这个问题.现在整理下,分享给后来者. 对于使用中文字体 ...
 - latex之在windows环境下能够在latex中使用中文
		
今天要把前段时间的实验用英语先记录下来,自己就想根据原来会议的模版弄一个简易的页面(英语),突然想到之前用英文模板时是不能输入中文的,于是想着怎么在latex中输入中文,折腾了许久,终于成功了,现在分 ...
 - 怎样在LaTeX中使用中文
		
因为疫情在家中上课,作业提交都必须使用PDF.反正时间充裕,不如趁机回顾一下LaTeX的使用. 之前一直用的是Vimtex,但是感觉还是不太方便,于是改用了Texpad.Texpad的强大之处在于它支 ...
 - eclipse运行没问题,tomcat以脚本启动后插入数据库的中文会乱码
		
记一次部署工程的时候遇到的问题 部署war包到win7的时候发现,布上去后插入数据库的中文会乱码,然后发现用eclipse运行源码没问题,一开始以为是war打出来的时候编码错误,然后将eclipse的 ...
 - Linux中文显示乱码?如何设置centos显示中文
		
Linux中文显示乱码?如何设置centos显示中文 怎么设置Linux系统中文语言,这是很多小伙伴在开始使用Linux的时候,都会遇到一个问题,就是终端输入命令回显的时候中文显示乱码.出现这个情况一 ...
 - spring mvc 中文参数乱码
		
最近做项目,springmvc的url中文参数乱码: 请求url: http://localhost:8080/supply/supply_list.htm?productName=测试&is ...
 - Xshell个性化设置,解决Xshell遇到中文显示乱码的问题
		
在同事的推荐下,今天开始使用Xshell连接Linux,但是发现一个“遇到中文显示乱码”的问题, 同事的解决方案如下: 平常给Linux上传文件之前,先把文件转换成UTF-8编码形式, 然后设置Xsh ...
 - 在strust2 框架下,前端APP传过来的中文数据乱码问题
		
public String addMessage() throws UnsupportedEncodingException{ Patient patient=new Patient(); patie ...
 - [原创]使用Gradle的插件EnIDE build的时候,输出的中文总是乱码。
		
使用Gradle的插件EnIDE build的时候,输出的中文总是乱码.解决办法:在EnIDE的设置里面,设置JVM options GRADLE_OPTS 为:-Dfile.encoding=UTF ...
 
随机推荐
- Java之DataInputStream和DataOutputStream-用流操作基本数据类型
			
package FileDemo; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.Fi ...
 - IsPostBack
			
1.IsPostBack介绍Page.IsPostBack是一个标志:当前请求是否第一次打开. 调用方法为:Page.IsPostBack或者IsPostBack或者this.IsPostBack或者 ...
 - 从经典问题来看 Copy 方法(转)
			
来自:Gua | 瓜地 链接:https://desgard.com/copy/ 在初学 iOS 的时候,可能会被灌输这么一个常识,切记 NSString 的 property 的修饰变量要写作 c ...
 - ABAP DEBUG
			
[Function] Command=/H Type=SystemCommand 将上面的文件推动到SAP 窗口 可以启动调试 ------------------------------------ ...
 - ServletContext1
			
---------------ConfigServlet.java----------- protected void doGet(HttpServletRequest request, HttpSe ...
 - How to add “Maven Managed Dependencies” library in build path eclipse
			
If you have m2e installed and the project already is a maven project but the maven dependencies are ...
 - HDU 4608 I-number(模拟)
			
I-number Time Limit: 5000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描写叙述 The I-number of x is defined t ...
 - Java Singleton  单例模式
			
大家可能还听过 Singleton 也就是单例模式 这个单例模式要求 在程序的运行时候 一个程序的某个类 只允许产生一个 实例 那么 这个类就是一个单例类 Java Singleton模式主要作 ...
 - [React Fundamentals] Introduction to Properties
			
This lesson will teach you the basics of setting properties in your React components. class App exte ...
 - epoll讲解
			
首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象. 不管是文件,还是套接字,还是管道,我们都可以把他们看作流. 之后我们来讨论I ...