¿La numeración \asbuk tiene errores?

¿La numeración \asbuk tiene errores?

Cuento con numeración alfanumérica rusa en un documento en constante actualización. Recientemente, la numeración salió terriblemente mal. MWE:

\documentclass{article}

\usepackage{ifxetex}
\ifxetex
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{russian}
\setmainfont{CMU Serif}
\setsansfont{CMU Sans Serif}
\setmonofont{CMU Typewriter Text}
\else
  \usepackage[T1,T2A]{fontenc}
  \usepackage{lmodern}
  \usepackage[english,russian]{babel}
  \fi

\usepackage{enumitem}
\makeatletter
\AddEnumerateCounter{\asbuk}{\russian@alph}{щ}
\makeatother
%\setlist[enumerate]{itemsep=0mm, label={\asbuk*)},ref=\asbuk*}

\begin{document}
\begin{enumerate}[label={\asbuk*}, ref=\asbuk*]
\item 1
\item 2
\item 3
\item 4
\item 5
\item 6
\item 7
\item 8
\item 9
\end{enumerate}
\end{document}

Tengo el resultado correcto usando pdflatex (izquierda) y algo sale mal cuando uso xelatex (derecha): salida pdflatex --- derecha salida de xelatex --- incorrecta

La numeración arábiga funciona como se esperaba.

Supuestamente, el error se introdujo con la última actualización no antes de octubre.

¿Dónde debo presentar el error? ¿Alguien puede señalar una solución alternativa?

Respuesta1

Al parecer los polyglossiadesarrolladores decidieron seguirhttps://en.wikipedia.org/wiki/Cyrillic_numeralsy eliminó la numeración alfabética simple.

Deberían haber dejado una interfaz para usar el alfabeto ruso estándar y no obligar a los usuarios a emplear la numeración alfabética de estilo antiguo.

Afortunadamente, el código aún no se ha eliminado y podemos copiarlo.

\documentclass{article}

\usepackage{ifxetex}
\ifxetex
  \usepackage{fontspec}
  \usepackage{polyglossia}
  \setmainlanguage{russian}
  \setmainfont{CMU Serif}
  \setsansfont{CMU Sans Serif}
  \setmonofont{CMU Typewriter Text}
\else
  \usepackage[T1,T2A]{fontenc}
  \usepackage{lmodern}
  \usepackage[english,russian]{babel}
\fi

\usepackage{enumitem}

\makeatletter
\newcommand{\realasbuk}[1]{\expandafter\russian@realalph\csname c@#1\endcsname}

\def\russian@realAlph#1{\ifcase#1\or
   А\or Б\or В\or Г\or Д\or Е\or Ж\or
   З\or И\or К\or Л\or М\or Н\or О\or
   П\or Р\or С\or Т\or У\or Ф\or Х\or
   Ц\or Ч\or Ш\or Щ\or Э\or Ю\or Я\else\xpg@ill@value{#1}{russian@Alph}\fi}
\def\russian@realalph#1{\ifcase#1\or
   а\or б\or в\or г\or д\or е\or ж\or
   з\or и\or к\or л\or м\or н\or о\or
   п\or р\or с\or т\or у\or ф\or х\or
   ц\or ч\or ш\or щ\or э\or ю\or я\else\xpg@ill@value{#1}{russian@alph}\fi}

\AddEnumerateCounter{\realasbuk}{\russian@realalph}{щ}
\makeatother

%\setlist[enumerate]{itemsep=0mm, label={\realasbuk*)},ref=\realasbuk*}


\begin{document}

\begin{enumerate}[label={\realasbuk*}, ref=\realasbuk*]
\item 1
\item 2
\item 3
\item 4
\item 5
\item 6
\item 7
\item 8
\item 9
\end{enumerate}

\end{document}

ingrese la descripción de la imagen aquí

información relacionada