]> git.lyx.org Git - lyx.git/blobdiff - src/LaTeX.cpp
MathML for InsetMathBig.
[lyx.git] / src / LaTeX.cpp
index 6bd55e8216af6127564548b8812c52ccc9188117..49968ffdc8a6884995b4f53ff166c66fe09b7b05 100644 (file)
@@ -50,7 +50,6 @@ namespace os = support::os;
 //   different way.
 // - the makeindex style files should be taken care of with
 //   the dependency mechanism.
-// - makeindex commandline options should be supported
 // - somewhere support viewing of bibtex and makeindex log files.
 // - we should perhaps also scan the bibtex log file
 
@@ -412,14 +411,22 @@ int LaTeX::startscript()
 bool LaTeX::runMakeIndex(string const & f, OutputParams const & runparams,
                         string const & params)
 {
-       LYXERR(Debug::LATEX,
-               "idx file has been made, running makeindex on file " << f);
        string tmp = runparams.use_japanese ?
                lyxrc.jindex_command : lyxrc.index_command;
+       
+       if (!runparams.index_command.empty())
+               tmp = runparams.index_command;
+
+       LYXERR(Debug::LATEX,
+               "idx file has been made, running index processor ("
+               << tmp << ") on file " << f);
 
        tmp = subst(tmp, "$$lang", runparams.document_language);
-       if (runparams.use_indices)
+       if (runparams.use_indices) {
                tmp = lyxrc.splitindex_command + " -m " + quoteName(tmp);
+               LYXERR(Debug::LATEX,
+               "Multiple indices. Using splitindex command: " << tmp);
+       }
        tmp += ' ';
        tmp += quoteName(f);
        tmp += params;
@@ -565,6 +572,9 @@ bool LaTeX::runBibTeX(vector<AuxInfo> const & bibtex_info,
 
                string tmp = runparams.use_japanese ?
                        lyxrc.jbibtex_command : lyxrc.bibtex_command;
+
+               if (!runparams.bibtex_command.empty())
+                       tmp = runparams.bibtex_command;
                tmp += " ";
                // onlyFilename() is needed for cygwin
                tmp += quoteName(onlyFilename(removeExtension(
@@ -661,7 +671,9 @@ int LaTeX::scanLogFile(TeXErrors & terr)
                                retval |= RERUN;
                        }
                } else if (prefixIs(token, "! ")
-                           || (fle_style && regex_match(token, sub, file_line_error))) {
+                           || (fle_style
+                               && regex_match(token, sub, file_line_error)
+                               && !contains(token, "pdfTeX warning"))) {
                           // Ok, we have something that looks like a TeX Error
                           // but what do we really have.
 
@@ -780,12 +792,13 @@ bool handleFoundFile(string const & ff, DepTable & head)
        // (1) foundfile is an
        //     absolute path and should
        //     be inserted.
-       FileName absname(foundfile);
-       if (absname.isAbsolute()) {
+       FileName absname;
+       if (FileName::isAbsolute(foundfile)) {
                LYXERR(Debug::DEPEND, "AbsolutePath file: " << foundfile);
                // On initial insert we want to do the update at once
                // since this file cannot be a file generated by
                // the latex run.
+               absname.set(foundfile);
                if (!insertIfExists(absname, head)) {
                        // check for spaces
                        string strippedfile = foundfile;
@@ -1014,7 +1027,7 @@ void LaTeX::deplog(DepTable & head)
                // where "File: file.ext" would be skipped
                if (regex_match(token, sub, reg6)) {
                        // search for strings in (...)
-                       static regex reg6_1("\\(([^()]+)(.).*");
+                       static regex reg6_1("\\(([^()]+)(.)");
                        smatch what;
                        string::const_iterator first = token.begin();
                        string::const_iterator end = token.end();