From 38e816a2aa1f097d2d8a1a108ff57fcebfea6dca Mon Sep 17 00:00:00 2001 From: Sylvester Kaczmarek <16242628+sylvesterkaczmarek@users.noreply.github.com> Date: Fri, 14 Aug 2026 20:24:26 +0100 Subject: [PATCH] docs(docx): document footnote separator repair workaround --- skills/docx/SKILL.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/skills/docx/SKILL.md b/skills/docx/SKILL.md index fb954a46..8b18223b 100644 --- a/skills/docx/SKILL.md +++ b/skills/docx/SKILL.md @@ -29,6 +29,7 @@ A `.docx` is a ZIP archive of XML files. Choose your approach by task: - **`PageBreak` must be inside a `Paragraph`.** - **Never use `\n`** — use separate `Paragraph` elements. - **TOC:** headings must use built-in `HeadingLevel.*`; custom heading styles need `outlineLevel` set or they won't appear. +- **Footnotes:** if a docx-js document with footnotes opens with Word's repair dialog, inspect `word/footnotes.xml` before delivery. The special separator and continuation-separator footnotes are structural markers, not ordinary content footnotes; remove any `w:footnoteRef` and `FootnoteReference` run style that docx-js emitted inside those special entries while preserving their separator runs, then repack and verify the document again. - **Don't use a table as a horizontal rule** — use a paragraph bottom border instead. - **Dot-leader / right-aligned-on-same-line:** use `PositionalTab` (`alignment: PositionalTabAlignment.RIGHT`, `leader: PositionalTabLeader.DOT`) inside a `TextRun`, not literal `.` or space padding. @@ -88,4 +89,4 @@ The script writes `comments.xml`, `commentsExtended.xml`, `commentsIds.xml`, `co ## Dependencies -`docx` (npm, preinstalled — install only if `require('docx')` fails) · `pandoc` · LibreOffice (`soffice`) · `pdftoppm` (Poppler) +`docx` (npm, preinstalled — install only if `require('docx')` fails) · `pandoc` · LibreOffice (`soffice`) · `pdftoppm` (Poppler) \ No newline at end of file