commit d9b87d651a066e4f5ff1385ec98e941110e3427c
Author: Juergen Spitzmueller <[email protected]>
Date: Mon Sep 1 09:14:26 2014 +0200
Fix bug with wrong baseline calculation in last paragraph (2nd attempt)
This time, we consider the cases where a \par is not wanted (single-par
insets, tabular cells).
Fixes: #9231
diff --git a/src/output_latex.cpp b/src/output_latex.cpp
index 8115e6a..3595a08 100644
--- a/src/output_latex.cpp
+++ b/src/output_latex.cpp
@@ -849,9 +849,9 @@ void TeXOnePar(Buffer const & buf,
// calculates the space between the baselines according
// to this font. (Matthias)
//
- // Is this really needed ? (Dekel)
- // We do not need to use to change the font for the last paragraph
- // or for a command.
+ // We must not change the font for the last paragraph
+ // of non-multipar insets, tabular cells or commands,
+ // since this produces unwanted whitespace.
Font const font = par.empty()
? par.getLayoutFont(bparams, outerfont)
@@ -860,7 +860,9 @@ void TeXOnePar(Buffer const & buf,
bool const is_command = style.isCommand();
if (style.resfont.size() != font.fontInfo().size()
- && nextpar
+ && (nextpar || maintext
+ || (text.inset().getLayout().isMultiPar()
+ && text.inset().lyxCode() != CELL_CODE))
&& !is_command) {
os << '{';
os << "\\" << from_ascii(font.latexSize()) << " \\par}";