feat: an alphabetical index, marked word by word

References ▸ Index entry marks a place with the term the index should
list — under a key of its own where it belongs elsewhere — and the Index
in the same menu lists each term once, sorted case-insensitively, with
every page it was marked on.

Both formats write a place, not a range, so the entry is an inline atom:
ODF text:alphabetical-index-mark plus text:alphabetical-index, Word XE
plus INDEX. LibreOffice reads our file back unchanged. The bibliography,
the other half of that gap, is still open.
This commit is contained in:
Steffen Becker committed 2026-08-14 08:44:00 +02:00
1 parent c97a38ec77
commit eaaec541af
15 files changed
+351 -24

No files matched your search

+12
View File
@@ -1023,6 +1023,18 @@
/* Recorded revisions (trackChanges.ts). Both word processors underline an insertion
and strike a deletion, in the reviewer's colour; one colour here, since the editor
has a single author. */
/* An index entry is a place, not text: a thin grey bar the way both word processors
shade a field, so it can be seen and deleted without taking room in the line. */
.tiptap .pm-index-entry {
display: inline-block;
width: 3px;
height: 0.9em;
margin: 0 1px;
vertical-align: -0.05em;
border-radius: 1px;
background: var(--color-field-shade, rgba(0, 0, 0, 0.18));
}
.tiptap .pm-insertion {
color: #b5179e;
text-decoration: underline;