![未定义的控制序列 - ifluatex](https://linux22.com/image/451723/%E6%9C%AA%E5%AE%9A%E4%B9%89%E7%9A%84%E6%8E%A7%E5%88%B6%E5%BA%8F%E5%88%97%20-%20ifluatex.png)
我正在尝试构建 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 警告。