aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--org/out_src_abstraction_ocda_peg_ssp.org6
-rw-r--r--org/out_src_abstraction_sqlite_db.org2
-rw-r--r--src/sisudoc/ocda/abstraction/ssp.d6
-rw-r--r--src/sisudoc/outputs/io_out/create_ocda_db.d2
-rw-r--r--test/reference/abstraction/accelerando.charles_stross.en.ssp14
-rw-r--r--test/reference/abstraction/alices_adventures_in_wonderland.lewis_carroll.en.ssp14
-rw-r--r--test/reference/abstraction/content.cory_doctorow.en.ssp14
-rw-r--r--test/reference/abstraction/democratizing_innovation.eric_von_hippel.en.ssp14
-rw-r--r--test/reference/abstraction/down_and_out_in_the_magic_kingdom.cory_doctorow.en.ssp14
-rw-r--r--test/reference/abstraction/for_the_win.cory_doctorow.en.ssp14
-rw-r--r--test/reference/abstraction/free_as_in_freedom_2.richard_stallman_and_the_free_software_revolution.sam_williams.richard_stallman.en.ssp14
-rw-r--r--test/reference/abstraction/free_culture.lawrence_lessig.en.ssp14
-rw-r--r--test/reference/abstraction/free_for_all.peter_wayner.en.ssp14
-rw-r--r--test/reference/abstraction/gpl2.fsf.en.ssp14
-rw-r--r--test/reference/abstraction/gpl3.fsf.en.ssp14
-rw-r--r--test/reference/abstraction/gullivers_travels.jonathan_swift.en.ssp14
-rw-r--r--test/reference/abstraction/little_brother.cory_doctorow.en.ssp14
-rw-r--r--test/reference/abstraction/live-manual.ca.ssp14
-rw-r--r--test/reference/abstraction/live-manual.de.ssp16
-rw-r--r--test/reference/abstraction/live-manual.en.ssp16
-rw-r--r--test/reference/abstraction/live-manual.es.ssp16
-rw-r--r--test/reference/abstraction/live-manual.fr.ssp16
-rw-r--r--test/reference/abstraction/live-manual.it.ssp16
-rw-r--r--test/reference/abstraction/live-manual.ja.ssp16
-rw-r--r--test/reference/abstraction/live-manual.pl.ssp16
-rw-r--r--test/reference/abstraction/live-manual.ro.ssp16
-rw-r--r--test/reference/abstraction/not_without_help.austin_amissah.en.ssp14
-rw-r--r--test/reference/abstraction/on_the_net_and_information.ralph_amissah.en.ssp14
-rw-r--r--test/reference/abstraction/outputs_of_ai_systems_qualify_as_artwork.anna_linne.en.ssp14
-rw-r--r--test/reference/abstraction/revisiting_the_autonomous_contract.ralph_amissah.en.ssp14
-rw-r--r--test/reference/abstraction/sisu-manual:sisu_markup.en.ssp14
-rw-r--r--test/reference/abstraction/the_autonomous_contract.ralph_amissah.en.ssp14
-rw-r--r--test/reference/abstraction/the_cathedral_and_the_bazaar.eric_s_raymond.en.ssp14
-rw-r--r--test/reference/abstraction/the_public_domain.james_boyle.en.ssp14
-rw-r--r--test/reference/abstraction/the_wealth_of_networks.yochai_benkler.en.ssp14
-rw-r--r--test/reference/abstraction/through_the_looking_glass.lewis_carroll.en.ssp14
-rw-r--r--test/reference/abstraction/two_bits.christopher_kelty.en.ssp14
-rw-r--r--test/reference/abstraction/viral_spiral.david_bollier.en.ssp14
-rw-r--r--test/reference/abstraction/war_and_peace.leo_tolstoy.en.ssp14
39 files changed, 508 insertions, 14 deletions
diff --git a/org/out_src_abstraction_ocda_peg_ssp.org b/org/out_src_abstraction_ocda_peg_ssp.org
index c1b1930..95efb93 100644
--- a/org/out_src_abstraction_ocda_peg_ssp.org
+++ b/org/out_src_abstraction_ocda_peg_ssp.org
@@ -535,9 +535,11 @@ template spineAbstractionTxt() {
output ~= " quotes: " ~ doc_matters.has.quotes.to!string;
output ~= "}";
output ~= "";
- /+ ↓ document sections +/
+ /+ ↓ document sections - every section the abstraction holds, in document order.
+ "tail" is the end-of-document used by some output writers
+ +/
string[] section_order = ["head", "toc", "body", "endnotes",
- "glossary", "bibliography", "bookindex", "blurb"];
+ "glossary", "bibliography", "bookindex", "blurb", "tail"];
foreach (section; section_order) {
if (section !in doc_abstraction) { continue; }
auto section_objs = doc_abstraction[section];
diff --git a/org/out_src_abstraction_sqlite_db.org b/org/out_src_abstraction_sqlite_db.org
index 6befb4f..ad719c7 100644
--- a/org/out_src_abstraction_sqlite_db.org
+++ b/org/out_src_abstraction_sqlite_db.org
@@ -370,7 +370,7 @@ template spineAbstractionDb() {
);
string[] section_order = ["head", "toc", "body", "endnotes",
- "glossary", "bibliography", "bookindex", "blurb"];
+ "glossary", "bibliography", "bookindex", "blurb", "tail"];
foreach (section; section_order) {
if (section !in doc_abstraction) continue;
diff --git a/src/sisudoc/ocda/abstraction/ssp.d b/src/sisudoc/ocda/abstraction/ssp.d
index 05931b1..d29737b 100644
--- a/src/sisudoc/ocda/abstraction/ssp.d
+++ b/src/sisudoc/ocda/abstraction/ssp.d
@@ -553,9 +553,11 @@ template spineAbstractionTxt() {
output ~= " quotes: " ~ doc_matters.has.quotes.to!string;
output ~= "}";
output ~= "";
- /+ ↓ document sections +/
+ /+ ↓ document sections - every section the abstraction holds, in document order.
+ "tail" is the end-of-document used by some output writers
+ +/
string[] section_order = ["head", "toc", "body", "endnotes",
- "glossary", "bibliography", "bookindex", "blurb"];
+ "glossary", "bibliography", "bookindex", "blurb", "tail"];
foreach (section; section_order) {
if (section !in doc_abstraction) { continue; }
auto section_objs = doc_abstraction[section];
diff --git a/src/sisudoc/outputs/io_out/create_ocda_db.d b/src/sisudoc/outputs/io_out/create_ocda_db.d
index a47db7a..8f915fa 100644
--- a/src/sisudoc/outputs/io_out/create_ocda_db.d
+++ b/src/sisudoc/outputs/io_out/create_ocda_db.d
@@ -388,7 +388,7 @@ template spineAbstractionDb() {
);
string[] section_order = ["head", "toc", "body", "endnotes",
- "glossary", "bibliography", "bookindex", "blurb"];
+ "glossary", "bibliography", "bookindex", "blurb", "tail"];
foreach (section; section_order) {
if (section !in doc_abstraction) continue;
diff --git a/test/reference/abstraction/accelerando.charles_stross.en.ssp b/test/reference/abstraction/accelerando.charles_stross.en.ssp
index 00a1728..61d5b54 100644
--- a/test/reference/abstraction/accelerando.charles_stross.en.ssp
+++ b/test/reference/abstraction/accelerando.charles_stross.en.ssp
@@ -35633,3 +35633,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/alices_adventures_in_wonderland.lewis_carroll.en.ssp b/test/reference/abstraction/alices_adventures_in_wonderland.lewis_carroll.en.ssp
index 719837f..668b277 100644
--- a/test/reference/abstraction/alices_adventures_in_wonderland.lewis_carroll.en.ssp
+++ b/test/reference/abstraction/alices_adventures_in_wonderland.lewis_carroll.en.ssp
@@ -10446,3 +10446,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/content.cory_doctorow.en.ssp b/test/reference/abstraction/content.cory_doctorow.en.ssp
index 27c5b1b..134e6ad 100644
--- a/test/reference/abstraction/content.cory_doctorow.en.ssp
+++ b/test/reference/abstraction/content.cory_doctorow.en.ssp
@@ -14168,3 +14168,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/democratizing_innovation.eric_von_hippel.en.ssp b/test/reference/abstraction/democratizing_innovation.eric_von_hippel.en.ssp
index 010fb6f..733e914 100644
--- a/test/reference/abstraction/democratizing_innovation.eric_von_hippel.en.ssp
+++ b/test/reference/abstraction/democratizing_innovation.eric_von_hippel.en.ssp
@@ -17523,3 +17523,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/down_and_out_in_the_magic_kingdom.cory_doctorow.en.ssp b/test/reference/abstraction/down_and_out_in_the_magic_kingdom.cory_doctorow.en.ssp
index 5013a61..878152b 100644
--- a/test/reference/abstraction/down_and_out_in_the_magic_kingdom.cory_doctorow.en.ssp
+++ b/test/reference/abstraction/down_and_out_in_the_magic_kingdom.cory_doctorow.en.ssp
@@ -18084,3 +18084,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/for_the_win.cory_doctorow.en.ssp b/test/reference/abstraction/for_the_win.cory_doctorow.en.ssp
index 8bbb675..c8d4ecc 100644
--- a/test/reference/abstraction/for_the_win.cory_doctorow.en.ssp
+++ b/test/reference/abstraction/for_the_win.cory_doctorow.en.ssp
@@ -44329,3 +44329,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/free_as_in_freedom_2.richard_stallman_and_the_free_software_revolution.sam_williams.richard_stallman.en.ssp b/test/reference/abstraction/free_as_in_freedom_2.richard_stallman_and_the_free_software_revolution.sam_williams.richard_stallman.en.ssp
index 187a32f..44421d4 100644
--- a/test/reference/abstraction/free_as_in_freedom_2.richard_stallman_and_the_free_software_revolution.sam_williams.richard_stallman.en.ssp
+++ b/test/reference/abstraction/free_as_in_freedom_2.richard_stallman_and_the_free_software_revolution.sam_williams.richard_stallman.en.ssp
@@ -21420,3 +21420,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/free_culture.lawrence_lessig.en.ssp b/test/reference/abstraction/free_culture.lawrence_lessig.en.ssp
index b6a356c..b3e5873 100644
--- a/test/reference/abstraction/free_culture.lawrence_lessig.en.ssp
+++ b/test/reference/abstraction/free_culture.lawrence_lessig.en.ssp
@@ -28760,3 +28760,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/free_for_all.peter_wayner.en.ssp b/test/reference/abstraction/free_for_all.peter_wayner.en.ssp
index 701a2a4..1e128e0 100644
--- a/test/reference/abstraction/free_for_all.peter_wayner.en.ssp
+++ b/test/reference/abstraction/free_for_all.peter_wayner.en.ssp
@@ -20755,3 +20755,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/gpl2.fsf.en.ssp b/test/reference/abstraction/gpl2.fsf.en.ssp
index ef30672..d3c8d3a 100644
--- a/test/reference/abstraction/gpl2.fsf.en.ssp
+++ b/test/reference/abstraction/gpl2.fsf.en.ssp
@@ -1229,3 +1229,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/gpl3.fsf.en.ssp b/test/reference/abstraction/gpl3.fsf.en.ssp
index 44d05fd..118bf02 100644
--- a/test/reference/abstraction/gpl3.fsf.en.ssp
+++ b/test/reference/abstraction/gpl3.fsf.en.ssp
@@ -2035,3 +2035,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/gullivers_travels.jonathan_swift.en.ssp b/test/reference/abstraction/gullivers_travels.jonathan_swift.en.ssp
index 776ddf4..4fd2a92 100644
--- a/test/reference/abstraction/gullivers_travels.jonathan_swift.en.ssp
+++ b/test/reference/abstraction/gullivers_travels.jonathan_swift.en.ssp
@@ -9083,3 +9083,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/little_brother.cory_doctorow.en.ssp b/test/reference/abstraction/little_brother.cory_doctorow.en.ssp
index ce13559..67c1093 100644
--- a/test/reference/abstraction/little_brother.cory_doctorow.en.ssp
+++ b/test/reference/abstraction/little_brother.cory_doctorow.en.ssp
@@ -39634,3 +39634,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/live-manual.ca.ssp b/test/reference/abstraction/live-manual.ca.ssp
index a2b8272..5382af5 100644
--- a/test/reference/abstraction/live-manual.ca.ssp
+++ b/test/reference/abstraction/live-manual.ca.ssp
@@ -15986,3 +15986,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/live-manual.de.ssp b/test/reference/abstraction/live-manual.de.ssp
index e8dabc6..4a19a7e 100644
--- a/test/reference/abstraction/live-manual.de.ssp
+++ b/test/reference/abstraction/live-manual.de.ssp
@@ -25,7 +25,7 @@
inline_notes_star: 0
tables: 0
codeblocks: 155
- images: 1
+ images: 0
poems: 0
groups: 0
blocks: 0
@@ -15982,3 +15982,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/live-manual.en.ssp b/test/reference/abstraction/live-manual.en.ssp
index 6511af1..771d352 100644
--- a/test/reference/abstraction/live-manual.en.ssp
+++ b/test/reference/abstraction/live-manual.en.ssp
@@ -25,7 +25,7 @@
inline_notes_star: 0
tables: 0
codeblocks: 155
- images: 1
+ images: 0
poems: 0
groups: 0
blocks: 0
@@ -15981,3 +15981,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/live-manual.es.ssp b/test/reference/abstraction/live-manual.es.ssp
index b839b5f..0db0682 100644
--- a/test/reference/abstraction/live-manual.es.ssp
+++ b/test/reference/abstraction/live-manual.es.ssp
@@ -25,7 +25,7 @@
inline_notes_star: 0
tables: 0
codeblocks: 155
- images: 1
+ images: 0
poems: 0
groups: 0
blocks: 0
@@ -15988,3 +15988,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/live-manual.fr.ssp b/test/reference/abstraction/live-manual.fr.ssp
index 85eb9ac..5660f6b 100644
--- a/test/reference/abstraction/live-manual.fr.ssp
+++ b/test/reference/abstraction/live-manual.fr.ssp
@@ -25,7 +25,7 @@
inline_notes_star: 0
tables: 0
codeblocks: 155
- images: 1
+ images: 0
poems: 0
groups: 0
blocks: 0
@@ -15987,3 +15987,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/live-manual.it.ssp b/test/reference/abstraction/live-manual.it.ssp
index 2f87646..254539b 100644
--- a/test/reference/abstraction/live-manual.it.ssp
+++ b/test/reference/abstraction/live-manual.it.ssp
@@ -25,7 +25,7 @@
inline_notes_star: 0
tables: 0
codeblocks: 155
- images: 1
+ images: 0
poems: 0
groups: 0
blocks: 0
@@ -15984,3 +15984,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/live-manual.ja.ssp b/test/reference/abstraction/live-manual.ja.ssp
index 1c3da33..5e485cf 100644
--- a/test/reference/abstraction/live-manual.ja.ssp
+++ b/test/reference/abstraction/live-manual.ja.ssp
@@ -25,7 +25,7 @@
inline_notes_star: 0
tables: 0
codeblocks: 155
- images: 1
+ images: 0
poems: 0
groups: 0
blocks: 0
@@ -15953,3 +15953,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/live-manual.pl.ssp b/test/reference/abstraction/live-manual.pl.ssp
index 90f9c99..7d37ae9 100644
--- a/test/reference/abstraction/live-manual.pl.ssp
+++ b/test/reference/abstraction/live-manual.pl.ssp
@@ -25,7 +25,7 @@
inline_notes_star: 0
tables: 0
codeblocks: 155
- images: 1
+ images: 0
poems: 0
groups: 0
blocks: 0
@@ -15997,3 +15997,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/live-manual.ro.ssp b/test/reference/abstraction/live-manual.ro.ssp
index 627f6e2..093b3e5 100644
--- a/test/reference/abstraction/live-manual.ro.ssp
+++ b/test/reference/abstraction/live-manual.ro.ssp
@@ -25,7 +25,7 @@
inline_notes_star: 0
tables: 0
codeblocks: 155
- images: 1
+ images: 0
poems: 0
groups: 0
blocks: 0
@@ -15982,3 +15982,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/not_without_help.austin_amissah.en.ssp b/test/reference/abstraction/not_without_help.austin_amissah.en.ssp
index 9a3ddef..74d1124 100644
--- a/test/reference/abstraction/not_without_help.austin_amissah.en.ssp
+++ b/test/reference/abstraction/not_without_help.austin_amissah.en.ssp
@@ -14098,3 +14098,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/on_the_net_and_information.ralph_amissah.en.ssp b/test/reference/abstraction/on_the_net_and_information.ralph_amissah.en.ssp
index 809b843..fddf73e 100644
--- a/test/reference/abstraction/on_the_net_and_information.ralph_amissah.en.ssp
+++ b/test/reference/abstraction/on_the_net_and_information.ralph_amissah.en.ssp
@@ -2042,3 +2042,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/outputs_of_ai_systems_qualify_as_artwork.anna_linne.en.ssp b/test/reference/abstraction/outputs_of_ai_systems_qualify_as_artwork.anna_linne.en.ssp
index ff92970..037aab5 100644
--- a/test/reference/abstraction/outputs_of_ai_systems_qualify_as_artwork.anna_linne.en.ssp
+++ b/test/reference/abstraction/outputs_of_ai_systems_qualify_as_artwork.anna_linne.en.ssp
@@ -493,3 +493,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/revisiting_the_autonomous_contract.ralph_amissah.en.ssp b/test/reference/abstraction/revisiting_the_autonomous_contract.ralph_amissah.en.ssp
index eb821f6..70cd5d0 100644
--- a/test/reference/abstraction/revisiting_the_autonomous_contract.ralph_amissah.en.ssp
+++ b/test/reference/abstraction/revisiting_the_autonomous_contract.ralph_amissah.en.ssp
@@ -2520,3 +2520,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/sisu-manual:sisu_markup.en.ssp b/test/reference/abstraction/sisu-manual:sisu_markup.en.ssp
index 03c421e..cf84157 100644
--- a/test/reference/abstraction/sisu-manual:sisu_markup.en.ssp
+++ b/test/reference/abstraction/sisu-manual:sisu_markup.en.ssp
@@ -8543,3 +8543,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/the_autonomous_contract.ralph_amissah.en.ssp b/test/reference/abstraction/the_autonomous_contract.ralph_amissah.en.ssp
index a3f173d..2be8f92 100644
--- a/test/reference/abstraction/the_autonomous_contract.ralph_amissah.en.ssp
+++ b/test/reference/abstraction/the_autonomous_contract.ralph_amissah.en.ssp
@@ -4141,3 +4141,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/the_cathedral_and_the_bazaar.eric_s_raymond.en.ssp b/test/reference/abstraction/the_cathedral_and_the_bazaar.eric_s_raymond.en.ssp
index f2c721f..d40f452 100644
--- a/test/reference/abstraction/the_cathedral_and_the_bazaar.eric_s_raymond.en.ssp
+++ b/test/reference/abstraction/the_cathedral_and_the_bazaar.eric_s_raymond.en.ssp
@@ -3860,3 +3860,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/the_public_domain.james_boyle.en.ssp b/test/reference/abstraction/the_public_domain.james_boyle.en.ssp
index 6f8793b..d0d911d 100644
--- a/test/reference/abstraction/the_public_domain.james_boyle.en.ssp
+++ b/test/reference/abstraction/the_public_domain.james_boyle.en.ssp
@@ -16359,3 +16359,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/the_wealth_of_networks.yochai_benkler.en.ssp b/test/reference/abstraction/the_wealth_of_networks.yochai_benkler.en.ssp
index 6eaf022..112c561 100644
--- a/test/reference/abstraction/the_wealth_of_networks.yochai_benkler.en.ssp
+++ b/test/reference/abstraction/the_wealth_of_networks.yochai_benkler.en.ssp
@@ -27739,3 +27739,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/through_the_looking_glass.lewis_carroll.en.ssp b/test/reference/abstraction/through_the_looking_glass.lewis_carroll.en.ssp
index c1db4a2..94e4ae5 100644
--- a/test/reference/abstraction/through_the_looking_glass.lewis_carroll.en.ssp
+++ b/test/reference/abstraction/through_the_looking_glass.lewis_carroll.en.ssp
@@ -12469,3 +12469,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/two_bits.christopher_kelty.en.ssp b/test/reference/abstraction/two_bits.christopher_kelty.en.ssp
index 19c22a0..f4b9fe4 100644
--- a/test/reference/abstraction/two_bits.christopher_kelty.en.ssp
+++ b/test/reference/abstraction/two_bits.christopher_kelty.en.ssp
@@ -28314,3 +28314,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/viral_spiral.david_bollier.en.ssp b/test/reference/abstraction/viral_spiral.david_bollier.en.ssp
index dc212b6..952ac5f 100644
--- a/test/reference/abstraction/viral_spiral.david_bollier.en.ssp
+++ b/test/reference/abstraction/viral_spiral.david_bollier.en.ssp
@@ -28615,3 +28615,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+
diff --git a/test/reference/abstraction/war_and_peace.leo_tolstoy.en.ssp b/test/reference/abstraction/war_and_peace.leo_tolstoy.en.ssp
index 5ca7882..fc00d14 100644
--- a/test/reference/abstraction/war_and_peace.leo_tolstoy.en.ssp
+++ b/test/reference/abstraction/war_and_peace.leo_tolstoy.en.ssp
@@ -147995,3 +147995,17 @@
}
+@tail {
+
+[0] heading :B
+.part: backmatter
+.parent: 1
+.heading_lev_collapsed: 1
+.is_of_type: para
+.segment: tail
+.anchor: _part_eof
+.segment_epub: _part_eof
+.anchor_tag: section_eof
+
+}
+