我按照ISO标准编写了我的文档,但它不支持umlaut字母,例如ä和ö。我需要它们。文档在没有UTF8的情况下可以编译,但是使用UTF8时不能编译。更准确地说,在我的main.tex文件开头加上以下内容时,文档无法编译:
\usepackage[utf8]{inputenc}
如何在 UTF8 编码下编译我的 LaTeX 文档?
我不确定我是否理解了你的问题,但也许将源代码存储为UTF-8编码可以帮助你。
在我的LaTeX源文件中我也使用了\usepackage[utf8]{inputenc}
,通过将文件存储为UTF-8格式,一切都能够正常工作。
请使用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
file -I
命令。 - nicolasfile
命令。一个文件里应该确切包含什么内容? - Dims\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}
将您的文档转换为utf8编码。LaTeX会直接读取您的文本,如果您想使用utf8输入编码,那么您的文档必须以utf8编码方式进行编码。通常可以在编辑器中进行设置。还有一个名为iconv
的程序,可以将iso编码的文件转换为utf编码。
最后,您需要使用支持utf编码的编辑器。(我不知道Windows上的utf支持情况,但是Linux上的任何合理的编辑器都应该可以)。
我使用带有特殊“过滤器”功能的LEd编辑器。它可以在自己的编辑器中将\"{o}\"替换为ö,反之亦然,同时在tex文件中保留原始的\"{o}\"。这使得在LEd编辑器中查看文本变得更加容易阅读,而无需使用特殊的软件包。它还适用于参考文献文件。
你需要对源进行iconv转换。
话虽如此,由latex
调用的基于TEX的编译器实际上并不支持可变长度编码;它需要庞大的库来告诉它哪些字节应该在一起。而Xelatex则支持Unicode,并且工作得更好。
我使用Chrome插件“Sharelatex”取得了成功。这个在线编辑器与大多数LaTeX文件具有很好的兼容性,但它在配置方面有些欠缺。www.sharelatex.com