-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Continuation of previous volume in TOC #106
Comments
Overall, I like this design because it is simpler than most of the other solutions we discussed. Other solutions tried to minimize the duplication, but I don't think that has been a goal of OBFL in the past, and it shouldn't be because the typical use case of OBFL is that it is generated from another document. The only reservations I have are the following: Firstly, I'm not sure yet about the names "toc-text" and "toc-text-resumed", but that's not the most important part and we still have some time to think about it. Secondly, while letting the referenced blocks determine the "scope" of the Finally a suggestion to fix an ambiguity in the specification:
In OBFL we should state whether in case multiple nested blocks that are referenced by |
I would insert at most one It is the structure of the Every
|
…RESUMED, improved description in toc-text test files.
Well, the reason I made the suggestion is because the scope of the Another important reason for keeping the structure of the Actually, after giving it some more thought I don't even think that we should allow multiple Still, it's important to document clearly which
This is still ambiguous because it is quite possible that there are multiple
I think the last option makes the most sense. Also, whether a |
I would like to illustrate my idea with two examples. Example 1
For every Now we can determine by looking at the volume numbers whether a volume break occured, and if so, where:
Crucial in this is that the Now, suppose a volume break occurs before the block of toc-entry If
Example 2
The body of the book consists of four blocks in a sequence, and the second block - which is not referred to in the
The algorithm would detect that a volume break occured in between blocks |
Hi @PaulRambags and @bertfrees I know that naming is important and a hard issue to solve. I've not looked into the issue more than reading this issue, so there might be some nuance that I've not grasped, but my suggestion would be to have a flag if a section is already defined and then handle the text in styles or post-processing. With just a flag, you convey the same information without deciding on how the output should be formed. Suggestion 1:
Suggestion 2:
Suggestion 3:
If I missed something, then inform me and continue with the design purposed. Best regards |
@PaulRambags It's funny that you think this is your idea, because I've been saying this from the beginning :-). Read my emails from 11 September 2018, 22:51 ("OBFL and Chapters (continued)") and 23 July 2019, 15:07 ("Vervolg van hoofdstuk") again. I also tried to explain this when I was in Grave the last time and we were sitting in your office writing on the white board, remember? But anyway, it's good that you bring it up again, because I eventually dismissed the idea. Not sure anymore exactly why, I think because I thought the other solution gave us somewhat more control over the scope of toc entries (e.g. making the scope of an entry end sooner, or having overlapping scopes). But thanks to new insights I'm again all in favor for this idea. Great. @kalaspuffar I don't get what you are proposing. Could you elaborate? |
@bertfrees You're right, I should not have used the word "my" in "my idea". :-) |
Hi @bertfrees and @PaulRambags I got an email from Paul explaining the situation and I might have missed the point totally. What I thought we were talking about was adding elements that look like this
I've now realized you were talking about a structure more like this:
And my suggestion was more inline of:
Best regards |
Hi @PaulRambags and @bertfrees. We have talked a bit this morning and we propose the following. Below you will see two examples on how to apply the continued concept on two entries. <toc-entry ref="h_1"><span use-when="($continued)">Continuation of </span>Chapter 1</toc-entry> <toc-entry ref="h_1">Chapter 1<span use-when="($continued)"> continued</span></toc-entry> And for a full example taken from a book, it could look something like this: <toc-entry ref-id="d5e177" block-indent="1" text-indent="2" keep="page"><span use-when="($continued)">Continuation of </span>2. Exodus (281) <leader position="100%" align="right" pattern="."/> <page-number ref-id="d5e177"/></toc-entry> Best regards |
See PR for OBFL: mtmse/obfl#4 |
As Dedicon I want to be able to configure a special entry that should appear in the TOC when a volume break occurs in the middle of a section.
For instance, suppose Dotify decides to apply a volume break in Chapter 1, the TOC of the second volume should contain "Continuation of Chapter 1" and contents of the second chapter should start with "Contination of Chapter 1".
Notes:
Changes in OBFL:
toc-text
andtoc-text-resumed
toc-entry
will change to:toc-text
[1],toc-text-resumed
[0 or 1],toc-entry
[0 or more]toc-text
andtoc-text-resumed
is:text()
,leader
,marker
,br
,evaluate
,page-number
,span
,style
[0 or more]toc-sequence
will have a new attributeuse-toc-text-resumed
[optional]One of
true
offalse
. The default isfalse
.This allows, for instance, to have "Continuation of chapter ..." entries in all volume range TOCs, while the document range TOC does not have such entries.
Semantics:
toc-entry
refers to ablock
through attributeref-id
. If Dotify decides to apply a volume break such that the block is split accross several volumes, thentoc-text-resumed
is applied in all those volumes except the first one.toc-text-resumed
. This functionality is similar toany-resumed
in avolume-transition
.toc-text
element instead of at the thetoc-entry
element.Remarks on the changes in OBFL:
toc-entry
is not backward compatible. The idea is to make the current content model deprecated, so thattoc-entry
can still contain these elements for a while:text()
,leader
,marker
,br
,evaluate
,page-number
,span
,style
.toc-entry
refers to ablock
and there is no volume break within ablock
.The text was updated successfully, but these errors were encountered: