From 29e64597d045e8cb6ebebb67de75835d128f6be3 Mon Sep 17 00:00:00 2001 From: Vincent van Ravesteijn Date: Sat, 22 Sep 2012 23:14:34 +0200 Subject: [PATCH] Fix bug #6389: Make columns RTL in RTL document --- src/BufferParams.cpp | 3 +++ src/LaTeXFeatures.cpp | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp index 2c96da3c06..c53d0ec921 100644 --- a/src/BufferParams.cpp +++ b/src/BufferParams.cpp @@ -1163,6 +1163,9 @@ void BufferParams::validate(LaTeXFeatures & features) const { features.require(documentClass().requires()); + if (columns > 1 && language->rightToLeft()) + features.require("rtloutputdblcol"); + if (outputChanges) { bool dvipost = LaTeXFeatures::isAvailable("dvipost"); bool xcolorulem = LaTeXFeatures::isAvailable("ulem") && diff --git a/src/LaTeXFeatures.cpp b/src/LaTeXFeatures.cpp index a4955f197b..169f4e6873 100644 --- a/src/LaTeXFeatures.cpp +++ b/src/LaTeXFeatures.cpp @@ -277,6 +277,42 @@ static docstring const lyxref_def = from_ascii( " {\\def\\RSlemtxt{lemma~}\\newref{lem}{name = \\RSlemtxt}}\n" " {}\n"); +// Make sure the columns are also outputed as rtl +static docstring const rtloutputdblcol_def = from_ascii( + "\\def\\@outputdblcol{%\n" + " \\if@firstcolumn\n" + " \\global \\@firstcolumnfalse\n" + " \\global \\setbox\\@leftcolumn \\box\\@outputbox\n" + " \\else\n" + " \\global \\@firstcolumntrue\n" + " \\setbox\\@outputbox \\vbox {%\n" + " \\hb@xt@\\textwidth {%\n" + " \\kern\\textwidth \\kern-\\columnwidth %**\n" + " \\hb@xt@\\columnwidth {%\n" + " \\box\\@leftcolumn \\hss}%\n" + " \\kern-\\textwidth %**\n" + " \\hfil\n" + " {\\normalcolor\\vrule \\@width\\columnseprule}%\n" + " \\hfil\n" + " \\kern-\\textwidth %**\n" + " \\hb@xt@\\columnwidth {%\n" + " \\box\\@outputbox \\hss}%\n" + " \\kern-\\columnwidth \\kern\\textwidth %**\n" + " }%\n" + " }%\n" + " \\@combinedblfloats\n" + " \\@outputpage\n" + " \\begingroup\n" + " \\@dblfloatplacement\n" + " \\@startdblcolumn\n" + " \\@whilesw\\if@fcolmade \\fi\n" + " {\\@outputpage\n" + " \\@startdblcolumn}%\n" + " \\endgroup\n" + " \\fi\n" + "}\n" + "\\@mparswitchtrue\n"); + ///////////////////////////////////////////////////////////////////// // @@ -1072,6 +1108,9 @@ docstring const LaTeXFeatures::getMacros() const if (mustProvide("ct-none")) macros << changetracking_none_def; + if (mustProvide("rtloutputdblcol")) + macros << rtloutputdblcol_def; + return macros.str(); } -- 2.39.2