Undeclared mark
A set names a running-header mark that was never declared. set requires a mark and
has no default, so the build stops.
What it looks like
The current author is [John Keats]{.set mark="ghost"}.
ERROR: shortcut 'set' rejects mark 'ghost'
│ [John Keats]{.set mark="ghost"}
It takes a declared mark.
The attribute is required, and nothing stands in for the value.
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.
A shortcut of your own over set that supplies a mark of its own — a default, or one its template writes — falls back
to that mark with a warning instead, as any invalid value does.
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.