Bug 149863 - INFORMATION REQUEST: section extent
Summary: INFORMATION REQUEST: section extent
Status: UNCONFIRMED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.3.4.2 release
Hardware: All All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Section
  Show dependency treegraph
 
Reported: 2022-07-05 08:30 UTC by ajlittoz
Modified: 2023-05-09 11:29 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments
Master + subdocuments (23.38 KB, application/x-zip-compressed)
2022-07-05 09:58 UTC, Mike Kaganski
Details
How I created that (4.11 MB, image/gif)
2022-07-05 09:59 UTC, Mike Kaganski
Details

Note You need to log in before you can comment on or make changes to this bug.
Description ajlittoz 2022-07-05 08:30:45 UTC
In "ordinary" documents, sections can be nested arbitrarily. There are two ways to create sections: from scratch with menu Insert>Section then populate it with contents, or select some existing contents and menu Insert>Section.

Both work fine.

When working with master documents, sub-documents seem to be managed as implicit sections (with a somewhat different semantics, though, as they appear both in the Navigation and Master views of the Navigator).

Sections are not only used to temporarily change the geometry of the page (mainly number of columns) but also to change the location of the endnotes.

In this latter role, a section may be needed to span several subdocs so that the endnotes are listed at a specific location according to author's wish.

Unfortunately, there is no way to add a subdoc inside a section (the Master view in the Navigator only lists a sequence of subdocs, text and indexes without details on document structure). Alternatively, selecting the "range" and trying method 2 above fails because menu Insert>Section is disabled.

I understand that obviously sections and subdocs must be properly nested, i.e. a section can't start outside sub-docs and end inside a subdoc and vice versa, but this is guaranteed by the fact that user does not set manually start and end section boundaries.

Is there any restriction in ODF about it? Is there an intrinsic difficulty in the code which would forbid this possibility?

This request for information may eventually be changed to a feature request.

For some context see question https://ask.libreoffice.org/t/where-in-lo-master-endnotes-are-stored-and-how-to-rearrange-the-position/78542 (where I was wrong in my initial answers).
Comment 1 ajlittoz 2022-07-05 08:51:04 UTC
UPDATE:

I tried to patch contents.xml in the master file to move end section boundary. The subdoc sections are then correctly nested inside the "outer" section as shown in the Navigator and section properties dialog but subdoc files are no longer listed in the Master view.

Also endnotes don't appear at end of "outer" section but at end of each subdoc "section" (which is now nested inside the "outer" section). If I don't nest subdoc, endnotes are displayed at end of document (but this is not the location I want for them).

So moving manually </text:section> damages document structure in unpredictable ways.
Comment 2 Mike Kaganski 2022-07-05 09:01:13 UTC
(In reply to ajlittoz from comment #0)
> Unfortunately, there is no way to add a subdoc inside a section (the Master
> view in the Navigator only lists a sequence of subdocs, text and indexes
> without details on document structure).

I tried to create a section in a master document, then inside it, create other sections, and link each of those inner sections to external documents. That worked fine for me.

Then I added some endnotes in the subdocuments, and when back in the master documents, they gathered in the end of the main document (as expected).

Then I tried to change the properties of the *outer* section (containing the inner linked sections-subdocuments), so that the outer section gathers endnotes at the end of the section. And that didn't affect the endnotes from subdocuments.

I suppose that here, you have the latter observation as the problem you likely want to change; and also something in the UI that would help you create the nesting (that, as said, works manually).
Comment 3 ajlittoz 2022-07-05 09:32:58 UTC
(In reply to Mike Kaganski from comment #2)
> I tried to create a section in a master document, then inside it, create
> other sections, and link each of those inner sections to external documents.
> That worked fine for me.

Would you be so kind as to attach your document so that I can study the inner links. I was not able to do it myself (through the UI).

I made other experiments:
- sub-docs contain absolutely no section
- when I patch (this may not be done correctly) contents.xml to move the end section boundary past the sub-docs, I end up with nested sections: the outer one and the sub-docs inside
- the sub-doc sections have their "collect endnotes at end of section" automatically checked
- if I uncheck the box, I crash Writer when I click OK to leave section properties (not section Options)

Reminder: I'm running LO 7.4.3.2 under Fedora 36
Comment 4 Heiko Tietze 2022-07-05 09:47:44 UTC
Don't get the point. Insert a section, mark some text within the section and insert section for this paragraph. It becomes a nested section, and is shown as such in the dialog.
Comment 5 ajlittoz 2022-07-05 09:55:21 UTC
(In reply to Heiko Tietze from comment #4)
> Don't get the point.
The point is not with nesting sections. This works fine.

The point is about having sub-documents inside a section with the goal to list the endnotes at end of this section. This would allow to have other text after the endnotes instead of having the endnotes as the very last element in the document.

The specific placement of endnotes is a requirement from the patrons of OP in AskLO.

There seems to be an incompatibility between sections and subdocs. Subdocs are only tolerated at top level.
Comment 6 Mike Kaganski 2022-07-05 09:58:31 UTC
Created attachment 181120 [details]
Master + subdocuments
Comment 7 Mike Kaganski 2022-07-05 09:59:12 UTC
Created attachment 181121 [details]
How I created that
Comment 8 [REDACTED] 2022-07-05 11:05:49 UTC
Confirmed.

@Heiko Tietze: in regular science books with notes and alphabetical index, the endnotes always precede the alphabetical index. In a single Writer document with the complete text of a book, you can put all content coming before the alphabetical index in a section to force the endnotes to come at the end of that section. In a masted document, you can't do that, which kind of defeats the purpose of having a master document for book manuscripts with endnotes and alphabetical index.
In the present implementation, you can even have a heading over the endnotes. It would be very much better if the container for the endnotes were a field that the users can insert wherever they like, just as you can already do for the alphabetical index (which doesn't make sense because that will come at the very end of the document anyway). But changing that will probably mean changing the ODF specification.
Comment 9 ajlittoz 2022-07-05 11:26:48 UTC
(In reply to Mike Kaganski from comment #7)
> Created attachment 181121 [details]
> How I created that
I see now that a sub-document is "just" a special kind of section (and the UI -- Navigator Master view or menu Insert>Section -- does not allow all possible variants).

Then there is no way to move the endnotes into an outer section because "collect at end of section" will happen at the first section boundary, i.e. the sub-doc boundary.

(In reply to  Peter Roelofsen  from comment #8)
>It would be very much better if the container for the endnotes were a field
>that the users can insert wherever they like
I think that would potentially create problems (but I never read source code) as footnote and endnotes are likely managed the same. Footnotes can be set at bottom of page (field in this case is meaningless), at end of section or end of document. The two latter cases can be unified with endnotes if a field is created. But how do we update a note if it becomes a field? Today it is as simple as overwriting text.