mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 21:21:32 +00:00
make sure language commands are the outermost ones when typesetting a paragraph (bug 1404)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9020 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
0ebf1d4a50
commit
21f14a3a3e
@ -1,3 +1,9 @@
|
||||
2004-09-27 Jean-Marc Lasgouttes <lasgouttes@lyx.org>
|
||||
|
||||
* output_latex.C (TeXOnePar): make sure font setting is the first
|
||||
thing that gets output (and the last at the end). Should fix bug
|
||||
1404.
|
||||
|
||||
2004-09-26 Lars Gullik Bjonnes <larsbj@gullik.net>
|
||||
|
||||
* pch.h: use proper signal include
|
||||
|
@ -223,38 +223,12 @@ TeXOnePar(Buffer const & buf,
|
||||
bool further_blank_line = false;
|
||||
LyXLayout_ptr style;
|
||||
|
||||
// well we have to check if we are in an inset with unlimited
|
||||
// length (all in one row) if that is true then we don't allow
|
||||
// any special options in the paragraph and also we don't allow
|
||||
// any environment other then "Standard" to be valid!
|
||||
if (!pit->forceDefaultParagraphs()) {
|
||||
// In an an inset with unlimited length (all in one row),
|
||||
// force layout to default
|
||||
if (!pit->forceDefaultParagraphs())
|
||||
style = pit->layout();
|
||||
|
||||
if (pit->params().startOfAppendix()) {
|
||||
os << "\\appendix\n";
|
||||
texrow.newline();
|
||||
}
|
||||
|
||||
if (!pit->params().spacing().isDefault()
|
||||
&& (pit == paragraphs.begin()
|
||||
|| !boost::prior(pit)->hasSameLayout(*pit)))
|
||||
{
|
||||
os << pit->params().spacing().writeEnvirBegin() << '\n';
|
||||
texrow.newline();
|
||||
}
|
||||
|
||||
if (style->isCommand()) {
|
||||
os << '\n';
|
||||
texrow.newline();
|
||||
}
|
||||
|
||||
if (further_blank_line) {
|
||||
os << '\n';
|
||||
texrow.newline();
|
||||
}
|
||||
} else {
|
||||
else
|
||||
style = bparams.getLyXTextClass().defaultLayout();
|
||||
}
|
||||
|
||||
Language const * language = pit->getParLanguage(bparams);
|
||||
Language const * doc_language = bparams.language;
|
||||
@ -298,6 +272,33 @@ TeXOnePar(Buffer const & buf,
|
||||
texrow.newline();
|
||||
}
|
||||
|
||||
// In an an inset with unlimited length (all in one row),
|
||||
// don't allow any special options in the paragraph
|
||||
if (!pit->forceDefaultParagraphs()) {
|
||||
if (pit->params().startOfAppendix()) {
|
||||
os << "\\appendix\n";
|
||||
texrow.newline();
|
||||
}
|
||||
|
||||
if (!pit->params().spacing().isDefault()
|
||||
&& (pit == paragraphs.begin()
|
||||
|| !boost::prior(pit)->hasSameLayout(*pit)))
|
||||
{
|
||||
os << pit->params().spacing().writeEnvirBegin() << '\n';
|
||||
texrow.newline();
|
||||
}
|
||||
|
||||
if (style->isCommand()) {
|
||||
os << '\n';
|
||||
texrow.newline();
|
||||
}
|
||||
|
||||
if (further_blank_line) {
|
||||
os << '\n';
|
||||
texrow.newline();
|
||||
}
|
||||
}
|
||||
|
||||
switch (style->latextype) {
|
||||
case LATEX_COMMAND:
|
||||
os << '\\' << style->latexname();
|
||||
@ -387,6 +388,23 @@ paragraphs);
|
||||
}
|
||||
}
|
||||
|
||||
if (!pit->forceDefaultParagraphs()) {
|
||||
further_blank_line = false;
|
||||
|
||||
if (further_blank_line) {
|
||||
os << '\n';
|
||||
texrow.newline();
|
||||
}
|
||||
|
||||
if (!pit->params().spacing().isDefault()
|
||||
&& (boost::next(pit) == paragraphs.end()
|
||||
|| !boost::next(pit)->hasSameLayout(*pit)))
|
||||
{
|
||||
os << pit->params().spacing().writeEnvirEnd() << '\n';
|
||||
texrow.newline();
|
||||
}
|
||||
}
|
||||
|
||||
if (boost::next(pit) == const_cast<ParagraphList&>(paragraphs).end()
|
||||
&& language->babel() != doc_language->babel()) {
|
||||
// Since \selectlanguage write the language to the aux file,
|
||||
@ -406,23 +424,6 @@ paragraphs);
|
||||
texrow.newline();
|
||||
}
|
||||
|
||||
if (!pit->forceDefaultParagraphs()) {
|
||||
further_blank_line = false;
|
||||
|
||||
if (further_blank_line) {
|
||||
os << '\n';
|
||||
texrow.newline();
|
||||
}
|
||||
|
||||
if (!pit->params().spacing().isDefault()
|
||||
&& (boost::next(pit) == paragraphs.end()
|
||||
|| !boost::next(pit)->hasSameLayout(*pit)))
|
||||
{
|
||||
os << pit->params().spacing().writeEnvirEnd() << '\n';
|
||||
texrow.newline();
|
||||
}
|
||||
}
|
||||
|
||||
// we don't need it for the last paragraph!!!
|
||||
// Note from JMarc: we will re-add a \n explicitely in
|
||||
// TeXEnvironment, because it is needed in this case
|
||||
|
Loading…
Reference in New Issue
Block a user