#include "funcrequest.h"
#include "support/filetools.h"
#include "support/FileInfo.h"
+#include "support/tostr.h"
#include "support/lstrings.h"
#include "support/lyxlib.h"
#include "support/systemcall.h"
#include "support/path.h"
#include <boost/regex.hpp>
-#include "BoostFormat.h"
#include <fstream>
#include <cstdio> // sscanf
void showRunMessage(LyXFunc * lf, unsigned int count)
{
- ostringstream str;
-#if USE_BOOST_FORMAT
- str << boost::format(_("Waiting for LaTeX run number %1$d")) % count;
-#else
- str << _("Waiting for LaTeX run number ") << count;
-#endif
- lf->dispatch(FuncRequest(LFUN_MESSAGE, STRCONV(str.str())));
+ string str = bformat(_("Waiting for LaTeX run number %1$s"), tostr(count));
+ lf->dispatch(FuncRequest(LFUN_MESSAGE, str));
}
errors.push_back(newerr);
}
+
+bool operator==(Aux_Info const & a, Aux_Info const & o)
+{
+ return a.aux_file == o.aux_file &&
+ a.citations == o.citations &&
+ a.databases == o.databases &&
+ a.styles == o.styles;
+}
+
+
+bool operator!=(Aux_Info const & a, Aux_Info const & o)
+{
+ return !(a == o);
+}
+
+
/*
* CLASS LaTeX
*/
-LaTeX::LaTeX(string const & latex, string const & f, string const & p)
- : cmd(latex), file(f), path(p)
+LaTeX::LaTeX(string const & latex, LatexRunParams const & rp,
+ string const & f, string const & p)
+ : cmd(latex), file(f), path(p), runparams(rp)
{
num_errors = 0;
depfile = file + ".dep";
bool rerun = false; // rerun requested
// The class LaTeX does not know the temp path.
- bufferlist.updateIncludedTeXfiles(lyx::getcwd());
+ bufferlist.updateIncludedTeXfiles(lyx::getcwd(), runparams);
// Never write the depfile if an error was encountered.
showRunMessage(lfun, count);
}
- this->operator()();
+ startscript();
scanres = scanLogFile(terr);
if (scanres & ERROR_RERUN) {
lyxerr[Debug::LATEX] << "Rerunning LaTeX" << endl;
- this->operator()();
+ startscript();
scanres = scanLogFile(terr);
}
showRunMessage(lfun, count);
}
- this->operator()();
+ startscript();
scanres = scanLogFile(terr);
if (scanres & ERRORS) {
deleteFilesOnError();
showRunMessage(lfun, count);
}
- this->operator()();
+ startscript();
scanres = scanLogFile(terr);
if (scanres & ERRORS) {
deleteFilesOnError();
}
-int LaTeX::operator()()
+int LaTeX::startscript()
{
#ifndef __EMX__
string tmp = cmd + ' ' + QuoteName(file) + " > /dev/null";