这个问题是这一。如果我使用 运行以下代码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
不等同polyglossia
。polyglossia
您将 设置marathi
为主要语言,但 不是babel
。只需将 设置为marathi
主要语言:
\babelprovide[mapdigits, maparabic, main]{marathi}
通过对代码进行简单的修复,两个引擎的结果完全相同:数字被转换,并且字体的语言系统被正确设置。