inputenc = "auto";
graphicsDriver = "default";
defaultOutputFormat = "default";
+ bibtex_command = "default";
+ index_command = "default";
sides = OneSide;
columns = 1;
listings_params = string();
readGraphicsDriver(lex);
} else if (token == "\\default_output_format") {
lex >> defaultOutputFormat;
+ } else if (token == "\\bibtex_command") {
+ lex.eatLine();
+ bibtex_command = lex.getString();
+ } else if (token == "\\index_command") {
+ lex.eatLine();
+ index_command = lex.getString();
} else if (token == "\\font_roman") {
lex.eatLine();
fontsRoman = lex.getString();
}
os << "\n\\graphics " << graphicsDriver << '\n';
os << "\\default_output_format " << defaultOutputFormat << '\n';
+ os << "\\bibtex_command " << bibtex_command << '\n';
+ os << "\\index_command " << index_command << '\n';
if (!float_placement.empty()) {
os << "\\float_placement " << float_placement << '\n';
// this one is not per buffer
// for arabic_arabi and farsi we also need to load the LAE and
// LFE encoding
- // XeteX works without fontenc
+ // XeTeX works without fontenc
if (lyxrc.fontenc != "default" && language->lang() != "japanese"
&& !useXetex) {
if (language->lang() == "arabic_arabi"
lyxpreamble += oss.str();
}
- // Will be surrounded by \makeatletter and \makeatother when needed
+ // Will be surrounded by \makeatletter and \makeatother when not empty
docstring atlyxpreamble;
// Some macros LyX will need
+ tmppreamble + '\n';
/* the user-defined preamble */
- if (!preamble.empty())
+ if (!containsOnly(preamble, " \n\t"))
// FIXME UNICODE
atlyxpreamble += "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% "
"User specified LaTeX commands.\n"
if (!bullets_def.empty())
atlyxpreamble += bullets_def + "}\n\n";
- if (atlyxpreamble.find(from_ascii("@")) != docstring::npos)
+ if (!atlyxpreamble.empty())
lyxpreamble += "\n\\makeatletter\n"
+ atlyxpreamble + "\\makeatother\n\n";
- else
- lyxpreamble += '\n' + atlyxpreamble;
// We try to load babel late, in case it interferes with other packages.
// Jurabib and Hyperref have to be called after babel, though.