bidi 包在最新版本的 multicol 中失败

bidi 包在最新版本的 multicol 中失败

multicol我在 RTL 文档中有一个带包的简单示例bidi。我的 TL2021 中的包版本multicol是 1.9b,使用 xelatex 编译后的结果不正确

\documentclass{article}
\usepackage{multicol}
\usepackage{lipsum}
\usepackage[rldocument]{bidi}

\setlength\columnseprule{0.4pt}

\begin{document}

\begin{multicols}{2}
\lipsum
\end{multicols}

\end{document}

在此处输入图片描述

答案1

正如我在评论中提到的那样,这是由于对 multicol 的内部命令进行了修复,而这些修复尚未反映在 bidi 所做的补丁中(到目前为止)。

如果 Ulrike 建议的补丁不足以解决问题,则可以进行临时修复,如下所示单独回滚 multicol(遗憾的是,您必须回滚很长一段距离,因为我没有添加针对 1.8 的回滚)。

尝试这个:

\usepackage{multicol}[=2018-01-01]

在您的文档中,直到 bidi 更新为止。

答案2

您可以尝试这个(但其中涉及很多猜测,所以我不知道它是否也适用于更复杂的情况下):

\documentclass{article}
\usepackage{multicol}
\usepackage{lipsum}
\usepackage[rldocument]{bidi}

\setlength\columnseprule{0.4pt}
\usepackage{etoolbox}
\makeatletter
\patchcmd\LTR@column@boxes{\mult@gfirstbox}{\mult@firstbox}{}{\fail}
\patchcmd\RTL@column@boxes{\mult@gfirstbox}{\mult@firstbox}{}{\fail}
\patchcmd\RTL@column@boxes{\mult@gfirstbox}{\mult@firstbox}{}{\fail}
\makeatother

\begin{document}

\begin{multicols}{2}
\lipsum
\end{multicols}

\end{document}

相关内容