commit 045c25cf761dbc2d9efcab73af42a52496dcb075
Author: Juergen Spitzmueller <[email protected]>
Date: Sat Oct 30 14:19:46 2021 +0200
Prevent unneeded (and wrong) \noindent
* When a paragraph is logically empty (only contains stuff which is not
part of the text sequence
* In centered paragraphs
---
src/Paragraph.cpp | 19 ++++++++++++++++---
1 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index 09874a0..dc4be43 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -2339,13 +2339,26 @@ int Paragraph::Private::startTeXParParams(BufferParams
const & bparams,
(layout_->toggle_indent != ITOGGLE_NEVER) :
(layout_->toggle_indent == ITOGGLE_ALWAYS);
- if (canindent && params_.noindent() && !layout_->pass_thru) {
- os << "\\noindent ";
- column += 10;
+ // Paragraphs that only contain insets which are not part of the text
sequence
+ // (e.g., floats) should not get \\noindent (this would cause extra
white space)
+ bool emptypar = true;
+ if (canindent) {
+ for (pos_type i = 0; i < owner_->size(); ++i) {
+ if (!owner_->isInset(i) ||
owner_->getInset(i)->isPartOfTextSequence()) {
+ emptypar = false;
+ break;
+ }
+ }
}
LyXAlignment const curAlign = params_.align();
+ if (canindent && !emptypar && params_.noindent()
+ && !layout_->pass_thru && curAlign != LYX_ALIGN_CENTER) {
+ os << "\\noindent ";
+ column += 10;
+ }
+
if (curAlign == layout_->align)
return column;
--
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs