未定义的控制序列 - ifluatex

未定义的控制序列 - ifluatex

我正在尝试构建 polyglossia 包源的 tests 子目录。构建过程中,我收到以下错误:

! Undefined control sequence.
<recently read> \ifluatex 
                          
l.5 \ifluatex
             \RequirePackage{luabidi}\else\RequirePackage{bidi}\fi

我知道有人问过有关 MikTeX 的类似问题:

使用文档类 comjnl.cls 时未定义控制序列 \ifluatex

但是 - 那里的解决方案似乎对我的情况无效。我的系统上安装了 luatex 和 iftex 包。我缺少什么?

答案1

正如@DavidCarlisle 所建议的那样,有必要

\RequirePackage{iftex}

在使用之前\ifluatex

但这还不是全部。或者说,你需要确保这个更改是针对.sty实际加载的文件进行的!tests/polyglossia 的子目录不会尝试从../tex(你克隆的存储库的一部分)加载文件;相反,它只会加载系统上安装的任何内容!因此,你需要将存储库安装到某个 texmf 目录,并让你的 latex 处理器使用该 texmf 目录,以使上述更改生效。

也可以看看GitHub 上关于此问题的一个问题

答案2

iftex.sty在路径中安装了一个版本,该版本与发行版的目录不同。删除不属于发行版的版本解决了该问题。在 ifluatex 错误之前,有一个关于 iftex 版本的 LaTeX 警告。

相关内容