6

我已将 LaTeX 格式的文档从英语翻译成挪威语,在使用挪威特殊字符时,使用时出现错误

\usepackage[utf8x]{inputenc}

尝试以 PostScript/PDF/DVI 格式显示挪威(斯堪的纳维亚)特殊字符,例如

 Package utf8x Error: MalformedUTF-8sequence.

因此,虽然这不起作用,但我尝试了另一种可能的解决方案:

\usepackage{ucs}
\usepackage[norsk]babel

当我尝试将其保存在 Emacs 中时,我收到以下消息:

These default coding systems were tried to encode text
in the buffer `lol.tex':
(utf-8-unix (905 . 4194277) (916 . 4194245) (945 . 4194278) (950
. 4194277) (954 . 4194296) (990 . 4194277) (1010 . 4194277) (1013
. 4194278) (1051 . 4194277) (1078 . 4194296) (1105 . 4194296))
However, each of them encountered characters it couldn't encode:
utf-8-unix cannot encode these: \345 \305 \346 \345 \370 \345 \345 \346 \345 \370 ...

感谢 Emacs,我可以检查这些字符的属性,第一个告诉我:

character: \345 (4194277, #o17777745, #x3fffe5)
preferred charset: eight-bit (Raw bytes 128-255)
code point: 0xE5
syntax: w    which means: word
buffer code: #xE5
file code: not encodable by coding system utf-8-unix
display: not encodable for terminal

这并没有告诉我太多。当我尝试使用 texi2dvi --dvipdf filename.text 构建它时,我得到了一个非常好的 PDF,所有这些都没有特殊的挪威字符。

当我要保存 Emacs 时还问我:“选择编码系统(默认原始文本):”然后我输入 utf-8 来选择它的编码系统。我还尝试选择默认的原始文本,看看我是否得到了一些不同的结果。但什么都没有。

最后我尝试了 \lstset{inputencoding=utf8x, extendedchars=\true} ...我在尝试用谷歌搜索这个问题的解决方案时遇到的代码。这给了我这个错误:未定义的控制序列。

所以基本上,我已经尝试了所有能找到的编码选项,但没有任何效果。我拼命地努力完成这项工作,因为挪威语翻译必须在截止日期之前出版。

作为附加信息,我可能会补充一点,我后来发现我的语言环境中只有 en_US.UTF-8,所以我添加了 nb_NO.UTF-8 和 nb_NO.ISO-8859-15 并运行 locale-gen + reboot没有任何变化。

我希望我提供了足够的信息以获得一些帮助,有问题的字符是æ ø å。

4

2 回答 2

4

我通过设置保存文件的编码系统解决了这个错误:

C-x C-m f utf-8-unix
于 2010-12-16T23:55:42.800 回答
4

显然,您的 emacs 很难将文件保存为 UTF-8(这没有多大意义,因为它应该能够使用该编码表示所有字符)。您应该尝试使用其他支持多种编码的编辑器将文件保存为 UTF-8。

虽然您无法以 UTF-8 格式保存文件,但 LaTeX 将无法正确读取它,除非您将当前文件编码指定为inputenc包参数。例如,您可能想尝试将文件按原样保存在 emacs 中,但\usepackage[latin1]{inputenc}如果 emacs 使用 *iso-8859-** 系列中的某些内容写入文件,则指定哪个应该可以解决问题。

于 2010-04-06T21:33:08.617 回答