如何在UTF8中编译LaTeX?[关闭]


80

我按照ISO标准制作了文档。它不支持ä和ö这样的变音字母。我需要他们。该文档在不使用UTF8的情况下进行编译,但不使用UTF8进行编译。更准确地说,该文件不会在main.tex开头的行中进行编译:

\usepackage[utf8]{inputenc}

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

Answers:


103

我不确定是否遇到问题,但是如果您使用UTF-8编码存储源,可能会有所帮助。

我还在\usepackage[utf8]{inputenc}LaTeX源文件中使用了该文件,并通过将文件存储为UTF-8文件来使一切正常。


您可以发出命令将文件设置更改为UTF-8吗?我什至如何查看当前设置?
莱奥波德·赫兹(LéoLéopoldHertz),2009年

2
这取决于您的编辑器,它应该能够在UTF-8中存储文件。请检查适用的首选项设置。在我的Mac上,为我提供了一个组合框,可让我在文件对话框中确定编码。
Uwe Honekamp,2009年

20

以UTF8格式保存文件。

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

file -bi filename.tex 

您应该看到:

text/x-tex; charset=utf-8

iconv如果不是UTF8,则使用转换文件:

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

1
这是一个短期解决方案:Uwe Honekamp的解决方案使生活更轻松,因为它允许人们直接键入带重音符号的字母,而不是使用不太清晰的LaTeX命令。
Eric O Lebigot 2011年

3
file -I似乎在capitan上
nicolas

file filename.tex为我工作(莫哈韦
沙漠

14

\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}


如您的示例所示,这解决了其他语言(例如,中文,日文,韩文,越南文)字符的问题。更多阅读:tex.stackexchange.com/questions/13067/utf8x-vs-utf8-inputenc
CAW

我错误地遇到了这个答案,它为我解决了一个长期存在的问题,即PDF侧边栏目录中的破折号和带重音的字母。
奥斯卡·林卡

5

将您的文档转换为utf8。LaTeX照原样读取您的文本。如果要使用utf8输入编码,则必须使用utf8编码文档。通常可以由编辑器设置。还有一个程序iconv对于将文件从iso编码转换为utf很有用。

最后,您将不得不使用能够支持utf的编辑器。(我不知道Windows上utf支持的状态,但是在Linux上任何合理的编辑器都可以)。


4
iconv --from-code = ISO-8859-1 --to-code = UTF-8 iso.txt> utf.txt
Johan

0

您需要图标源。

这就是说,第t ê基于X-编译援引latex真的不支持可变长度编码; 它需要大型库来告知某些字节在一起。Xelatex支持Unicode,并且效果更好。


0

我使用具有特殊“过滤器”功能的LEd编辑器。它在自己的编辑器中用ö替换\“ {o},反之亦然,同时在tex文件中保留原始\” {o}。在LEd Editor中查看时,这使文本易于阅读,并且不需要特殊的程序包。它也适用于书目文件。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.