\RLmulticolcolumns деактивируется, если загружен язык с письмом справа налево с помощью \setotherlanguage xelatex

\RLmulticolcolumns деактивируется, если загружен язык с письмом справа налево с помощью \setotherlanguage xelatex

Команда \RLmulticolcolumnsиз multicolпакета для изменения порядка столбцов на странице справа налево отлично работает с pdflatexили xelatex, вот рабочий пример:

\documentclass{article}
\usepackage{lipsum}
\usepackage{multicol}
\usepackage{polyglossia}

\setdefaultlanguage{english}
%\setotherlanguage{arabic}

\begin{document}

\RLmulticolcolumns

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

\end{document}

Порядок столбцов здесь начинается справа налево.

Если мы раскомментируем строку \setotherlanguage{arabic}, порядок столбцов станет слева направо, то же самое произойдет, если мы заменим ее arabicна farsiили любой язык с письмом справа налево.

Я думаю, что проблема исходит из пакета polyglossia, который меняет определение того, \RLmulticolcolumnsкогда язык с письмом справа налево определяется как другой язык.

Как исправить эту проблему и воспользоваться \RLmulticolcolumnsкомандой с языком с письмом справа налево, установленным в качестве другого языка? Спасибо.

решение1

С помощью команды \RTLmulticolcolumnsfrom bidipackage вместо \RLmulticolcolumnsfrom multicolмы можем получить то, что нам нужно: столбцы, начинающиеся справа налево

\documentclass{article}
\usepackage{lipsum}
\usepackage{multicol}

\usepackage{fontspec}
\usepackage{polyglossia}

\setdefaultlanguage{english}
\setotherlanguage{arabic}

\setmainfont{Times New Roman}
\newfontfamily\arabicfont[Script = Arabic,Scale=1.2]{Amiri} 

\RTLmulticolcolumns % defined from bidi package 

\begin{document}

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

\end{document}

Показано, что пакет polyglossiaиспользуется bidi, если язык с письмом справа налево загружен как другой язык.

введите описание изображения здесь

решение2

Кажется, это \(LR-RL)multicolcolumnsне работает.

вы можете попробовать с командой\resetdefaultlanguage

\documentclass{article}
\usepackage{lipsum}
\usepackage{multicol}

\usepackage{fontspec}
\usepackage{polyglossia}

\setdefaultlanguage{english}
\setotherlanguage{arabic}

\setmainfont{Times New Roman}
\newfontfamily\arabicfont[Script = Arabic,Scale=1.2]{Times New Roman} 

\begin{document}

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

\resetdefaultlanguage{arabic}


\begin{multicols}{2}
اللغة العربية لغة جميله
اللغة العربية لغة جميله
اللغة العربية لغة جميله
اللغة العربية لغة جميله

اللغة العربية لغة جميله
اللغة العربية لغة جميله
اللغة العربية لغة جميله
اللغة العربية لغة جميله

اللغة العربية لغة جميله
اللغة العربية لغة جميله
اللغة العربية لغة جميله
\end{multicols}
\end{document}

Связанный контент