Undeclared mark
A set names a running-header mark that was
never declared. Unlike most bad values, this one is fatal — the mark would write
to a channel that doesn't exist.
What it looks like
The current author is [John Keats]{.set mark="ghost"}.
ERROR: .set mark 'ghost' is not declared (in .set "John Keats")
Add it to marks: in pandoc.yaml.
See https://keystone.knight-owl.dev/errors/undeclared-mark/
What it means
Running-header marks are declared up front under marks: in your metadata; set
then writes a value into one of them for the running header to read back. A set
pointing at an undeclared mark has no channel to write to, so Keystone stops
rather than emit output that references a mark the document never created. The
check is the same in every format, so building EPUB first won't let it through.
Declare the mark before you reference it
Add it under marks: in pandoc.yaml. See
Running headers & footers for how a mark
feeds a running header.
marks:
- ghost
Related
- Missing required field — a
setwith nomarkat all. - Invalid attribute value — the other value checks, most of which only warn.