]> git.lyx.org Git - lyx.git/blobdiff - src/output_latex.cpp
This comment is wrong and causes bug in revision control.
[lyx.git] / src / output_latex.cpp
index 564b345633408182d6a08c48b62cc90c933e6704..4ffcda59a8b652d4b09528672cb7a4d93efef662 100644 (file)
@@ -109,7 +109,7 @@ TeXEnvironment(Buffer const & buf,
 
        BufferParams const & bparams = buf.params();
 
-       Layout const & style = pit->forceEmptyLayout() ?
+       Layout const & style = pit->forcePlainLayout() ?
                bparams.documentClass().emptyLayout() : pit->layout();
 
        ParagraphList const & paragraphs = text.paragraphs();
@@ -309,7 +309,7 @@ TeXOnePar(Buffer const & buf,
                return nextpit;
        }
 
-       Layout const style = pit->forceEmptyLayout() ?
+       Layout const style = pit->forcePlainLayout() ?
                bparams.documentClass().emptyLayout() : pit->layout();
 
        OutputParams runparams = runparams_in;
@@ -700,10 +700,10 @@ TeXOnePar(Buffer const & buf,
        // the inset, and we're using "auto" or "default" encoding, the encoding
        // should be set back to that local_font's encoding.
        if (nextpit == paragraphs.end() && runparams_in.local_font != 0
+           && runparams_in.encoding != runparams_in.local_font->language()->encoding()
            && (bparams.inputenc == "auto" || bparams.inputenc == "default")) {
                runparams_in.encoding = runparams_in.local_font->language()->encoding();
                os << setEncoding(runparams_in.encoding->iconvName());
-
        }
        // Otherwise, the current encoding should be set for the next paragraph.
        else
@@ -784,7 +784,7 @@ void latexParagraphs(Buffer const & buf,
        // if only_body
        while (par != endpar) {
                lastpar = par;
-               Layout const & layout = par->forceEmptyLayout() ?
+               Layout const & layout = par->forcePlainLayout() ?
                                tclass.emptyLayout() :
                                par->layout();
 
@@ -816,10 +816,7 @@ void latexParagraphs(Buffer const & buf,
                        was_title = false;
                }
 
-               if (layout.is_environment) {
-                       par = TeXOnePar(buf, text, par, os, texrow,
-                                       runparams, everypar);
-               } else if (layout.isEnvironment() ||
+               if (layout.isEnvironment() ||
                                        !par->params().leftIndent().zero()) {
                        par = TeXEnvironment(buf, text, par, os,
                                                                texrow, runparams);
@@ -873,12 +870,13 @@ void latexParagraphs(Buffer const & buf,
 
 
 pair<bool, int> switchEncoding(odocstream & os, BufferParams const & bparams,
-                  OutputParams const & runparams, Encoding const & newEnc)
+                  OutputParams const & runparams, Encoding const & newEnc,
+                  bool force)
 {
        Encoding const oldEnc = *runparams.encoding;
        bool moving_arg = runparams.moving_arg;
-       if ((bparams.inputenc != "auto" && bparams.inputenc != "default")
-               || moving_arg)
+       if (!force && ((bparams.inputenc != "auto" && bparams.inputenc != "default")
+               || moving_arg))
                return make_pair(false, 0);
 
        // Do nothing if the encoding is unchanged.