

このプロジェクトが解決する課題
Gongwen GB/T 9704-2012 Skill は、中国語の正式文書を対象としたオープンソースツールです。単にタイトルを黒体、本文を仿宋体に設定するだけではありません。GB/T 9704-2012 の実行可能な要件に従い、A4ページ、版心、タイトル、本文、階層、先頭ページ、機関名、文書番号、署名、日付、ページ番号などのレイアウト要素を処理し、引き続き編集可能な DOCX ファイルとして出力します。
一般的な報告書、計画書、報告資料に適しているほか、正式文書の発行、赤字の機関名と赤線が印刷済みの用紙への差し込み印刷、完全な電子版の赤頭、書簡、命令(令)、議事録にも対応しています。生成された文書は Word または WPS で引き続き表や添付資料、印章画像を追加したり、実際の押印を行ったりできます。

GB/T 9704-2012 は党・政府機関が公文書を作成する際に適用され、その他の機関や組織も準用できます。README によると、この規格は 2025 年 5 月 30 日の再審査後も引き続き有効です。
主な機能と利用範囲
- 一般文書:デフォルトでは
ordinaryを使用します。機関名を指定しても、赤頭は自動生成されません。 - 正式文書:
formalを明示的に選択する必要があります。赤頭印刷済み用紙モードでは、用紙に印刷済みの赤頭と赤線のためのスペースだけを確保し、DOCX 内に重複して描画することはありません。 - 電子版の赤頭:
formal --letterhead digitalを設定した場合のみ、生成器が赤頭の全要素を描画します。 - 機関名と文書番号:
--orgと--doc-noで指定します。正式レイアウトでは、年、六角括弧、通し番号、「号」の規則に明らかに適合しない文書番号を拒否します。 - タイトルと目次:4階層の見出しは Word/WPS の「見出し1」から「見出し4」までのスタイルと対応するアウトラインレベルに書き込まれるため、自動目次を挿入できます。
- ページ番号:中央揃え、奇数・偶数ページ、非表示の3モードに対応しています。具体的なパラメーターはプロジェクトの
SKILL.mdに従ってください。 - 添付資料と版記:添付資料は別ページに生成でき、正式文書のページ番号の連続性を維持します。写し送付先や発行情報は、最終ページの版心下部に固定できます。
- 手動処理:印章、署名印、添付資料の内容、実際の押印位置は、用途に応じて DOCX 内で追加または確認する必要があります。

プロジェクトと実行環境の準備
まず GitHub プロジェクトページ からリポジトリを取得し、プロジェクトのルートディレクトリに移動します。生成器と検証器は node で実行するため、使用可能な Node.js 環境が必要です。README では具体的なバージョンを指定していないため、リポジトリの現在のスクリプトとテスト結果に従ってください。
DOCX を直接生成するだけなら、リポジトリ内でスクリプトを実行できます。AIプログラミングツールにこの Skill を自動的に読み込ませる場合は、クロスプラットフォームインストーラーを使用できます。
macOS と Linux
scripts/install.sh --allWindows
.\scripts\install.ps1 -Allインストーラーは、同じソースディレクトリを各プラットフォームのユーザーレベルのスキルディレクトリに接続します。Windows では、シンボリックリンクの権限問題を避けるため、デフォルトでコピー方式を使用します。対応プラットフォームには Codex、Claude Code、OpenCode、Trae Code、Trae CLI、Kimi Code CLI、Kimi Code、WorkBuddy、ZCode が含まれます。TraeWork では、リポジトリ内の dist/traework-gongwen-skill.zip インポートパッケージを使用します。

最初の一般文書を生成する
プロジェクトにはテスト入力ファイル tests/fixture.md が用意されています。次のコマンドで一般文書のレイアウトに変換し、一時ディレクトリに書き込みます。
node scripts/generate_gongwen_docx.mjs --input tests/fixture.md --output /tmp/gongwen.docx --format ordinary --title "公文書形式回帰テスト"主なパラメーターの意味は次のとおりです。
--input:入力コンテンツファイル。--output:生成する DOCX のパス。--format ordinary:一般的な報告書、計画書、報告資料のレイアウトを使用。--title:文書タイトルを設定。
生成後、検証器でツールが保証する DOCX の構造とレイアウト要素を確認します。
node scripts/verify_gongwen_docx.mjs --input /tmp/gongwen.docx --profile ordinary検証に合格しても、最終確認を省略できるわけではありません。正式に納品する前に、対象コンピューターの Word または WPS でファイルを開き、実際の印刷条件に基づいて改行、ページ分割、フォント、添付資料、押印位置を確認してください。
赤頭印刷済み用紙用の差し込み印刷原稿を生成する
赤い機関標識と赤線がすでに印刷された用紙に文書を印刷する場合は、正式レイアウトと赤頭印刷済み用紙モードを明示的に選択します。
node scripts/generate_gongwen_docx.mjs --input tests/fixture.md --output /tmp/formal.docx --format formal --letterhead preprinted --letterhead-reserve-mm 72 --org "サンプル機関文書" --doc-no "サンプル発〔2026〕1号" --title "公文書形式回帰テスト"--letterhead-reserve-mm 72 は、先頭ページに用紙へ印刷済みの赤頭領域として 72 ミリメートルを確保することを意味します。72 ミリメートルはデフォルト値です。実際の使用時には所属機関の赤頭用紙を測定し、プロジェクトが対応する 37 から 130 ミリメートルの範囲で調整してください。このモードでは、DOCX 内に赤い機関標識と赤線を再描画しません。
続いて、対応する正式レイアウト設定で検証します。
node scripts/verify_gongwen_docx.mjs --input /tmp/formal.docx --profile formal --letterhead preprinted完全な電子版の赤頭を生成する
DOCX 内に赤頭の全要素を描画する必要がある場合に限り、--letterhead digital を使用します。
node scripts/generate_gongwen_docx.mjs --input tests/fixture.md --output /tmp/formal-digital.docx --format formal --letterhead digital --org "サンプル機関文書" --doc-no "サンプル発〔2026〕1号" --title "公文書形式回帰テスト"電子版の赤頭はフォント環境の影響を受けやすくなります。赤頭とタイトルには、対象コンピューターに実際にインストールされた小標宋体を使用し、本文などには標準仿宋体も必要です。生成器がこれらのフォントを見つけられない場合、端末に警告を表示し、使用した代替フォントを記録します。

