Writer sub-sections and/or sub-columns (hierarchical columns)

I am creating a concert program using Writer, I am making heavy use of Sections (and per-section column formatting) to get the layout that I want.

Is it possible to create “sub-sections” or “sub-columns”? For example, the singers section shown in the image is configured for four columns. Is there a way to take the Bass group, keep the “Bass” header centered, but have the performers name’s split across two sub-columns? When I try to highlight the names of the basses and put it into two columns it inserts a section break (presumably because it is already part of a 4-column section)–see next image.


(Of course font sizes will need to be finagled to fit in the smaller space if this had actually worked …)

I can accomplish this with floating text boxes, but that is not very elegant.

I think your requirements can be met by a DTP program. Have a look at Scribus.

https://www.scribus.net/

Thank you, and you’re right I could use Scribus for this (I have used it for other projects)–this was supposed to be a “simple” concert program and didn’t want to use such a big hammer though–once in Scribus you have to start specifying a lot of minutiae, whereas Writer just “does the right thing” most of the time. A trade off between time and flexibility I was willing make :grin:

You used the wrong tool.

The Writer section targets newspaper columns where text flows continuously from one column to the next when some limit is met (usually bottom of page). In your example, columns are independent from each other and should not be mixed. To achieve your design you must insert manual column breaks. Manual interaction with automatic features is always the cause of later difficulties when tuning the layout.

The second misunderstanding is section behaviour (don’t feel guilty, it is only recently that I realised how it really worked). A section changes the number of columns relative to the current layout base "object (page, table cell or frame). This implies that sections can’t be constrained to a column of another section.

Even if the section is structurally nested inside another one, it extends geometrically from page margin to page margin, though the relationship with the original column remains. Note however that the nested section results in a dramatic change in layout if it is not set in the last column.

If you’re reluctant to use a DTP program as suggested by @Hrbrgr, the solution is a table. Each cell is an independent “sub-document”, consequently there is no risk that the Alto cell spills over into the Tenor cell. And what I didn’t know because I never tested it before, you can insert a 2-column section into a table cell. The section will be constrained to the cell.

EDIT

As my answer doesn’t seem clear, here is my recommendation:

Create a 4-column table for your singers. Each cell is an independent sub-document. As such, you have a title paragraph with its own style (bold, centered, spacing below). Below it, your singers have their own paragraph style.

When the number of singers is large, insert a 2-column section below the title. The number of singers will be balanced between column if you request it so (enabled by default).

Discarded and set as an answer.

Thank you for your help!

Yes, a table is a workable solution here. I originally avoided a table because it brings a bunch of extra “non-documentish” baggage like borders, and such. But those can all be dealt with, and it works as you noted.

I should’ve mentioned that I was using column breaks to keep each vocal section from spilling over, otherwise, yes the auto-overflow would not work to my benefit in this case.

In addition to the table solution I found another (stupidly simple) solution that also met my needs. Specifically, just make an 8-column section underneath the 4-column headers (“Soprano”, “Alto”, “Tenor”, “Bass”), and leverage strategic column breaks to get things to flow correctly.

Here is an image showing the results:



The top is the two-section solution, the bottom is the 4x2 table + sections solution (with the border left on for distinguishability). One major pro for the table solution is if you want a different number of columns per group that’s easy to do (per my original question). However, for some reason you can no longer insert manual column breaks in a section when it’s in a table … I wonder if that’s a bug.

The two-section solution is nice because it isn’t a table :laughing: I’ve had it drilled into me not to use tables for layout (but rules at times are meant to be broken, haha). But, as described above, one downside is this cannot nicely replicate what the Alto section is doing in the table (i.e., different number of columns per vocal group) as the columns in the section will be distributed evenly across the section (and I’d like to avoid manually specifying column widths. In that way, the table is better because it appropriately defines a relationship between the singers and their respective header.

At any rate, this will work, thanks again.

P.S. I actually do use Scribus for heavier stuff, but this was supposed to be a “simple” concert program and didn’t want to use such a big hammer :grin:

Your data is indeed tabular “by nature”: you have 4 independent sets (the voices) and a table is the tool of choice for this. A section is IMHO also the adequate tool to balance the list of singers (unless there is a reason to force a column break to get unequal columns).

As you can’t apparently use a column break for a section inside a table (I’ll file a bug when I have time), the workaround is to insert a 2-column table inside the cell below the heading.

Yes, you can nest tables as nauseam and this allows for very sophisticated layouts. I admit that in your case, the optimal solution would probably be a nested section instead.

EDIT
Bug report filed at tdf#152151

As an aside, how are you getting line breaks between your paragraphs in your replies? I’d like to fix the formatting in my reply–I have an empty line between my paragraphs, and it shows in the preview, but the final rendering smashes the paragraphs up against eachother.

Use <br> to force an empty paragraph. So typing
This<br>
That<br>
The other
will render as

This

That

The other

1 Like

Thank you!

Could be a table cell or frame as well.
Sections spread the entire width of page’s/cell’s/frame’s area. (See also: Labels wizard.)

You could insert a table (two columns or 1 column/single table cell and a 2-column-section inserted) or a frame (which contains a 2-column section). You may keep the “Bass” header centered as a part of the 4-column-section followed by the table (or single table cell) or the frame, depending on layout’s requirements.

I take your point. In the above mentioned case the volume of the concert program may not be that large so that fine-tuning could be a reasonable option…

Thank you, Grantler. The table solution works well–I just have a natural aversion to using tables for things I instinctively consider layout problems (probably from the days of abusing HTML tables to do layout, haha). I’ve posted a image on ajlittoz’s response showing the results.

Thanks again!