#include "format.h"
#include "lyxrc.h"
#include "buffer.h"
+#include "buffer_funcs.h"
#include "bufferview_funcs.h"
+#include "errorlist.h"
#include "LaTeX.h"
#include "lyx_cb.h" // ShowMessage()
#include "gettext.h"
if (edgepath.empty()) {
return false;
}
+ LatexRunParams runparams;
+ runparams.flavor = usePdflatex(edgepath) ?
+ LatexRunParams::PDFLATEX : LatexRunParams::LATEX;
string path = OnlyPath(from_file);
Path p(path);
run_latex = true;
string command = subst(conv.command, token_from, "");
lyxerr[Debug::FILES] << "Running " << command << endl;
- if (!runLaTeX(buffer, command))
+ if (!runLaTeX(buffer, command, runparams))
return false;
} else {
if (conv.need_aux && !run_latex
lyxerr[Debug::FILES]
<< "Running " << latex_command_
<< " to update aux file"<< endl;
- runLaTeX(buffer, latex_command_);
+ runLaTeX(buffer, latex_command_, runparams);
}
string infile2 = (conv.original_dir)
}
-bool Converters::scanLog(Buffer const * buffer, string const & command,
+bool Converters::scanLog(Buffer const * buffer, string const & /*command*/,
string const & filename)
{
if (!buffer)
return false;
BufferView * bv = buffer->getUser();
- LaTeX latex("", filename, "");
+ LatexRunParams runparams;
+ runparams.flavor = LatexRunParams::LATEX;
+ LaTeX latex("", runparams, filename, "");
TeXErrors terr;
int result = latex.scanLogFile(terr);
+
if (bv && (result & LaTeX::ERRORS))
- bv->showErrorList();
+ parseErrors(*buffer, terr);
return true;
}
-bool Converters::runLaTeX(Buffer const * buffer, string const & command)
+bool Converters::runLaTeX(Buffer const * buffer, string const & command,
+ LatexRunParams const & runparams)
{
if (!buffer)
return false;
// do the LaTeX run(s)
string name = buffer->getLatexName();
- LaTeX latex(command, name, buffer->filePath());
+ LaTeX latex(command, runparams, name, buffer->filePath());
TeXErrors terr;
int result = latex.run(terr,
bv ? &bv->owner()->getLyXFunc() : 0);
- if (bv && (result & LaTeX::ERRORS)) {
- //show errors
- bv->showErrorList();
- }
+ if (bv && (result & LaTeX::ERRORS))
+ parseErrors(*buffer, terr);
// check return value from latex.run().
if ((result & LaTeX::NO_LOGFILE)) {