为什么将条目标签设置为 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 ±).