Author: baum
Date: Sun Dec 4 16:35:59 2011
New Revision: 40362
URL: http://www.lyx.org/trac/changeset/40362
Log:
fix preamble output in case child docs are present
Modified:
lyx-devel/trunk/src/tex2lyx/Preamble.cpp
lyx-devel/trunk/src/tex2lyx/Preamble.h
lyx-devel/trunk/src/tex2lyx/tex2lyx.cpp
Modified: lyx-devel/trunk/src/tex2lyx/Preamble.cpp
==============================================================================
--- lyx-devel/trunk/src/tex2lyx/Preamble.cpp Sun Dec 4 10:35:16 2011
(r40361)
+++ lyx-devel/trunk/src/tex2lyx/Preamble.cpp Sun Dec 4 16:35:59 2011
(r40362)
@@ -815,7 +815,7 @@
}
-bool Preamble::writeLyXHeader(ostream & os)
+bool Preamble::writeLyXHeader(ostream & os, bool subdoc)
{
// translate from babel to LyX names
h_language = babel2lyx(h_language);
@@ -858,7 +858,7 @@
<< "\\begin_document\n"
<< "\\begin_header\n"
<< "\\textclass " << h_textclass << "\n";
- string const raw = h_preamble.str();
+ string const raw = subdoc ? empty_string() : h_preamble.str();
if (!raw.empty()) {
os << "\\begin_preamble\n";
for (string::size_type i = 0; i < raw.size(); ++i) {
@@ -977,8 +977,6 @@
<< authors_
<< "\\end_header\n\n"
<< "\\begin_body\n";
- // clear preamble for subdocuments
- h_preamble.str("");
return true;
}
Modified: lyx-devel/trunk/src/tex2lyx/Preamble.h
==============================================================================
--- lyx-devel/trunk/src/tex2lyx/Preamble.h Sun Dec 4 10:35:16 2011
(r40361)
+++ lyx-devel/trunk/src/tex2lyx/Preamble.h Sun Dec 4 16:35:59 2011
(r40362)
@@ -65,7 +65,7 @@
void parse(Parser & p, std::string const & forceclass,
TeX2LyXDocClass & tc);
/// Writes the LyX file header from internal data
- bool writeLyXHeader(std::ostream & os);
+ bool writeLyXHeader(std::ostream & os, bool subdoc);
private:
///
Modified: lyx-devel/trunk/src/tex2lyx/tex2lyx.cpp
==============================================================================
--- lyx-devel/trunk/src/tex2lyx/tex2lyx.cpp Sun Dec 4 10:35:16 2011
(r40361)
+++ lyx-devel/trunk/src/tex2lyx/tex2lyx.cpp Sun Dec 4 16:35:59 2011
(r40362)
@@ -685,7 +685,7 @@
for (; it != end; it++)
preamble.addModule(*it);
}
- if (!preamble.writeLyXHeader(os)) {
+ if (!preamble.writeLyXHeader(os, !active_environments.empty())) {
cerr << "Could write LyX file header." << endl;
return false;
}