]> git.lyx.org Git - features.git/commitdiff
Adapt output to the on-screen representation.
authorEnrico Forestieri <forenr@lyx.org>
Sat, 17 May 2014 20:05:07 +0000 (22:05 +0200)
committerEnrico Forestieri <forenr@lyx.org>
Sat, 17 May 2014 20:05:07 +0000 (22:05 +0200)
LyX assumes that a standard paragraph following a layout with
NextNoIndent==false has to be indented on screen, so output the
necessary blank line to make it so also in the output.

src/output_latex.cpp
status.21x

index 31211d1c8554cc01c6897cfe9bc2aaadc1a30e72..1fd387ccf2666d7c02f9724170145e8c77bc5d57 100644 (file)
@@ -198,8 +198,10 @@ static TeXEnvironmentData prepareEnvironment(Buffer const & buf,
 }
 
 
-static void finishEnvironment(otexstream & os, OutputParams const & runparams,
-                              TeXEnvironmentData const & data)
+static void finishEnvironment(Buffer const & buf, Text const & text,
+                             pit_type nextpit, otexstream & os,
+                             OutputParams const & runparams,
+                             TeXEnvironmentData const & data)
 {
        if (open_encoding_ == CJK && data.cjk_nested) {
                // We need to close the encoding even if it does not change
@@ -227,6 +229,14 @@ static void finishEnvironment(otexstream & os, OutputParams const & runparams,
                                os << setEncoding(data.prev_encoding->iconvName());
                }
        }
+
+       // Check whether we should output a blank line after the environment
+       DocumentClass const & tclass = buf.params().documentClass();
+       ParagraphList const & pars = text.paragraphs();
+       bool next_style_is_default = (nextpit >= runparams.par_end) ? false
+               : tclass.isDefaultLayout(pars.constIterator(nextpit)->layout());
+       if (!data.style->nextnoindent && next_style_is_default)
+               os << '\n';
 }
 
 
@@ -306,7 +316,7 @@ void TeXEnvironment(Buffer const & buf, Text const & text,
                        prepareEnvironment(buf, text, par, os, runparams);
                // Recursive call to TeXEnvironment!
                TeXEnvironment(buf, text, runparams, pit, os);
-               finishEnvironment(os, runparams, data);
+               finishEnvironment(buf, text, pit + 1, os, runparams, data);
        }
 
        if (pit != runparams.par_end)
@@ -1142,7 +1152,7 @@ void latexParagraphs(Buffer const & buf,
                        prepareEnvironment(buf, text, par, os, runparams);
                // pit can be changed in TeXEnvironment.
                TeXEnvironment(buf, text, runparams, pit, os);
-               finishEnvironment(os, runparams, data);
+               finishEnvironment(buf, text, pit + 1, os, runparams, data);
        }
 
        if (pit == runparams.par_end) {
index 5e7c88f26e33e912fc544d9b0dc0eb8971951b2c..f08a5ca8153694f704bf32433b64e2c07daa7865 100644 (file)
@@ -80,6 +80,8 @@ What's new
 
 - Fix table cell rotation conversion from 2.1 to 2.0 format.
 
+- Honor the NextNoIndent layout parameter also in the exported output.
+
 
 * USER INTERFACE