![\luatextextdir 发生了什么?](https://linux22.com/image/320991/%5Cluatextextdir%20%E5%8F%91%E7%94%9F%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%9F.png)
截至今天,该命令\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")
更具未来性。但是,我强烈建议您修改代码以完全删除前缀。)