フォント代替を禁止する
フォント代替を受け入れられない納品環境では、生成器と検証器の両方に --require-standard-fonts を追加します。現在のコンピューターに小標宋体または標準仿宋体がない場合、コマンドは停止し、不足しているフォントを一覧表示します。代替版の出力は続行しません。
node scripts/generate_gongwen_docx.mjs --input tests/fixture.md --output /tmp/strict.docx --format formal --letterhead digital --org "サンプル機関文書" --doc-no "サンプル発〔2026〕1号" --title "公文書形式回帰テスト" --require-standard-fonts
node scripts/verify_gongwen_docx.mjs --input /tmp/strict.docx --profile formal --letterhead digital --require-standard-fonts目次、添付資料、専用形式
Word または WPS で目次を生成する
生成器は4階層の見出しを標準の見出しスタイルとアウトラインレベルに書き込みます。文書を開いた後、Word/WPS で「参照→目次」を選択すると、自動目次を生成または更新できます。第4階層の見出しを表示するかどうかは、目次の設定で選択してください。
添付資料を追加する
--attachment-file を繰り返し使用すると、複数の添付資料を別ページで文書に追加できます。生成器は「添付」ラベル、第3行のタイトル、本文を配置し、正式文書のページ番号の連続性を維持します。具体的な入力構造は、リポジトリ内の SKILL.md を参照してください。
専用生成ブランチを選択する
- 書簡
letter:指定サイズの上下の赤い二重線を生成し、下線をフッターに配置して、ページ番号を無効にします。 - 命令(令)
command:機関標識の下を2行空け、令号の下を2行空けるなどのレイアウト要件を適用します。 - 議事録
minutes:「出席」「欠席」「列席」のラベルを黒体にし、出席者名簿を仿宋体に設定します。
これらの形式は、一般レイアウト上で単純に文字を置き換えるものではなく、それぞれ対応する生成ブランチに入ります。選択する前に、文書の種類を確認してください。
応用利用のアドバイス
- 機関名から赤頭の種類を推測しない。一般文書では常に
ordinaryを明示的に使用し、正式文書ではformalを明示的に使用します。 - 用紙を確認してから差し込み印刷用の余白を設定する。赤頭印刷済み用紙の実寸は機関のテンプレートによって異なる可能性があるため、デフォルトの 72 ミリメートルを機械的に使用しないでください。
- 最終編集環境にフォントをインストールして検証する。同じフォントでもシステム、Word、WPS によって異なる名称が使われる場合があり、代替フォントによって文字サイズ、行間、改行が変わることもあります。
- 長文書の管理に見出しスタイルを活用する。目次の階層を手動で再現せず、生成器が書き込んだ見出し1から見出し4までのスタイルを使用してください。
- 自動検証と手動確認を組み合わせる。リポジトリ内の
references/gbt9704-audit-matrix.mdとreferences/formal-checklist.mdを参考に、自動確認できる項目と手動で再確認が必要な項目を区別してください。 - 特殊なレイアウトロジックに注意する。正式な電子版の赤頭では、明示的な 28 ポイントの版心空行を使用して、赤線下のタイトルおよび機関標識から文書番号までの距離を制御します。上申文書では、文書番号と発行者を同じ行に配置します。
プロジェクトのテストを実行する
macOS または Linux 環境では、リポジトリが提供する回帰テストを実行できます。
tests/run_tests.shテストでは、中央揃えおよび奇数・偶数ページのページ番号生成、DOCX パッケージ構造、PDF 変換検証をカバーし、生成器、検証器、印刷可能なファイルの処理経路が動作することを確認します。クロスプラットフォームのインストールについては、tests/test-install.sh を分離環境で実行し、ローカルのスキルディレクトリと TraeWork インポートパッケージを検証することもできます。
まとめ
Gongwen Skillは、プロンプト、Wordテンプレート、一時的なスクリプトに分散しがちな公文書のルールを、保守可能な1つのワークフローに集約します。最も確実な使い方は、まず適切な通常版式または正式版式を選択し、次にDOCXを生成して検証ツールを実行し、最後に対象のWord/WPS、フォント環境、印刷条件で手動確認を行うことです。プロジェクトはMITライセンスを採用していますが、標準文書や機関のテンプレートについては、それぞれの権利および管理規則に従う必要があります。
