XeLaTeX interchartoks 中莫名其妙地出现了额外的 \endgroup

XeLaTeX interchartoks 中莫名其妙地出现了额外的 \endgroup

这段最小的代码在 XeLaTeX 中引发了一个extra \endgroup错误,我无论如何也想不明白为什么!有人能解决这个错误吗?

\documentclass{article}
\usepackage{xcolor}
\XeTeXinterchartokenstate = 1
\newXeTeXintercharclass \mydigitsclass 

\XeTeXcharclass `\Q \mydigitsclass


\XeTeXinterchartoks 0 \mydigitsclass = {\begingroup\color{green}}
\XeTeXinterchartoks \mydigitsclass 0  = {\endgroup}
\XeTeXinterchartoks 255 \mydigitsclass = {\begingroup\color{green}}
\XeTeXinterchartoks \mydigitsclass 255  = {\endgroup}

\begin{document}

Qa a Q

\end{document}

答案1

随着 2019 年 TeX Live 的发布,边界已从 255 提高到 4095,

XeTeX 3.14159265-2.6-0.999991

如果我将更改应用到您的代码中,我会得到

在此处输入图片描述

答案2

多年来,边界类别一直是 4095,而不是 255:

在此处输入图片描述

\documentclass{article}
\usepackage{xcolor}
\XeTeXinterchartokenstate = 1
\newXeTeXintercharclass \mydigitsclass 

\XeTeXcharclass `\Q \mydigitsclass


\XeTeXinterchartoks 0 \mydigitsclass = {1\begingroup\color{green}}
\XeTeXinterchartoks \mydigitsclass 0  = {2\endgroup}
\XeTeXinterchartoks 4095 \mydigitsclass = {3\begingroup\color{green}}
\XeTeXinterchartoks \mydigitsclass 4095  = {4\endgroup}

\begin{document}

Qa a Q

\end{document}

这些数字只是为了让我们更容易看到标记被添加到了哪里。

相关内容