Команда \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
С помощью команды \RTLmulticolcolumns
from bidi
package вместо \RLmulticolcolumns
from 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}