博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
latexdiff中的大坑:字符编码问题
阅读量:4979 次
发布时间:2019-06-12

本文共 1333 字,大约阅读时间需要 4 分钟。

最近用latex写文章,要用到修订模式,于是采用latexdiff命令生成修订版pdf。这原本是一个非常简单方便的方法,却隐藏着字符编码的问题,初次用可能会遇到意想不到的问题,让人很烦,比如,生成出来的.tex文档,不是UTF-8编码,而是UTF-16,这导致latex无法编译(本人是采用的Windows10+TeXLive 2019+VS CODE)。通过notepad将其转换成UTF-8编码,会出现奇奇怪怪的字符,如下:

Package inputenc: Unicode character 贸 (U+8D38)
(inputenc) not set up for use with LaTeX.
Package inputenc: Unicode character 铆 (U+94C6)
(inputenc) not set up for use with LaTeX.
Package inputenc: Unicode character 啪 (U+556A)
(inputenc) not set up for use with LaTeX.
Package inputenc: Unicode character 谩 (U+8C29)
(inputenc) not set up for use with LaTeX.
Package inputenc: Unicode character 酶 (U+9176)
(inputenc) not set up for use with LaTeX.
Package inputenc: Unicode character 氓 (U+6C13)
(inputenc) not set up for use with LaTeX.
Package inputenc: Unicode character 鈥 (U+9225)
(inputenc) not set up for use with LaTeX.
Package inputenc: Unicode character 擳 (U+64F3)
(inputenc) not set up for use with LaTeX.
Package inputenc: Unicode character 枚 (U+679A)
(inputenc) not set up for use with LaTeX.
 
经过仔细检查,这些都是因为参考文献中的人名中含有希腊字母、北欧字母等奇奇怪怪的字母,以及特殊的字符组合,如“-T”、“r's”等。由于latex文本非常长,无法通过肉眼找到错误,而且VS CODE不会在乱码处标红,但可以采用以下方法找错:
1、将.tex文件改成UTF-8编码后,直接编译,让其报错;
2、查看VS CODE的错误提示,里面会写明所有的乱码,将其一条一条copy出来,如上所示,再在.tex文件中一个一个find到,直到所有的报错都消失;
 
除了乱码和特殊字符,图片的修改貌似行不通,编译不通过,直接去掉就好,就这么无赖。

转载于:https://www.cnblogs.com/lzhu/p/11299414.html

你可能感兴趣的文章
java接口和抽象类
查看>>
大型网站优化-memcache技术
查看>>
How to support comparators in our sort implementations?
查看>>
微信网页版前端源码分析(一)源码结构和公众号处理逻辑
查看>>
数据库基础知识
查看>>
第一部分绪论 第一章
查看>>
【bzoj4987】Tree【树形dp】
查看>>
iontify
查看>>
Vue.$nextTick用途
查看>>
数组<-->变量
查看>>
10101 : 正面交锋
查看>>
爬虫四 selenium模块
查看>>
12 | 从0到1:你的第一个GUI自动化测试
查看>>
Python图形图像处理库的介绍之Image模块
查看>>
2017/12/27java基础学习——代码错误分析
查看>>
Html Document窗口的尺寸和位置
查看>>
CodeForces Round #279 (Div.2)
查看>>
每日一记--2014.10.11(2)
查看>>
Java 处理cookie的方法
查看>>
项目中用到的input 遇到的问题的归类
查看>>