我遇到了一个微妙的问题。我最简单的代码如下。我在 Win 7-32bit 中工作,我的编辑器是 WinEdt 7.0 (Build: 20120125 (v. 7.0)),保存为 UTF-8,使用pdflatex
(MiKTeX2.9) 编译。
\documentclass{amsart}
\usepackage[utf8x]{inputenc}
\begin{document}
\title{U}%Ü
\author{ü}
\date{\today}
\maketitle
\end{document}
结果是,有错误信息
[PLEASEINSERT\PRERENDERUNICODE{}INTOPREAMBLE]
微妙的是,如果我改为amsart
,article
或者将第一个 U 改为 Ü,问题就会消失。
答案1
这是由于utf8x
与amsart
(将作者名字大写)略有不兼容造成的。
你有两条路可走:
说
\usepackage[utf8]{inputenc}
让违规角色知晓
ucs
并utf8x
提前\begin{document}
如果您不使用此选项未涵盖的字符,则路径 1 是首选(即使您使用了,因为通常很容易添加所需的字符)。
如果你坚持使用utf8x
,那么就像在输出中以一种相当神秘的方式说的那样:添加
\PrerenderUnicode{ü}
在序言中(加载后\inputenc
)。添加所有可能引起反感的重音字符ucs
(自动加载)。
答案2
如果您想使用,utf8x
您还需要使用ucs
。但是 utf8x 已经很长时间没有维护了,因此最好使用utf8
:
只需更换
\usepackage[utf8x]{inputenc}
和
\usepackage[utf8]{inputenc}
并且它将正确显示。