runparams.index_command = (bp.index_command == "default") ?
string() : bp.index_command;
runparams.document_language = bp.language->babel();
+ runparams.xindy_language = bp.language->xindy();
// Some macros rely on font encoding
runparams.main_fontenc = bp.main_font_encoding();
runparams.only_childbibs = !bp.useBiblatex()
string const name = buffer.latexName();
LaTeX latex(command, runparams, FileName(makeAbsPath(name)),
buffer.filePath(), buffer.layoutPos(),
- buffer.isClone(), buffer.lastPreviewError());
+ buffer.isClone(), buffer.freshStartRequired());
TeXErrors terr;
// The connection closes itself at the end of the scope when latex is
// destroyed. One cannot close (and destroy) buffer while the converter is
if (result & LaTeX::ERRORS)
buffer.bufferErrors(terr, errorList);
+ if ((result & LaTeX::UNDEF_CIT) || (result & LaTeX::UNDEF_REF)) {
+ buffer.bufferRefs(terr, errorList);
+ if (errorList.empty())
+ errorList.push_back(ErrorItem(_("Undefined reference"),
+ _("Undefined reference or citation was found during the build, please check the Log."),
+ &buffer));
+ }
+
if (!errorList.empty()) {
// We will show the LaTeX Errors GUI later which contains
// specific error messages so it would be repetitive to give
int const ERROR_MASK =
LaTeX::NO_LOGFILE |
LaTeX::ERRORS |
+ LaTeX::UNDEF_CIT |
+ LaTeX::UNDEF_REF |
LaTeX::NO_OUTPUT;
return (result & ERROR_MASK) == 0 ? SUCCESS : FAILURE;