\luatextextdir 发生了什么?

\luatextextdir 发生了什么?

截至今天,该命令\luatextextdir似乎不再起作用。我使用该命令是为了能够排版阿拉伯语。为此,我创建了以下命令:

\newcommand{\arabtext}[1]       % Arabic inside LTR
    {\bgroup\luatextextdir TRT\arabicfont #1\egroup}
\newcommand{\arabnr}[1]         % for numbers inside Arabic text
    {\bgroup\luatextextdir TLT #1\egroup}
\newenvironment{arabpar}            % Arabic paragraph
    {\luatextextdir TRT\luatexpardir TRT\arabicfont}{}

然而,截至今天,我收到了众所周知的“未定义的控制序列”错误。

我刚刚使用 TeX Live Utility 将所有软件包更新到最新版本。

答案1

原语的“正确”(内部)名称一直是\textdir,但由于各种原因,它曾经像\luatextextdir在 LuaLaTeX 中一样被“激活”。LaTeX 团队最近修改了这种方法,现在所有原语在 LuaLaTeX 中都有其“自然”名称。因此,您应该更新代码或添加

\directlua{
  tex.enableprimitives("luatex",tex.extraprimitives("luatex"))
}

你的序言。

\textdir来自 Omega,因此目前位于名为的列表中omega。在不久的将来,它将被移动到名为的列表中luatex,因此tex.extraprimitives("omega", "luatex")更具未来性。但是,我强烈建议您修改代码以完全删除前缀。)

相关内容