词汇表:将 Unicode 字符设置为条目标签

词汇表:将 Unicode 字符设置为条目标签

为什么将条目标签设置为 Unicode 字符时,下面的代码可以编译lualatex并失败?pdflatex

% arara: pdflatex: { options: [ '-synctex=1', '-shell-escape' ]}
% arara: makeglossaries
% arara: pdflatex: { options: [ '-synctex=1', '-shell-escape' ]}

\documentclass{elsarticle}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{booktabs}
\usepackage{calc,siunitx}
\sisetup{load-configurations = abbreviations}
\usepackage[automake,stylemods,symbols,
abbreviations,
xindy={codepage=utf8, language=greek, glsnumbers=false}
]{glossaries-extra}

\makeglossaries
\glsnoexpandfields
\glsxtrnewsymbol[text={\alpha},description={spacing},symbol={[\si{\um}]},type=main]{α}{$\alpha$}

\begin{document}
    \glsaddall
    \printglossary[title=Nomenclature]
\end{document}

答案1

lualatexα是一个简单的字母。与 没什么不同a

使用 pdflatexα是一个相当复杂的命令,您不能在这样的地方使用命令。

要查看差异,您可以编译以下内容:

\documentclass{article}

\begin{document}
\ExplSyntaxOn
\tl_analysis_show:n {α}
\ExplSyntaxOff
\end{document}

使用 lualatex 您可以获得:

The token list contains the tokens:
>  α (the letter α).
<recently read> }

使用 pdflatex 您可以获得:

The token list contains the tokens:
>  Î (active character=macro:->\UTFviii@two@octets Î)
>  ± (active character=macro:->\UTFviii@invalid@err ±).

相关内容