如何使用UTF8编译LaTeX?

84

我按照ISO标准编写了我的文档,但它不支持umlaut字母,例如ä和ö。我需要它们。文档在没有UTF8的情况下可以编译,但是使用UTF8时不能编译。更准确地说,在我的main.tex文件开头加上以下内容时,文档无法编译:

\usepackage[utf8]{inputenc}

如何在 UTF8 编码下编译我的 LaTeX 文档?

7个回答

111

我不确定我是否理解了你的问题,但也许将源代码存储为UTF-8编码可以帮助你。

在我的LaTeX源文件中我也使用了\usepackage[utf8]{inputenc},通过将文件存储为UTF-8格式,一切都能够正常工作。


你能否给出一个命令将文件设置为UTF-8?我如何查看当前的设置? - Léo Léopold Hertz 준영
2
这取决于你的编辑器,它应该能够以UTF-8格式存储文件。请检查适用的首选项设置。在我的Mac上,它为我提供了一个组合框,让我在文件对话框中选择编码。 - Uwe Honekamp

21

请使用UTF8格式保存您的文件。

使用以下(UNIX)命令验证文件格式:

file -bi filename.tex 

你应该看到:

text/x-tex; charset=utf-8

如果文件不是UTF8格式,请使用iconv进行转换:

iconv --from-code=ISO-8859-1 --to-code=UTF-8 filename.txt > filename-utf.txt

1
这是一个短期解决方案:Uwe Honekamp的解决方案使生活更轻松,因为它允许直接输入带重音的字母,而不是使用难以辨认的LaTeX命令。 - Eric O. Lebigot
3
似乎在El Capitan上是file -I命令。 - nicolas
"file filename.tex" 对我很有效(Mojave)。 - Oskar Limka
假设我们没有 file 命令。一个文件里应该确切包含什么内容? - Dims

16

\usepackage[utf8]{inputenc}对于这样的参考文献条目不起作用:

@ARTICLE{Hardy2007,
author = {Ibn Taymiyyah, Aḥmad ibn ʿAbd al{-}Halīm},
title = {Naqḍ al{-}manṭiq},
shorttitle = {Naqḍ al-manṭiq},
editor = {Ḥamzah, Aḥmad},
publisher = {Maktabat a{l-}Sunnah},
address = {Cairo},
year = {1970},
sortname = {IbnTaymiyyaNaqdalmantiq},
keywords = { Logic, Medieval}} 

针对此条目,请使用\usepackage[utf8x]{inputenc}


这解决了来自其他语言(例如中文,日语,韩语,越南语)的字符问题,就像您的示例一样。更多阅读:http://tex.stackexchange.com/questions/13067/utf8x-vs-utf8-inputenc - caw
我偶然发现了这个答案,它解决了我长期以来在 PDF 侧边栏目录中使用 em-dash 和带重音字母时遇到的问题。 - Oskar Limka

6

将您的文档转换为utf8编码。LaTeX会直接读取您的文本,如果您想使用utf8输入编码,那么您的文档必须以utf8编码方式进行编码。通常可以在编辑器中进行设置。还有一个名为iconv的程序,可以将iso编码的文件转换为utf编码。

最后,您需要使用支持utf编码的编辑器。(我不知道Windows上的utf支持情况,但是Linux上的任何合理的编辑器都应该可以)。


4
将ISO-8859-1编码的iso.txt文件转换为UTF-8编码,并将结果输出到utf.txt文件中,命令为:iconv --from-code=ISO-8859-1 --to-code=UTF-8 iso.txt > utf.txt。 - Johan

0

我使用带有特殊“过滤器”功能的LEd编辑器。它可以在自己的编辑器中将\"{o}\"替换为ö,反之亦然,同时在tex文件中保留原始的\"{o}\"。这使得在LEd编辑器中查看文本变得更加容易阅读,而无需使用特殊的软件包。它还适用于参考文献文件。


0

你需要对源进行iconv转换。

话虽如此,由latex调用的基于TEX的编译器实际上并不支持可变长度编码;它需要庞大的库来告诉它哪些字节应该在一起。而Xelatex则支持Unicode,并且工作得更好。


0

我使用Chrome插件“Sharelatex”取得了成功。这个在线编辑器与大多数LaTeX文件具有很好的兼容性,但它在配置方面有些欠缺。www.sharelatex.com


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接