8

Is it possible in two columns page style, change order of column 1 and column 2? In other words I want to have a latex page as follow:

enter image description here

Thanks.

  • What is meant by changing the order? Should the right-hand column fill up with text first? Should the columns be automatically balanced? – Dai Bowen Dec 04 '16 at 14:49
  • Yes, right-hand column fill up with text first. I want to change place of left column by right column. –  Dec 04 '16 at 14:54
  • Is this question about when using columns from the multicol package or using the twocolumn class options/\twocolumn macro? – Dai Bowen Dec 04 '16 at 14:57
  • I used multicol package. –  Dec 04 '16 at 14:59

3 Answers3

13

To switch between typesetting columns from left to right and right to left, the multicol package provides the \RLmulticolcolumns and \LRmulticolcolumns commands which reverse the order in which columns are produced.

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

\begin{document}
\begin{multicols}{2}
\lipsum[1]
\end{multicols}
\RLmulticolcolumns
\begin{multicols}{2}
\lipsum[1]
\end{multicols}
\end{document}

enter image description here

Dai Bowen
  • 6,117
4

The columns environment for ConTeXt let you change the order of the columns with the direction key.

\setupcolumns
  [direction=left]

\starttext

\startcolumns
The Earth, as a habitat for animal life, is in old age and
has a fatal illness. Several, in fact. It would be happening
whether humans had ever evolved or not. But our presence is
like the effect of an old-age patient who smokes many packs
of cigarettes per day – and we humans are the cigarettes.
\stopcolumns

\stoptext

enter image description here

When the newer mixedcolumns environment is used one has to use the reverse keyword for the direction key.

\setupmixedcolumns
  [align=verytolerant,
   balance=yes,
   direction=reverse]

\starttext

\startmixedcolumns
The Earth, as a habitat for animal life, is in old age and
has a fatal illness. Several, in fact. It would be happening
whether humans had ever evolved or not. But our presence is
like the effect of an old-age patient who smokes many packs
of cigarettes per day – and we humans are the cigarettes.
\stopmixedcolumns

\stoptext

enter image description here

Wolfgang Schuster
  • 9,400
  • 1
  • 16
  • 19
3

This isn't a general answer but is useful. If we use xepersian package then we can use \RTLmulticolcolumns and \LTRmulticolcolumns commands which reverse the order.

    \documentclass{article}
    \usepackage{multicol}
    \usepackage{lipsum}
    \usepackage{xepersian}
    \settextfont[Scale=1]{B Nazanin}.
    \setlatintextfont{Times New Roman}
    \setdigitfont[Scale=1]{Yas}
    \begin{document}

    \RTLmulticolcolumns
    \begin{multicols}{2}

    some persian tex

    \end{multicols}
    \LTRmulticolcolumns
    \begin{multicols}{2}

    some persian tex

    \end{multicols}
    \end{document}
  • multicol already offers that out of the box for a couple of years.´so there is no need to load additional packages to achieve the effect – Frank Mittelbach Dec 05 '16 at 14:43
  • @FrankMittelbach: I am using xepersian to write a text contatining both RTL and LTR languages and the multicols options does not work correctly. – Hosein Rahnama Dec 23 '23 at 14:26
  • @HoseinRahnama what exactly do you mean "does not work correctly"? Multicol only alters the order in which the columns are filled anything else is up to the language package, etc that is used. If you have difficulties I suggest you ask a separate question with an example of what does not work and what you would expect instead. – Frank Mittelbach Dec 23 '23 at 17:17