]> git.lyx.org Git - features.git/blobdiff - src/BufferParams.cpp
BufferParams.cpp: Simplify babel call
[features.git] / src / BufferParams.cpp
index 4d8b0b6ea660f7acbc6d03db0547d549aeabcb04..5e573035467d3a34c914f9fcea21090eebab6118 100644 (file)
@@ -1408,21 +1408,19 @@ string const BufferParams::dvips_options() const
 
 string const BufferParams::babelCall(string const & lang_opts) const
 {
-       string tmp = lyxrc.language_package;
-       if (!lyxrc.language_global_options && tmp == "\\usepackage{babel}")
-               tmp = string("\\usepackage[") + lang_opts + "]{babel}";
-       // suppress the babel call when there is no babel language defined
-       // in the lib/languages file
-       if (lyxrc.language_global_options && tmp == "\\usepackage{babel}" &&
-               language->babel().empty() ) {
-               // if the armscii8 or a CJK encoding is used, babel has to be called
-               // for foreign languages
-               if (!lang_opts.empty())
-                       tmp = string("\\usepackage[") + lang_opts + "]{babel}";
-               else
-                       tmp.clear();
+       string lang_pack = lyxrc.language_package;
+    if (lang_pack == "\\usepackage{babel}") {
+               // suppress the babel call when there is no babel language defined
+           // for the document language in the lib/languages file and if no
+               // other languages are used
+               if (language->babel().empty() && lang_opts.empty())
+                               lang_pack.clear();
+           if (!lyxrc.language_global_options && !lang_opts.empty())
+               lang_pack = string("\\usepackage[") + lang_opts + "]{babel}";
+           if (lyxrc.language_global_options)
+               return lang_pack;
        }
-       return tmp;
+       return lang_pack;
 }