fix arabtex-related problems (bug 1225 and bug 1404)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_3_X@8692 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Jean-Marc Lasgouttes 2004-04-22 13:59:39 +00:00
parent 34e3699218
commit 2de596b2e0
3 changed files with 58 additions and 23 deletions

View File

@ -1,3 +1,14 @@
2003-09-24 Jean-Marc Lasgouttes <lasgouttes@lyx.org>
* paragraph.C (TeXEnvironment): make sure that there is a line
break before \end{foo} for the last paragraph of a document
(TeXOnePar): if the paragraph is at the end of the document (or
inset) and the language has to be reset, then make sure that the
line break is _before_ the language command, not after (fixes bug
1225); also make sure that the language reset command is the first
thing after the paragraph (to ensure proper nesting of
environments and thus fix bug 1404)
2004-04-22 Jean-Marc Lasgouttes <lasgouttes@lyx.org>
* lyx_main.C (init): compilation fix for SGI C++ compiler

View File

@ -1132,7 +1132,25 @@ Paragraph * Paragraph::TeXOnePar(Buffer const * buf,
texrow.newline();
}
}
if (!next_ && language->babel() != doc_language->babel()) {
// Since \selectlanguage write the language to the aux
// file, we need to reset the language at the end of
// footnote or float.
if (lyxrc.language_command_end.empty())
os << '\n'
<< subst(lyxrc.language_command_begin,
"$$lang",
doc_language->babel());
else
os << '\n'
<< subst(lyxrc.language_command_end,
"$$lang",
language->babel());
texrow.newline();
}
if ((in == 0) || !in->forceDefaultParagraphs(in)) {
further_blank_line = false;
if (params().lineBottom()) {
@ -1163,28 +1181,12 @@ Paragraph * Paragraph::TeXOnePar(Buffer const * buf,
}
// 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
if (next_) {
os << '\n';
texrow.newline();
} else {
// Since \selectlanguage write the language to the aux file,
// we need to reset the language at the end of footnote or
// float.
if (language->babel() != doc_language->babel()) {
if (lyxrc.language_command_end.empty())
os << subst(lyxrc.language_command_begin,
"$$lang",
doc_language->babel())
<< endl;
else
os << subst(lyxrc.language_command_end,
"$$lang",
language->babel())
<< endl;
texrow.newline();
}
}
}
lyxerr[Debug::LATEX] << "TeXOnePar...done " << next_ << endl;
return next_;
@ -1575,7 +1577,13 @@ Paragraph * Paragraph::TeXEnvironment(Buffer const * buf,
do {
par = par->TeXOnePar(buf, bparams, os, texrow, false);
if (par && par->params().depth() > params().depth()) {
if (!par) {
// Make sure that the last paragraph is
// correctly terminated (because TeXOnePar does
// not add a \n in this case)
os << '\n';
texrow.newline();
} else if (par->params().depth() > params().depth()) {
if (par->layout()->isParagraph()) {
// Thinko!

View File

@ -19,23 +19,36 @@ What's new
** Updates
- updated basque, danish, italian and romanian localizations; updated basque
and german documentations
** Bug fixes
* LaTeX output:
- partly fix handling of included files; external insets are still not
working correctly [bug #605]
- fix toggling of short title inset in some cases
- fix nesting of language change commands, especially important for
arabic [bug #1404]
- use opening quotation marks after an opening square bracket
- fix missing line break in front of \end{...} in some cases [bug #1225]
- fix running makeindex and bibtex when the file name contains some
special characters [bug #1526]
- Prevent clashes with LaTeX packages defining "\boldsymbol".
* User Interface:
- use opening quotation marks after an opening square bracket
- fix toggling of short title inset in some cases
- when the autodetection of latex classes cannot be done for some
reason, provide a sensible list of textclasses
@ -44,6 +57,9 @@ What's new
- honor correctly the various locale-related environment variables when
looking for translated help files
* Configuration/Installation:
- when running under windows, configure correctly the ps and pdf
viewers [bug #1508]