mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 21:21:32 +00:00
Make it less ugly and safer, as when adding to the preamble one doesn't
have to check whether \makeatletter has already been added or not. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24713 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
a476534342
commit
c4bcdf837a
@ -1271,45 +1271,30 @@ bool BufferParams::writeLaTeX(odocstream & os, LaTeXFeatures & features,
|
||||
lyxpreamble += oss.str();
|
||||
}
|
||||
|
||||
// only add \makeatletter and \makeatother when actually needed
|
||||
bool makeatletter = false;
|
||||
// Will be surrounded by \makeatletter and \makeatother when needed
|
||||
docstring atlyxpreamble;
|
||||
|
||||
// Some macros LyX will need
|
||||
docstring tmppreamble(from_ascii(features.getMacros()));
|
||||
|
||||
if (!tmppreamble.empty()) {
|
||||
if (!makeatletter) {
|
||||
lyxpreamble += "\n\\makeatletter\n";
|
||||
makeatletter = true;
|
||||
}
|
||||
lyxpreamble += "\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% "
|
||||
if (!tmppreamble.empty())
|
||||
atlyxpreamble += "\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% "
|
||||
"LyX specific LaTeX commands.\n"
|
||||
+ tmppreamble + '\n';
|
||||
}
|
||||
|
||||
// the text class specific preamble
|
||||
tmppreamble = features.getTClassPreamble();
|
||||
if (!tmppreamble.empty()) {
|
||||
if (!makeatletter) {
|
||||
lyxpreamble += "\n\\makeatletter\n";
|
||||
makeatletter = true;
|
||||
}
|
||||
lyxpreamble += "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% "
|
||||
if (!tmppreamble.empty())
|
||||
atlyxpreamble += "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% "
|
||||
"Textclass specific LaTeX commands.\n"
|
||||
+ tmppreamble + '\n';
|
||||
}
|
||||
|
||||
/* the user-defined preamble */
|
||||
if (!preamble.empty()) {
|
||||
if (!makeatletter) {
|
||||
lyxpreamble += "\n\\makeatletter\n";
|
||||
makeatletter = true;
|
||||
}
|
||||
if (!preamble.empty())
|
||||
// FIXME UNICODE
|
||||
lyxpreamble += "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% "
|
||||
atlyxpreamble += "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% "
|
||||
"User specified LaTeX commands.\n"
|
||||
+ from_utf8(preamble) + '\n';
|
||||
}
|
||||
|
||||
// Itemize bullet settings need to be last in case the user
|
||||
// defines their own bullets that use a package included
|
||||
@ -1343,16 +1328,14 @@ bool BufferParams::writeLaTeX(odocstream & os, LaTeXFeatures & features,
|
||||
}
|
||||
}
|
||||
|
||||
if (!bullets_def.empty()) {
|
||||
if (!makeatletter) {
|
||||
lyxpreamble += "\n\\makeatletter\n";
|
||||
makeatletter = true;
|
||||
}
|
||||
lyxpreamble += bullets_def + "}\n\n";
|
||||
}
|
||||
if (!bullets_def.empty())
|
||||
atlyxpreamble += bullets_def + "}\n\n";
|
||||
|
||||
if (makeatletter)
|
||||
lyxpreamble += "\\makeatother\n\n";
|
||||
if (atlyxpreamble.find(from_ascii("@")) != docstring::npos)
|
||||
lyxpreamble += "\n\\makeatletter\n"
|
||||
+ atlyxpreamble + "\\makeatother\n\n";
|
||||
else
|
||||
lyxpreamble += '\n' + atlyxpreamble;
|
||||
|
||||
int const nlines =
|
||||
int(count(lyxpreamble.begin(), lyxpreamble.end(), '\n'));
|
||||
|
Loading…
Reference in New Issue
Block a user