XeLaTeX 中的 Unicode“未定义的控制序列”

XeLaTeX 中的 Unicode“未定义的控制序列”

我在 Apple Time Machine 上安装了 TeXLive 2011,在本地 MacBook 上安装了 TeXShop。
当我尝试从 TeXShop 排版 XeLaTeX 模板时,部分 Unicode 文本显示“未定义的控制序列”。

模板的相关部分如下:

%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode

\documentclass[12pt]{scrartcl}
\usepackage{geometry}
\geometry{a4paper}

\usepackage{fontspec,xltxtra,xunicode}
\defaultfontfeatures{Mapping=tex-text}
\setromanfont[Mapping=tex-text]{Hoefler Text}
\setsansfont[Scale=MatchLowercase,Mapping=tex-text]{Gill Sans}
\setmonofont[Scale=MatchLowercase]{Andale Mono}

\begin{document}

\newfontfamily{\A}{Geeza Pro}
\newfontfamily{\H}[Scale=0.9]{Lucida Grande}
\newfontfamily{\J}[Scale=0.85]{Osaka}

Here are some multilingual Unicode fonts: this is Arabic text: {\A السلام عليكم},
this is Hebrew: {\H שלום}, 
and here's some Japanese: {\J 今日は}.

\end{document}  

当我排版此内容时,我得到:

./Untitled.tex:44: Undefined control sequence.
l.44 ...s: this is Arabic text: {\A \UTF
                                        {0627}\UTF{0644}\UTF{0633}\UTF{0644}...

奇怪的是,这种情况只发生在阿拉伯语和希伯来语文本中,但是,如果我将这些文本注释掉并只保留日语部分,则文档的排版没有任何错误并且输出正确。

起初,我以为某些东西没有通过 shell 正确传递,但是 bash 和 tcsh(由 TeXShop 使用)都返回了locale

LANG="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_CTYPE="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_ALL=

我甚至尝试添加setenv LC_CTYPE en_US.UTF-8(参见) 到 TeXShop 的 XeLaTeX 引擎但这也无济于事。

是我通过发布的示例获得的日志。

希望您对这个问题有任何想法。
提前谢谢您。

答案1

我想说的是,您的编辑器在保存文件时使用此 \UTF 命令交换了 unicode 字符。在 TeXshop 论坛中搜索后,出现了以下建议:“请取消选中 TeXShop->Preferences->Misc->pTeX support-> utf export”。

相关内容