mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 18:08:10 +00:00
Fix bug #7096: Wrong LaTeX export for layouts with intitle=true in branches.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37092 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
996b707a6f
commit
a7c135b9e1
@ -20,7 +20,8 @@ namespace lyx {
|
||||
|
||||
OutputParams::OutputParams(Encoding const * enc)
|
||||
: flavor(LATEX), math_flavor(NotApplicable), nice(false), moving_arg(false),
|
||||
inulemcmd(false), local_font(0), master_language(0), encoding(enc),
|
||||
inulemcmd(false), inTitle(false), didTitle(false). local_font(0),
|
||||
master_language(0), encoding(enc),
|
||||
free_spacing(false), use_babel(false), use_polyglossia(false),
|
||||
use_indices(false), use_japanese(false), linelen(0), depth(0),
|
||||
exportdata(new ExportData),
|
||||
|
@ -99,6 +99,14 @@ public:
|
||||
*/
|
||||
mutable bool inulemcmd;
|
||||
|
||||
/** Whether we are in the process of outputting title information.
|
||||
*/
|
||||
mutable bool inTitle;
|
||||
|
||||
/** Whether we have arleady output \maketitle or whatever.
|
||||
*/
|
||||
mutable bool didTitle;
|
||||
|
||||
/** the font at the point where the inset is
|
||||
*/
|
||||
Font const * local_font;
|
||||
|
@ -978,9 +978,6 @@ void latexParagraphs(Buffer const & buf,
|
||||
pit_type pit = runparams.par_begin;
|
||||
// lastpit is for the language check after the loop.
|
||||
pit_type lastpit = pit;
|
||||
// variables used in the loop:
|
||||
bool was_title = false;
|
||||
bool already_title = false;
|
||||
DocumentClass const & tclass = bparams.documentClass();
|
||||
|
||||
for (; pit < runparams.par_end; ++pit) {
|
||||
@ -993,12 +990,12 @@ void latexParagraphs(Buffer const & buf,
|
||||
tclass.plainLayout() : par->layout();
|
||||
|
||||
if (layout.intitle) {
|
||||
if (already_title) {
|
||||
if (runparams.didTitle) {
|
||||
LYXERR0("Error in latexParagraphs: You"
|
||||
" should not mix title layouts"
|
||||
" with normal ones.");
|
||||
} else if (!was_title) {
|
||||
was_title = true;
|
||||
} else if (!runparams.inTitle) {
|
||||
runparams.inTitle = true;
|
||||
if (tclass.titletype() == TITLE_ENVIRONMENT) {
|
||||
os << "\\begin{"
|
||||
<< from_ascii(tclass.titlename())
|
||||
@ -1006,7 +1003,7 @@ void latexParagraphs(Buffer const & buf,
|
||||
texrow.newline();
|
||||
}
|
||||
}
|
||||
} else if (was_title && !already_title) {
|
||||
} else if (runparams.inTitle && !runparams.didTitle) {
|
||||
if (tclass.titletype() == TITLE_ENVIRONMENT) {
|
||||
os << "\\end{" << from_ascii(tclass.titlename())
|
||||
<< "}\n";
|
||||
@ -1016,8 +1013,8 @@ void latexParagraphs(Buffer const & buf,
|
||||
<< "\n";
|
||||
}
|
||||
texrow.newline();
|
||||
already_title = true;
|
||||
was_title = false;
|
||||
runparams.didTitle = true;
|
||||
runparams.inTitle = false;
|
||||
}
|
||||
|
||||
|
||||
@ -1043,7 +1040,7 @@ void latexParagraphs(Buffer const & buf,
|
||||
}
|
||||
|
||||
// It might be that we only have a title in this document
|
||||
if (was_title && !already_title) {
|
||||
if (runparams.inTitle && !runparams.didTitle) {
|
||||
if (tclass.titletype() == TITLE_ENVIRONMENT) {
|
||||
os << "\\end{" << from_ascii(tclass.titlename())
|
||||
<< "}\n";
|
||||
|
Loading…
Reference in New Issue
Block a user