🔁 Changing the outline after sign-off¶
Status: workflow, part of Write a book.
Written for an author whose book has outgrown the outline they
signed: a chapter to add, drop, split or move, a preface no longer
wanted. Assumed: a signed outline and some accepted units
(steps 2 to 4). Not covered here: changing a
chapter's prose, which is draft-reviser's job and needs no outline
change.
The rule is short: the book is the outline. Every assembly writes
book.tex afresh from the signed outline and the units accepted under
it, so whatever the outline says is what the next build prints, and
nothing else.
🧭 The loop¶
- Edit
spec.md. Add, remove, rename or move entries. - See what moved.
1 | |
1 2 3 4 5 | |
Until you re-sign, the assembler refuses to build: an outline nobody
approved is not one it composes from.
3. Re-sign. chitragupta draft spec sign content/drafts/twins. Only
the chapters whose span you edited count as changed
(why), so
accepted units elsewhere stay accepted.
4. Write and accept what is new or changed (steps 3b and 4).
5. Reassemble and rebuild (steps 6 and 7). A PDF
built before the change stays as it was until you rebuild it.
✂ What each change does¶
| You | The next build | On disk |
|---|---|---|
| add a chapter | includes it once accepted; until then unit status shows it unwritten, and the assembler reports it rather than composing it |
nothing until you write it |
| remove a chapter (or the preface, or a whole part) | leaves it out: no \input, no table-of-contents line, nothing in the registries |
its prose and acceptance record stay; unit status lists them |
| edit a chapter's brief or sections | includes it once re-accepted; until then it is stale: inputs changed |
unchanged |
| move a chapter to another part | prints it in its new place once re-accepted; until then it is stale: inputs changed, because the part above a unit is one of its inputs. Its id, label and every \cref to it are unchanged |
unchanged |
| reword a chapter's heading | prints the new title once re-accepted (the title is an input too); every \cref still resolves, because they follow the id |
unchanged |
| add or drop a back-matter page | prints or leaves out that page (back matter) | nothing: generated pages have no file |
change the - author: line |
prints the new name on the title and copyright pages | the whole-book digest moves, no chapter's does |
🗂 What a removal leaves behind¶
Removing an entry never deletes anything. After removing ch-sync:
1 | |
unit status prints that line after its summary, and --json carries
the ids under "orphaned"; neither counts towards its exit code. The
three files left are yours to keep or delete:
| File | What it is |
|---|---|
content/drafts/twins/ch-sync.md |
the prose you wrote |
content/specs/twins/units/ch-sync.json |
the record that you accepted it |
content/rendered/twins/ch-sync.tex |
its last conversion; not \input any more |
Put the entry back with the same id, in the same part, with the same
title and brief, and the record applies again: if the prose is
unchanged too, the unit is accepted with no re-acceptance.
🧩 A chapter with no sections¶
A chapter whose brief is all the outline says about it (no ####
lines) is a unit by itself, written as <chapter-id>.md. Adding two
or more sections to it later, or one with a different title, makes it a
chapter described at section level: still the same unit and file, but
now spec align compares its headings against the sections you declared
(why).
Adding exactly one section that carries the chapter's own title is
the retrofitted shape instead: the section becomes the unit, written
as <section-id>.md, and the chapter's old record is then listed as
"accepted, but no longer in the outline" although the chapter is still
there. Give that section its own title, or none at all, unless you are
retrofitting (retrofit).