2

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}
  • I don't think ExPex is the culprit here, since a simple enumerate environment shows the same issue. – Alan Munn Apr 26 '18 at 18:58
  • @AlanMunn I added a working, non-ExPeX MWE in case it helps troubleshoot. – AML Apr 26 '18 at 19:11
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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.