From 7a22ce7c09f54ca70f30dde05c3f77c478195e45 Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Tue, 6 Mar 2018 17:54:32 +0100 Subject: [PATCH] tex2lyx: support alignment pseudo-environments. Fixes: #7857 --- src/tex2lyx/text.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/tex2lyx/text.cpp b/src/tex2lyx/text.cpp index 09f0037acc..f37f5777b2 100644 --- a/src/tex2lyx/text.cpp +++ b/src/tex2lyx/text.cpp @@ -1896,12 +1896,18 @@ void parse_environment(Parser & p, ostream & os, bool outer, // Alignment and spacing settings // FIXME (bug xxxx): These settings can span multiple paragraphs and // therefore are totally broken! - // Note that \centering, raggedright, and raggedleft cannot be handled, as + // Note that \centering, \raggedright, and \raggedleft cannot be handled, as // they are commands not environments. They are furthermore switches that // can be ended by another switches, but also by commands like \footnote or // \parbox. So the only safe way is to leave them untouched. + // However, we support the pseudo-environments + // \begin{centering} ... \end{centering} + // \begin{raggedright} ... \end{raggedright} + // \begin{raggedleft} ... \end{raggedleft} + // since they are used by LyX in floats (for spacing reasons) else if (name == "center" || name == "centering" || - name == "flushleft" || name == "flushright" || + name == "flushleft" || name == "raggedright" || + name == "flushright" || name == "raggedleft" || name == "singlespace" || name == "onehalfspace" || name == "doublespace" || name == "spacing") { eat_whitespace(p, os, parent_context, false); @@ -1910,9 +1916,9 @@ void parse_environment(Parser & p, ostream & os, bool outer, parent_context.check_end_layout(os); parent_context.new_paragraph(os); } - if (name == "flushleft") + if (name == "flushleft" || name == "raggedright") parent_context.add_extra_stuff("\\align left\n"); - else if (name == "flushright") + else if (name == "flushright" || name == "raggedleft") parent_context.add_extra_stuff("\\align right\n"); else if (name == "center" || name == "centering") parent_context.add_extra_stuff("\\align center\n");