3

According to the multicol documentation, on page 5 section 2.5, you can switch to right-to-left columns by invoking \RLmulticolcolumns. I have done this, yet it doesn't work. Is this a bug, or am I doing something wrong? Does expex not play nice with multicol?

%XeLaTeX
\documentclass[11pt]{scrartcl}
\usepackage{multicol}    
\usepackage{polyglossia}
    \setdefaultlanguage{english}
    \setotherlanguage{hebrew}
    \newfontfamily\hebrewfont[Script=Hebrew]{Arial}
    \newfontfamily\englishfont[Ligatures=NoCommon]{Linux Libertine O}

\usepackage{expex}

\begin{document}

\section{Foo Bar}

\RLmulticolcolumns

  \begin{multicols}{3}
    \begin{hebrew}

\ex\begingl%
    \gla אני מורה //  
    \glb ani more //  
    \glc I teacher //   
\endgl\xe%

\ex\begingl%
    \gla אני מורה //  
    \glb ani more //  
    \glc I teacher //   
\endgl\xe%

\ex\begingl%
    \gla אני מורה //  
    \glb ani more //  
    \glc I teacher //   
\endgl\xe%

    \end{hebrew}
  \end{multicols}
\end{document}

(1) should be on right and (3) should be on left. enter image description here

EDIT: I found a random, non-ExPeX test case where RLmulticolcolumns does work. Toggle it on and off to see it working:

\documentclass{article}
\usepackage{multicol}
\setlength{\multicolsep}{6.0pt plus 2.0pt minus 1.5pt}% 50% of original values
\usepackage{lipsum}

\begin{document}
\lipsum[1]
%\RLmulticolcolumns
\begin{multicols}{3}
   \noindent
   \begin{equation}\sum F_x = 0\end{equation}
   \begin{equation}\frac{dP}{dx} - p = 0\end{equation}
   \begin{equation}\sum F_y = 0\end{equation}
   \begin{equation}\frac{dQ}{dx} + q = 0\end{equation}
   \begin{equation}\sum M = 0\end{equation}
   \begin{equation}\frac{dQ}{dx} + q = 0\end{equation}
\end{multicols}
\lipsum[1]
\end{document}
2
  • I don't think ExPex is the culprit here, since a simple enumerate environment shows the same issue.
    – Alan Munn
    Apr 26, 2018 at 18:58
  • @AlanMunn I added a working, non-ExPeX MWE in case it helps troubleshoot.
    – AML
    Apr 26, 2018 at 19:11

1 Answer 1

2

The polyglossia package loads the bidi package whenever an RTL language is declared, and bidi modifies the behaviour of lots of packages to adapt them to RTL typesetting, so it's always useful to check the bidi documentation (texdoc bidi-doc) to see what it has done.

In this case, bidi has a different macro to change the direction of multicol columns: instead of the multicol macro \RLmuticolcolumns, bidi defines an \RTLmulticolcolumns macro. If you use this, things work.

As with all bidi issues, make sure that you load most package before declaring your RTL languages, since bidi modifies lots of package code.

\documentclass[11pt]{scrartcl}
\usepackage{multicol}
\usepackage{expex}  
\usepackage{polyglossia}
    \setdefaultlanguage{english}
    \setotherlanguage{hebrew}
    \newfontfamily\hebrewfont[Script=Hebrew]{David CLM}
    \newfontfamily\englishfont[Ligatures=NoCommon]{Linux Libertine O}

\begin{document}
\section{Foo Bar}

\RTLmulticolcolumns % bidi version of \RLmulticolcolumns
\begin{hebrew}
\begin{multicols}{3}

\ex\begingl%
    \gla אני מורה //  
    \glb ani more //  
    \glc I teacher //   
\endgl
\xe%

\ex\begingl%
    \gla אני מורה //  
    \glb ani more //  
    \glc I teacher //   
\endgl
\xe%

\ex\begingl%
    \gla אני מורה //  
    \glb ani more //  
    \glc I teacher //   
\endgl
\xe%


\end{multicols}
\end{hebrew}
\end{document}

output of code

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .