arabluatex——未定义的控制序列

arabluatex——未定义的控制序列

我有一个简单的测试文档

\documentclass{article}
\usepackage{fontspec,luatextra}
\newfontfamily\arabicfont[Script=Arabic]{Droid Arabic Naskh}
\usepackage{arabluatex}
\begin{document}
hello \arb{EaAlam}
\end{document}

失败的原因如下:

! Undefined control sequence.
\arb code ...@tempa \al@mode@voc \bgroup \textdir  TRT\arabicfont      \luadirect 
 l.6 hello \arb{EaAlam}

我从日志中看到它找到了 arabluatex.sty:

(/usr/local/share/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty
(/usr/local/share/texmf-dist/tex/latex/amsmath/amsmath.sty
For additional information on amsmath, use the `?' option.
(/usr/local/share/texmf-dist/tex/latex/amsmath/amstext.sty

我不知道该去哪里修复这个问题。任何建议我都会非常感激。

(我在 FreeBSD 10.3 上运行并手动安装了 arabluatex 包。)

答案1

\textdir是罪魁祸首:大约一年前,前缀luatex被从原语\luatexXYZ和类似的东西中删除了。实际上,这种内部原语的名称一直是没有前缀,但它们被“激活”'luatex' 前缀。请参阅\luatextextdir 发生了什么?了解更多信息。

解决方案是安装最新的 texlive 2016 或用 替换中\textdir的每个。但这实际上是一种变通方法,而不是解决方案。\luatextextdirarabluatex.sty

相关内容