]> git.lyx.org Git - lyx.git/blobdiff - src/output_latex.cpp
Russian splash.lyx: updates from Yuriy
[lyx.git] / src / output_latex.cpp
index 656e4d84afcfca2f47c2861a335f3353c1c394c7..1431bbb321254fa7e32da97211f3806401b09196 100644 (file)
@@ -510,7 +510,7 @@ void getArgInsets(otexstream & os, OutputParams const & runparams, Layout::LaTeX
 }
 
 
-} // namespace anon
+} // namespace
 
 
 void pushLanguageName(string const & lang_name, bool localswitch)
@@ -532,6 +532,14 @@ void popLanguageName()
 }
 
 
+string const & openLanguageName()
+{
+       OutputState * state = getOutputState();
+
+       return openLanguageName(state);
+}
+
+
 namespace {
 
 void addArgInsets(Paragraph const & par, string const & prefix,
@@ -563,7 +571,7 @@ void addArgInsets(Paragraph const & par, string const & prefix,
        }
 }
 
-} // anon namespace
+} // namespace
 
 
 void latexArgInsets(Paragraph const & par, otexstream & os,
@@ -639,7 +647,7 @@ namespace {
 
 // output the proper paragraph start according to latextype.
 void parStartCommand(Paragraph const & par, otexstream & os,
-                    OutputParams const & runparams, Layout const & style) 
+                    OutputParams const & runparams, Layout const & style)
 {
        switch (style.latextype) {
        case LATEX_COMMAND:
@@ -666,7 +674,7 @@ void parStartCommand(Paragraph const & par, otexstream & os,
        }
 }
 
-} // namespace anon
+} // namespace
 
 // FIXME: this should be anonymous
 void TeXOnePar(Buffer const & buf,
@@ -882,7 +890,7 @@ void TeXOnePar(Buffer const & buf,
                        }
                        // With CJK, the CJK tag has to be closed first (see below)
                        if (runparams.encoding->package() != Encoding::CJK
-                           && par_lang != openLanguageName(state)
+                           && (par_lang != openLanguageName(state) || localswitch)
                            && !par_lang.empty()) {
                                string bc = use_polyglossia ?
                                          getPolyglossiaBegin(lang_begin_command, par_lang, par_language->polyglossiaOpts())
@@ -1028,8 +1036,8 @@ void TeXOnePar(Buffer const & buf,
                        break;
                }
        }
-
-       // fall through possible
+       // possible
+       // fall through
        default:
                // we don't need it for the last paragraph!!!
                if (nextpar)
@@ -1400,7 +1408,7 @@ void latexParagraphs(Buffer const & buf,
                        TeXOnePar(buf, text, pit, os, runparams, everypar);
                        continue;
                }
-               
+
                TeXEnvironmentData const data =
                        prepareEnvironment(buf, text, par, os, runparams);
                // pit can be changed in TeXEnvironment.
@@ -1486,7 +1494,7 @@ pair<bool, int> switchEncoding(odocstream & os, BufferParams const & bparams,
        Encoding const & oldEnc = *runparams.encoding;
        bool moving_arg = runparams.moving_arg;
        // If we switch from/to CJK, we need to switch anyway, despite custom inputenc
-       bool const from_to_cjk = 
+       bool const from_to_cjk =
                (oldEnc.package() == Encoding::CJK && newEnc.package() != Encoding::CJK)
                || (oldEnc.package() != Encoding::CJK && newEnc.package() == Encoding::CJK);
        if (!force && !from_to_cjk