回到过去,在我离开祖国的神圣海岸之前,我并不太在意我的文件采用什么编码。ASCII 对我的曾曾祖父来说已经足够了,所以对我来说也足够了。现在我生活在我的曾曾祖父的土地上,他们的字母表有点混乱,ASCII 不再足够。如果只有我一个人,那就没问题了:我已经学会了喜欢 UTF-8,甚至接受了xelatex
。但有时我会收到采用奇怪编码的文档,有时我想恢复一些旧文档,也许要在新文档中包含一个部分,所以有时我发现自己想更改文档的编码。
那么:我该怎么做呢?(包括子问题:如何确定文件的编码?)
笔记:
- 我意识到这仅与 TeX 和朋友间接相关,因此我已做好充分准备去别处寻找,但我认为这很常见,并且尤其(由于似乎必须非常了解 TeX 的编码)对 TeXers 来说很重要。
- 我没有具体的记住示例文件,这是一个“通用”问题,希望构建有用的资源。因此,请尽可能全面地回答尽你所能以及需要设置限制的地方,请明确说明。具体来说,根据操作系统的不同,这几乎肯定会有不同的答案。
- 另一方面,如果你做如果你知道一个超级时髦的方法,在午夜满月的时候使用 Emacs 时效果非常好,那么请发布它 - 只需确保包含你是否假设强的狼人原则或仅仅是弱的原则。
- 考虑到最后两个因素,我很高兴这是一个 CW,它将所有技术以合理的分组形式汇集在一起。
- 如果这个问题没有关闭并按我的意图工作,这些注释可能应该被删除,以免分散答案的实用性(因为我们可能不希望 TeX-SX 能成为“强狼人原理”的头号热门歌曲)。
答案1
关于 Emacs:有时我会偶然发现一个用 latin-1 或 latin-9 编码的 *tex 文件,但第二行通常是\usepackage[latin1]{inputenc}
。在 Emacs 中,我删除此行并通过 Cc Cm 添加一个新的\usepackage
,等到 Emacs 查找完已安装的软件包后输入inputenc
。然后 Emacs 建议latin-1
,我输入utf-8
,Emacs 询问是否应该用 utf-8 编码整个缓冲区。是的!然后 Emacs 重新编码我的文件。
编辑:根据评论,添加以下内容似乎很有用:这是 AUCTeX 的一项功能。AUCTeX 是一个功能强大的 Emacs 包,在编写 *.tex 文件时会更加方便。
否则,请查找 的手册页recode
。
亚历山大
答案2
*.bbl
我最近遇到了不同文件(例如)编码的一些问题*.tex
,导致缺少字形或重音字母的位置出现奇怪的组合。
在 Linux(Ubuntu 10.04 发行版)中,对我有用的解决方案是使用以下程序iconv
:
iconv -f 源编码 -t 目标编码 输入文件.tex > 输出文件.tex
答案3
记事本++是一款非常出色的 Windows 编辑器,它可以显示当前编码,并可以将编码转换为其他编码。我使用过UTF-8 without BOM
,之后文件在所有其他编辑器中运行良好。
答案4
对于单个文件更改,我坚持使用我选择的编辑器 (TeXworks),它可以加载和保存各种编码。标准设置是 UTF-8,但它可以与许多其他设置一起使用。(自动检测完全基于文件本身,不检查 inputenc 或类似内容,因此在某些情况下,Emacs 可能是更好的选择。)