标签中的非 ASCII 字符

标签中的非 ASCII 字符

这是我的 MWE:

\documentclass[norsk]{article}
\usepackage{babel}
\usepackage[utf8]{inputenc}
\begin{document}

\begin{figure}

  \caption{Skjærgårdsøl}
  \label{Skjærgårdsøl}
\end{figure}

\end{document}

这将给出以下错误消息:

(/opt/local/share/texmf-texlive/tex/latex/base/omsenc.dfu))) (./test.aux
! Missing \endcsname inserted.
<to be read again> 
                   \OT1\ae 
l.3 ... {\ae }rg\IeC {\r a}rds\IeC {\o }l}{{1}{1}}


LaTeX Warning: Label `Skj\IeC {\ae }rg\IeC {\r a}rds\IeC {\o }l' multiply defined.

我使用适用于 Macintosh 的 TeXLive 2013,代码是使用适用于 MacOS X 的 Emacs 24.3.1、pdfTeX、版本 3.1415926-2.5-1.40.14(TeX Live 2013/MacPorts 2013_2)编写的。

我非常希望在生成标签时不必使用变通方法 - 有没有办法让 æøåÆØÅ 与标签一起工作?

答案1

TeX 是一种编程语言。 \label并且一些其他构造用这种语言定义变量。

编程语言通常只允许在变量名中使用 ASCII 字符。不能,例如,用 C 语言编写

int Skjærgårdsøl;
Skjærgårdsøl=5;

等等。TeX 也是一样。

更新:正如评论者告诉我们的那样,如今一些编程语言允许在名称中使用一些 Unicode。此外,xetexluatex允许在标签中使用一些 Unicode。不过,我还是建议坚持使用 ASCII 来实现可移植代码。

相关内容