我有一个简单的测试文档
\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
的每个。但这实际上是一种变通方法,而不是解决方案。\luatextextdir
arabluatex.sty