Communityライティング&編集github.com

Word文書生成パイプライン

MarkdownからPandocを経由してDOCXを生成し、OOXML後処理を施すWord文書フォーマット仕様と生成パイプライン。学術原稿スタイルのWord出力、数式の右揃え番号配置、図表キャプション書式、参照DOCXからの書式抽出、生成済みDOCXのその場書式修正を支援します。

Word文書生成パイプライン とは?

このスキルは、Markdown文書をPandocを介して学術原稿スタイルのDOCXファイルに変換するためのエンドツーエンドパイプラインを提供します。主な特徴は以下の通りです: - **数式番号の正しい配置**:Pandocが`\tag{}`を静かに削除する問題を回避するため、事前処理で`\qquad\text{(n)}`に置き換えます。 - **暗黙的な図の無効化**:`-f markdown-implicit_figures`フラグを使用し、画像の代替テキストを空にすることで、Pandocによる重複キャプション生成を防ぎます。 - **言語間の後方参照構文の違い**:Pythonでは`\1`、PowerShell/JSでは`$1`を使用する必要があります。誤った構文は文字通りの出力を引き起こします。 - **数式フォントの注意点**:OMML数式は`w:ascii="Cambria Math"`に依存しており、文書全体のフォント置換時には数式部分を除外する必要があります。 - **上書き前の検証**:一時コピーを作成し、機能カウントとXML整形式性を検証してから`os.replace`で置き換えます。 パイプラインは`scripts/_rebuild_word.py`(完全パイプライン)と`scripts/_fix_docx_format.py`(その場修正)の2つのスクリプトで構成され、手動編集済みDOCXと新規生成の両方に対応します。内部XMLを直接編集することで、Pandoc単体では実現できない高度な書式制御が可能です。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Laitangtang-lab-workflows/word-standards/tree/HEAD

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Word文書生成 — md→pandoc→docx パイプライン

Markdown(中国語または翻訳された英語)から、研究グループの参照原稿スタイルに準拠したWord文書を生成します。pandoc変換とPython zipfile後処理(docx XMLを直接読み書き)で構成されます。

6つの鉄則(最初に暗記すること)

  1. \tag{n} はpandocによって静かに削除される:生成前に \tag{…} を \qquad\text{(n)} に置き換えて、番号が数式の右端に配置されるようにします。mdソースは標準の \tag 表記をそのまま保持します。
  2. 暗黙的な図を無効にする:-f markdown-implicit_figures を指定し、画像の代替テキストは空にします。そうしないとpandocが代替テキストから重複キャプションを自動生成します。
  3. 後方参照の構文は言語によって異なる:Pythonの re.sub は \1/\g<1> を使用します。PowerShell/JS は $1 を使用します。誤った習慣を持ち込むとリテラル ($1) が出力されます。
  4. 数式フォントは要注意領域:OMML数式ランは w:ascii="Cambria Math" に依存します。文書全体のフォント置換は <m:oMath>…</m:oMath> で分割し、外側のみに適用し、Cambria Mathのカウントが変わっていないことを確認する必要があります。
  5. 上書き前に検証する:一時コピー → 検証(機能カウント + minidom.parseString によるXML整形式性 + pandoc読み戻し) → os.replace。実際の2つのバグはまさにこのゲートで捕捉されました。
  6. スタイルシートの編集はボディXMLの編集に優先する:pandocは --reference-doc からスタイルとsectPrを継承します。reference-doc分析の手順は参考文献§3.5にあります。

コンテンツマップ

詳細(pandoc層の落とし穴、OOXML/regex層の落とし穴、エンジニアリング実践、2回目の数式レイアウトとキャプションルールの落とし穴、再利用可能なスクリプト)は references/word-pandoc-pitfalls.md にあります。抽出されたフォーマット仕様自体(ページ/タイポグラフィ/見出し/キャプション/数式/表)は references/word-format-spec.md にあります。

再利用可能なスクリプト(scripts\ に同梱)

  • _rebuild_word.py:完全なmd→docxパイプライン(\tag 前処理、スタイル注入、後処理、書き込み前検証)
  • _fix_docx_format.py:手動編集されたdocxに対して3つの書式項目(TNR、画像中央揃え、表グリッド線)をその場で修正
  • 呼び出し例(原稿ディレクトリから実行。入力と出力は相対パス):python <skill-path>\scripts\_rebuild_word.py input.md output.docx

どちらを選ぶか:ユーザーがWordファイルを手動編集した場合 → その場修正のみ(再生成は編集を失う)。ユーザーがmdからの新規ビルドを希望する場合 → 完全パイプライン。最初に確認するか、~$ ロックファイルの有無を確認してドキュメントが編集中かどうかを判断します。

スコープの境界

  • Wordコメント/変更履歴(docxエディタMCPの領域):このスキルの対象外
  • 原稿フォーマット仕様自体(ページ/タイポグラフィ/見出し規則):このスキルの references/word-format-spec.md に含まれる
  • スクリプト実行時のPowerShell引用符の落とし穴:references/word-pandoc-pitfalls.md §3.4 を参照

関連スキル