// We assume that a tex class exists for local or unknown layouts so this warning
// will only be given for system layouts.
if (!baseClass()->isTeXClassAvailable()) {
- docstring desc =
+ docstring const desc =
translateIfPossible(from_utf8(baseClass()->description()));
+ docstring const prereqs = from_utf8(baseClass()->prerequisites());
docstring const msg =
bformat(_("The selected document class\n"
"\t%1$s\n"
"requires external files that are not available.\n"
- "The document class can still be used, but LyX\n"
- "will not be able to produce output until the\n"
- "following prerequisites are installed:\n"
+ "The document class can still be used, but the\n"
+ "document cannot be compiled until the following\n"
+ "prerequisites are installed:\n"
"\t%2$s\n"
"See section 3.1.2.2 of the User's Guide for\n"
- "more information."),
- desc, from_utf8(baseClass()->prerequisites()));
+ "more information."), desc, prereqs);
frontend::Alert::warning(_("Document class not available"),
msg);
}
features.useLanguage(default_language);
ostringstream language_options;
- bool const use_babel = features.useBabel();
+ bool const use_babel = features.useBabel() && !tclass.provides("babel");
if (use_babel) {
language_options << features.getLanguages();
if (!language->babel().empty()) {
texrow.newlines(lines);
// set back for the rest
lyxpreamble.clear();
- }
+ } else if (features.isRequired("nameref"))
+ // hyperref loads this automatically
+ lyxpreamble += "\\usepackage{nameref}\n";
// Will be surrounded by \makeatletter and \makeatother when not empty
docstring atlyxpreamble;