Skip to content

🔧 Make inline numbered source footnotes opt-in - #39

Open
JFWooten4 wants to merge 2 commits into
mainfrom
quote-local-caret-free-footnotes-20261015
Open

JFWooten4 wants to merge 2 commits into
mainfrom
quote-local-caret-free-footnotes-20261015

Conversation

@JFWooten4

@JFWooten4 JFWooten4 commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

Summary

Add opt-in caret-free, numeric source-footnote markers for PDF Compiler's sourced [!QUOTE] blockquotes, modeled on the inline copied-footnote notation introduced in PDF-magic/viewer#187. The regular [^11] and [^11]: quotation markers continue to work with no setting change.

By default, [11] remains literal text because bracketed numbers also occur in quotations, bibliographies, and ordinary prose. Enable Inline numbered footnotes ([11]) in sourced blockquotes under Sections & TOC, or pass --quote-inline-number-footnotes to the CLI, to interpret matching markers in a sourced quote:

> [!QUOTE]
> First passage.[4] Later passage.[17]
> [4]: Source's original fourth footnote.
> [17]: Source's original seventeenth footnote.
> [!SOURCE] Author, *Work*

Behavior and compatibility

  • The checkbox is unchecked by default. When disabled, [11] and [11]: remain literal instead of silently becoming citations or definitions.
  • When enabled, only numeric caret-free references with a matching local definition in the same [!QUOTE] are converted to superscript footnotes. Source labels are preserved, including gaps such as 4 and 17.
  • Quotation-local labels do not consume or renumber ordinary document [^key] footnotes. Independent quotations can reuse the same local numbers.
  • Standard [^key] quote-local footnotes remain supported regardless of the toggle.
  • Unmatched brackets, ordinary Markdown links and image labels are not interpreted as shorthand footnotes. Outside [!QUOTE] blocks, bracket-only numbers are unaffected.
  • Source-footnote bodies still render inside the blockquote before the source attribution, retaining inline formatting. This is compiler-specific Markdown syntax, not a portable Markdown extension.

Integration

  • Wire the feature through the Python renderer, the web compiler form, and the standalone CLI.
  • The web option is included in existing exported/imported pdf-compiler-config.json settings, preserving the opt-in choice across sessions.
  • Document both safe default syntax and shorthand syntax in the README.

Regression coverage

Updated the existing quotation tests so previously implicit bare-number recognition is explicitly enabled. Added tests for the disabled default, conflict avoidance, numeric-only/local-only substitution, web-generated PDF output, and config import/export behavior. The tests were added and the resulting Git tree and branch diff were verified, but the full suite was not executed in this connector workflow.

This updates the earlier quote-local footnote feature from #30; it does not change document-wide footnote numbering.

Recognize quotation-local [17] citations and [17]: definitions without changing ordinary document footnotes. Preserve legacy quote notation, scope repeated labels by quotation, and add regression tests and documentation.

Co-authored-by: Codex Web <noreply@openai.com>
@vercel

vercel Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
pdf Ready Ready Preview Oct 16, 2026 3:08pm UTC

Gate caret-free [11] source-quotation references and definitions behind a default-off setting in the web configurator, Python renderer, and CLI. Retain caret-prefixed notes, restrict shorthand to locally defined numeric labels, and cover configuration persistence, Markdown conflicts, and PDF rendering.

Co-authored-by: Codex Web <noreply@openai.com>
@JFWooten4 JFWooten4 changed the title 🔧 Support caret-free footnote markers in sourced quotations 🔧 Make inline numbered source footnotes opt-in Oct 16, 2026

This branch was successfully deployed

1 active deployment
Preview — 89b18e64 Deployed Oct 16, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant