https://bugs.documentfoundation.org/show_bug.cgi?id=148245

--- Comment #1 from ajlittoz <[email protected]> ---
(In reply to Mike Kaganski from comment #0)

> TBH, I have no idea how to implement such an option (how it should even look
> in the UI). OTOH, this could be unneeded (or its need at least somewhat
> lessened), if we extend our "not same content on left/right/first page" page
> style setting to mean really different headers/footers/ not only content
> (which, I believe, is possible with ODF, but not supported in LO), so that
> one could disable or resize headers/footers independently for the
> first/left/right case.

I think we're facing two different goals.

The first one is traditional typography: a first page to start a chapter then
simple alternation between left and right pages.

This is perfectly implemented in the current page style concept. Except,
"geometric" attributes, i.e. margins, area colour, footnote disposition, are
shared by the variants. However, recent LO release have improved the case by
providing the Gutter configuration which is the main reason for "geometric"
variants. Unfortunately other effects can't be achieved.

The second one is a more complex scheme using the Next style parameter. Her we
can have more complex schemes than simple dual alternation. The style cycle may
be longer than 2 styles. And, yes, if some styles of the cycles are assigned
odd/even constraints, managing the sequence (synchronising its starting point)
becomes extremely difficult.

One approach would be to consider that a manual break requesting a page style
doesn't in fact switch to the designated page style but to the sequence as a
whole.

This may need some post-processing whenever the Next style parameter is altered
to flag the any member of the sequence that there is an odd/even constraint
somewhere. May prove difficult if the sequence may be entered from several
points as:

- E1 P1 P2 P3 P1 …    (E1 = page style entry #1 into sequence P1 P2 P3)
- E2 P2 P3 P1 P2 …    (E2 = page style entry #2)

When the sequence has a single style (most common case), we have the present
behaviour to switch unconditionally to the designated page style, eventually
skipping a blank page.

With an alternating 2-style odd/even sequence, if the first page is not
synchronised, the sequence is followed to find a "compatible" page style, i.e.
the correct parity or unconstrained page style. If none is found, a blank page
is inserted and the first page style is activated.

This means we can have odd/odd or even/even to print on every other page.

BUT, this breaks compatibility with present documents unless there is a setting
requesting the "synchronising" behaviour. Failing that, we have the present
behaviour.

Things get really complicated with a longer sequence. It should be scanned to
find the first compatible page style with next page parity.

Maybe the idea of the sync setting could be an attribute of the manual break:
unconditionally apply the sequence if not set or scan sequence if set and stop
on first parity-compatible style.

In any case, this only applies to manual breaks. Implicit breaks, i.e. when
reaching the bottom of the page, switch to next style in sequence.

While writing this, I realise that this does not solve the case of a "first
page style" before a cycle as in E1 P1 P2 P1 … because the syncing behaviour
must occur on the style following E1.

So I think this boils down to being able to identify style cycles and flag them
as "unconditional" or "sync'ing". Synchronisation occurs when we switch from a
"normal" style to a "cycle" style.

Anyway, this needs a thorough thinking about and pondering if it worth it.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to