]> git.lyx.org Git - lyx.git/blobdiff - src/LaTeX.cpp
DocBook: eat a bit of that spaghetti code.
[lyx.git] / src / LaTeX.cpp
index 81f8a39b3af9a60ac0b9697284fcdfae836a5a88..f5b6d20d3029f42add5f1207e9e3f6195c542f9b 100644 (file)
@@ -23,6 +23,7 @@
 #include "LyX.h"
 #include "DepTable.h"
 #include "Encoding.h"
+#include "Language.h"
 
 #include "support/debug.h"
 #include "support/convert.h"
@@ -541,13 +542,15 @@ int LaTeX::runMakeIndex(string const & f, OutputParams const & rp,
 
        if (!rp.index_command.empty())
                tmp = rp.index_command;
+
+       Language const * doc_lang = languages.getLanguage(rp.document_language);
        
        if (contains(tmp, "$$x")) {
                // This adds appropriate [te]xindy options
                // such as language and codepage (for the
                // main document language/encoding) as well
                // as input markup (latex or xelatex)
-               string xdyopts = rp.xindy_language;
+               string xdyopts = doc_lang ? doc_lang->xindy() : string();
                if (!xdyopts.empty())
                        xdyopts = "-L " + xdyopts;
                if (rp.isFullUnicode() && rp.encoding->package() == Encoding::none) {
@@ -580,7 +583,10 @@ int LaTeX::runMakeIndex(string const & f, OutputParams const & rp,
                "idx file has been made, running index processor ("
                << tmp << ") on file " << f);
 
-       tmp = subst(tmp, "$$lang", rp.document_language);
+       if (doc_lang) {
+               tmp = subst(tmp, "$$lang", doc_lang->babel());
+               tmp = subst(tmp, "$$lcode", doc_lang->code());
+       }
        if (rp.use_indices) {
                tmp = lyxrc.splitindex_command + " -m " + quoteName(tmp);
                LYXERR(Debug::LATEX,