这是我的 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。此外,xetex
也luatex
允许在标签中使用一些 Unicode。不过,我还是建议坚持使用 ASCII 来实现可移植代码。