[texhax] How to reverse the columns in "twocolumn" layout?

Donald Arseneau asnd at triumf.ca
Fri Nov 21 23:49:48 CET 2008

Tigran Aivazian <tigran at bibles.org.uk> writes:

> I would like to use "twocolumn" option for my Hebrew and other Semitic Bible
> editions (e.g. Syriac, Aramaic etc) which are written right-to-left, but the
> problem of "twocolumn" is that it starts from the left column whereas I need
> it to start the page from the right column.
> Is there any way to tell XeLaTeX to do this? I looked at the "*dblcolumn*
> routines in base/latex.ltx but cannot figure out how to do this.

It is quite easy.  Copy out the \@outputdblcol definition from latex.ltx,
and put it in a .sty (or .cls) file, then, in your copy, exchange the two
                             \box\@leftcolumn \hss}%
                             \box\@outputbox \hss}%

You should also declare \@mparswitchtrue.

Correction on my simple exchange above!  I realize that will put
the auxiliary file entries in the wrong order, so, for example, 
bibTeX may get the numbering wrong, and toc entries will be out
of order.

A more thorough redefinition (again, untested) is (part of

   \setbox\@outputbox \vbox {%
                         \hb at xt@\textwidth {%
                           \kern\textwidth \kern-\columnwidth  %**
                           \hb at xt@\columnwidth {%
                             \box\@leftcolumn \hss}%
                           \kern-\textwidth %**
                           {\normalcolor\vrule \@width\columnseprule}%
                           \kern-\textwidth  %**
                           \hb at xt@\columnwidth {%
                             \box\@outputbox \hss}%
                           \kern-\columnwidth \kern\textwidth %**

(All repositioning is done with \kern and marked with %**)

Donald Arseneau                          asnd at triumf.ca

More information about the texhax mailing list