Summary
Under numbering.book.enabled (and more generally when a heading depth is enabled), every heading at that depth is numbered, and there is no way to exclude an individual heading. LaTeX \section*{...} and \paragraph{...} are unnumbered by design, so converting them faithfully to MyST needs a per-heading opt-out. Today mystmd offers only all-or-nothing control per heading depth.
What I tried (mystmd v1.10.1, QuantEcon qe-v8 fork)
Neither of the attribute forms one might expect is parsed as an attribute on an ATX heading — the whole {…} block leaks into the rendered heading text:
| Source |
Rendered heading text |
Heading id |
## Summary {.unnumbered} |
Summary {.unnumbered} |
auto-slug of the leaked text (summary-unnumbered) |
## Summary {#summary .unnumbered} |
Summary {#summary .unnumbered} |
comes only from a preceding (label)= target, never from the {#…} block |
So ids are set via the (label)= target syntax, and there is no class/attribute channel on headings through which an "unnumbered" hint could be passed.
Request
A per-heading way to exclude a single heading from automatic numbering — for example honoring enumerated: false (or a .unnumbered class) on a heading node. This would let downstream tooling represent unnumbered sections faithfully while keeping them in the document/TOC.
Why it matters
This surfaced converting QuantEcon/book-dp2 from LaTeX. Each chapter's \section*{Summary} and the run-in \paragraph headings are unnumbered in the source/PDF, but in the MyST build they pick up section numbers (e.g. "Summary" numbered §1.5, pushing "Chapter Notes" to §1.6; a \paragraph carrying a full multi-level number like §8.3.1.2.1). With no per-heading opt-out, the only faithful alternatives both lose information: keep the heading and accept a wrong number, or demote it to bold run-in text and lose the TOC entry and anchor.
Happy to provide a minimal reproducing project if useful.
Summary
Under
numbering.book.enabled(and more generally when a heading depth is enabled), every heading at that depth is numbered, and there is no way to exclude an individual heading. LaTeX\section*{...}and\paragraph{...}are unnumbered by design, so converting them faithfully to MyST needs a per-heading opt-out. Today mystmd offers only all-or-nothing control per heading depth.What I tried (mystmd v1.10.1, QuantEcon qe-v8 fork)
Neither of the attribute forms one might expect is parsed as an attribute on an ATX heading — the whole
{…}block leaks into the rendered heading text:## Summary {.unnumbered}Summary {.unnumbered}summary-unnumbered)## Summary {#summary .unnumbered}Summary {#summary .unnumbered}(label)=target, never from the{#…}blockSo ids are set via the
(label)=target syntax, and there is no class/attribute channel on headings through which an "unnumbered" hint could be passed.Request
A per-heading way to exclude a single heading from automatic numbering — for example honoring
enumerated: false(or a.unnumberedclass) on a heading node. This would let downstream tooling represent unnumbered sections faithfully while keeping them in the document/TOC.Why it matters
This surfaced converting QuantEcon/book-dp2 from LaTeX. Each chapter's
\section*{Summary}and the run-in\paragraphheadings are unnumbered in the source/PDF, but in the MyST build they pick up section numbers (e.g. "Summary" numbered §1.5, pushing "Chapter Notes" to §1.6; a\paragraphcarrying a full multi-level number like §8.3.1.2.1). With no per-heading opt-out, the only faithful alternatives both lose information: keep the heading and accept a wrong number, or demote it to bold run-in text and lose the TOC entry and anchor.Happy to provide a minimal reproducing project if useful.