使用 LuaLaTeX 和 babel 的 expex 包示例中的天城文计数器

使用 LuaLaTeX 和 babel 的 expex 包示例中的天城文计数器

这个问题是一。如果我使用 运行以下代码LuaLaTeX,则示例计数器中不会出现梵文数字。而使用 XeLaTeX 时,则可以得到它们。

\documentclass{article}
\usepackage{iftex}
\ifXeTeX
\usepackage{polyglossia}
\setdefaultlanguage{marathi}
\setmainfont[Script=Devanagari,Mapping=devanagarinumerals]{Shobhika}
\else
\ifLuaTeX
\usepackage{babel}
\usepackage{fontspec}
\babelprovide[mapdigits,maparabic]{marathi}
\defaultfontfeatures{Renderer=Harfbuzz,Script=Devanagari}
\babelfont{rm}{Shobhika}
\fi
\fi
\usepackage{expex}
\definelabeltype{devanagari}
{labelgen=list,labellist={अ, आ, इ, ई, उ, ऊ, ए, ऐ, ओ, औ, अं, अः},
    labelformat=A.,fullrefformat=XA,labelalign=left,labelwidth=.92em}

\begin{document}
    \lingset{labeltype=devanagari}
    \pex
    \a\begingl
    \gla रामः आम्रफलम् खादति//
    \glb राम आंबा खातो//
    \glft राम आंबा खातो.//
    \endgl
    \a\begingl
    \gla रामः आम्रफलम् खादति//
    \glb राम आंबा खातो//
    \glft राम आंबा खातो.//
    \endgl
    \xe
\end{document}

XeLaTeX更改编号但LuaLaTeX没有更改。为什么?

PS - 代码可以用两种编译器运行。当你更换编译器时,需要再次运行。

答案1

babel您的和代码有错误luatex。它不起作用,因为 的设置与 的设置babel不等同polyglossiapolyglossia您将 设置marathi为主要语言,但 不是babel。只需将 设置为marathi主要语言:

\babelprovide[mapdigits, maparabic, main]{marathi}

通过对代码进行简单的修复,两个引擎的结果完全相同:数字被转换,并且字体的语言系统被正确设置。

相关内容