How to change order of two columns?
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}
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
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
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}