diff --git a/src/RowPainter.cpp b/src/RowPainter.cpp index 2d7e12c445..a5cb04b601 100644 --- a/src/RowPainter.cpp +++ b/src/RowPainter.cpp @@ -285,7 +285,13 @@ void RowPainter::paintAppendix() const void RowPainter::paintDepthBar() const { - depth_type const depth = par_.getDepth(); + depth_type depth = par_.getDepth(); + + // We also mark follow-up paragraphs in a paragraph group + if (par_.layout().isParagraphGroup() + && par_.layout().labeltype == LABEL_STATIC + && !text_.isFirstInSequence(row_.pit())) + ++depth; if (depth <= 0) return; @@ -296,6 +302,11 @@ void RowPainter::paintDepthBar() const if (row_.pos() == 0) --pit2; prev_depth = pars_[pit2].getDepth(); + // We also mark follow-up paragraphs in a paragraph group + if (pars_[pit2].layout().isParagraphGroup() + && pars_[pit2].layout().labeltype == LABEL_STATIC + && !text_.isFirstInSequence(pit2)) + ++prev_depth; } depth_type next_depth = 0; @@ -304,6 +315,11 @@ void RowPainter::paintDepthBar() const if (row_.endpos() >= pars_[pit2].size()) ++pit2; next_depth = pars_[pit2].getDepth(); + // We also mark follow-up paragraphs in a paragraph group + if (pars_[pit2].layout().isParagraphGroup() + && pars_[pit2].layout().labeltype == LABEL_STATIC + && !text_.isFirstInSequence(pit2)) + ++next_depth; } for (depth_type i = 1; i <= depth; ++i) {