如果使用 \setotherlanguage xelatex 載入「從右到左」語言,則 \RLmulticolcolumns 停用

如果使用 \setotherlanguage xelatex 載入「從右到左」語言,則 \RLmulticolcolumns 停用

\RLmulticolcolumns來自package 的命令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},列的順序就會從左到右開始,如果我們arabicfarsi或 任何從右到左的語言替換,也會發生同樣的情況。

我認為問題來自於當從右到左的語言被定義為其他語言時polyglossia定義發生變化的套件。\RLmulticolcolumns

如何解決此問題並利用\RLmulticolcolumns從右到左語言設定為其他語言的命令,謝謝。

答案1

\RTLmulticolcolumns使用from 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}

相關內容