mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-26 11:16:55 +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();
|
lyxpreamble += oss.str();
|
||||||
}
|
}
|
||||||
|
|
||||||
// only add \makeatletter and \makeatother when actually needed
|
// Will be surrounded by \makeatletter and \makeatother when needed
|
||||||
bool makeatletter = false;
|
docstring atlyxpreamble;
|
||||||
|
|
||||||
// Some macros LyX will need
|
// Some macros LyX will need
|
||||||
docstring tmppreamble(from_ascii(features.getMacros()));
|
docstring tmppreamble(from_ascii(features.getMacros()));
|
||||||
|
|
||||||
if (!tmppreamble.empty()) {
|
if (!tmppreamble.empty())
|
||||||
if (!makeatletter) {
|
atlyxpreamble += "\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% "
|
||||||
lyxpreamble += "\n\\makeatletter\n";
|
|
||||||
makeatletter = true;
|
|
||||||
}
|
|
||||||
lyxpreamble += "\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% "
|
|
||||||
"LyX specific LaTeX commands.\n"
|
"LyX specific LaTeX commands.\n"
|
||||||
+ tmppreamble + '\n';
|
+ tmppreamble + '\n';
|
||||||
}
|
|
||||||
|
|
||||||
// the text class specific preamble
|
// the text class specific preamble
|
||||||
tmppreamble = features.getTClassPreamble();
|
tmppreamble = features.getTClassPreamble();
|
||||||
if (!tmppreamble.empty()) {
|
if (!tmppreamble.empty())
|
||||||
if (!makeatletter) {
|
atlyxpreamble += "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% "
|
||||||
lyxpreamble += "\n\\makeatletter\n";
|
|
||||||
makeatletter = true;
|
|
||||||
}
|
|
||||||
lyxpreamble += "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% "
|
|
||||||
"Textclass specific LaTeX commands.\n"
|
"Textclass specific LaTeX commands.\n"
|
||||||
+ tmppreamble + '\n';
|
+ tmppreamble + '\n';
|
||||||
}
|
|
||||||
|
|
||||||
/* the user-defined preamble */
|
/* the user-defined preamble */
|
||||||
if (!preamble.empty()) {
|
if (!preamble.empty())
|
||||||
if (!makeatletter) {
|
|
||||||
lyxpreamble += "\n\\makeatletter\n";
|
|
||||||
makeatletter = true;
|
|
||||||
}
|
|
||||||
// FIXME UNICODE
|
// FIXME UNICODE
|
||||||
lyxpreamble += "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% "
|
atlyxpreamble += "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% "
|
||||||
"User specified LaTeX commands.\n"
|
"User specified LaTeX commands.\n"
|
||||||
+ from_utf8(preamble) + '\n';
|
+ from_utf8(preamble) + '\n';
|
||||||
}
|
|
||||||
|
|
||||||
// Itemize bullet settings need to be last in case the user
|
// Itemize bullet settings need to be last in case the user
|
||||||
// defines their own bullets that use a package included
|
// 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 (!bullets_def.empty())
|
||||||
if (!makeatletter) {
|
atlyxpreamble += bullets_def + "}\n\n";
|
||||||
lyxpreamble += "\n\\makeatletter\n";
|
|
||||||
makeatletter = true;
|
|
||||||
}
|
|
||||||
lyxpreamble += bullets_def + "}\n\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (makeatletter)
|
if (atlyxpreamble.find(from_ascii("@")) != docstring::npos)
|
||||||
lyxpreamble += "\\makeatother\n\n";
|
lyxpreamble += "\n\\makeatletter\n"
|
||||||
|
+ atlyxpreamble + "\\makeatother\n\n";
|
||||||
|
else
|
||||||
|
lyxpreamble += '\n' + atlyxpreamble;
|
||||||
|
|
||||||
int const nlines =
|
int const nlines =
|
||||||
int(count(lyxpreamble.begin(), lyxpreamble.end(), '\n'));
|
int(count(lyxpreamble.begin(), lyxpreamble.end(), '\n'));
|
||||||
|
Loading…
Reference in New Issue
Block a user