本文へ移動
cccskills
無料GitHub で公開

jp-pdf

日本語Markdownを配色付きのオフラインPDFに変換するスキル。「PDF化して」「PDFにして」「PDFを生成」「markdownをPDF」「日本語PDF」等で発動。IPAゴシック+pandoc/xelatex(Chrome・Google不使用)、SVG図の埋め込み、色付き見出し・コールアウト引用・縞模様テーブルに対応。

インストール方法を見る

含まれるファイル(4)

  • SKILL.md6.3 KB
  • assets/style.tex2.3 KB
  • scripts/build_pdf.py8.6 KB
  • scripts/svglib.py5.6 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

jp-pdf — 日本語Markdown → 配色付きオフラインPDF

Markdown を、日本語が綺麗に組まれた配色付き PDF に変換する。生成経路は pandoc → xelatex のみで、Chrome や外部サービスを使わない(外部通信ゼロ)。

<SKILL_DIR> はこの SKILL.md があるディレクトリの実パスに読み替える。

いつ使うか

  • 「この Markdown を PDF にして」「研究計画書を PDF 化して」等の依頼。
  • 日本語ドキュメント(設計書・提案書・レポート)を配布用の体裁で出したいとき。

前提ツール(すべてローカル/オフライン)

ツール用途導入例
pandocMarkdown→LaTeX→PDFbrew install pandoc
xelatex (TeX Live)日本語対応PDFエンジンMacTeX / TeX Live
rsvg-convert (librsvg)SVG図→ベクターPDFbrew install librsvg
IPAexGothic フォント日本語本文~/Library/Fonts/ipaexg.ttf
ghostscript (gs)プレビュー(PNG)brew install ghostscript

不足時は build スクリプトが名前を挙げて停止する。

基本の手順

  1. 入力 Markdown を用意(既存ファイルでよい)。図が無ければこの1手で完了。

  2. ビルドを実行:

    python3 "<SKILL_DIR>/scripts/build_pdf.py" \
      --input path/to/doc.md \
      --output path/to/doc.pdf \
      --title "ドキュメント表題" \
      --running-title "ヘッダに出す短い題" --doc-tag "研究計画書" \
      --toc --preview
    
  3. --preview を付けると1ページ目を doc_p1.png に出す。gs で任意ページを PNG化して目視確認する:

    gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=png16m -r120 \
       -dFirstPage=1 -dLastPage=3 -sOutputFile=out-%02d.png doc.pdf
    

図(ASCII図 → SVG)を入れる場合

本文中の ASCII 図を、見やすい SVG 図に差し替えられる。原稿 .md には ASCII を 残したまま、PDF ビルド時だけ画像に差し替える方式(原稿はエディタで読めるまま)。

  1. <SKILL_DIR>/scripts/svglib.py を import して作図スクリプトを書く。雛形は <SKILL_DIR>/../../examples/gen_diagrams.py(svglib を import して使う)。 角丸ボックス box()・矢印 arrow()・ラベル label()・チップ chip() を組む。

  2. 生成した SVG を assets/ に置く。

  3. 「どの ASCII フェンスをどの SVG に差し替えるか」を figures.json で対応づける (雛形は examples/figures.example.json):

    [
      {"sig": "フェンス内に必ず含まれる一意な文字列", "svg": "pipeline.svg", "caption": "図:…"}
    ]
    
  4. ビルドに --assets assets --figures figures.json を渡す。該当フェンスは ![caption](assets/xxx.pdf) に置換され、SVG は自動でベクターPDF化される。

設計上の要点(この手順で踏んだ落とし穴)

  • 完全オフライン:Chrome/HTML 経路は使わない。pandoc→xelatex がローカル完結する ため、テレメトリや外部リソースのフェッチが発生しない。
  • フォント:IPAexGothic は単一ウェイトのため、太字は AutoFakeBold で擬似化する (build スクリプトが既定で付与)。
  • 配色:<SKILL_DIR>/assets/style.tex が担う。ティール系で、色付き見出し+下線罫、 tcolorbox によるコールアウト引用(> ブロック)、rowcolors の縞テーブル、 fancyhdr のヘッダ/フッタ、タイトル上下の罫線。
  • SVGの枠はみ出し:textLength(引き伸ばし指定)は rsvg-convert の PDF出力で 無視される(PNGでは効くので見落としやすい)。svglib は代わりにフォントサイズ を実寸で縮めて収める(fitfs)。作図時はこの box()/label() を使えば安全。
  • 字形置換:IPAexGothic に無い ✕・≈ はビルド時のみ ×・≒ に置換する (既定。原稿は不変)。他に欠字警告が出たら --glyph-subs "字=代替,…" を足す。
  • ラベルとボックスの重なり防止:自由配置の label() を、ボックスの縦範囲(y〜y+h)と 横範囲が交差する座標に置かない。矢印に添える名前は矢印の上の短い語だけにし、 説明文はボックス行の下に専用の帯(縦方向のゾーン)を確保して置く。ゾーン同士は 16px 以上離す。長文ラベルは maxw を必ず指定して縮小させる。
  • 検証(必須):ビルド前に SVG 自体を rsvg-convert -o check.png で PNG 化して目視し、 文字と枠・矢印の重なりがあれば直してから組み込む。ビルド後も gs でページを PNG 化し、 図が枠に収まっているか・記号が出ているかを目視する。重なりが残ったまま完成としない。

build_pdf.py の主なオプション

--input --output(必須)/--assets DIR/--figures JSON/--title/ --running-title/--doc-tag/--style style.tex(既定は同梱)/--font(既定 IPAexGothic)/ --fontsize(既定 10pt)/--margin(既定 16mm)/--img-width(既定 88%)/ --toc/--preview/--glyph-subs "a=b,c=d"。

デモ(同梱サンプル)

examples/ に汎用サンプル一式が入っている。次で一巡を試せる。

python3 "<SKILL_DIR>/../../examples/gen_diagrams.py" "<SKILL_DIR>/../../examples/assets"
python3 "<SKILL_DIR>/scripts/build_pdf.py" \
  --input "<SKILL_DIR>/../../examples/sample.md" \
  --output sample.pdf \
  --assets "<SKILL_DIR>/../../examples/assets" \
  --figures "<SKILL_DIR>/../../examples/figures.example.json" \
  --title "月次レポート自動化の検討メモ" --toc --preview

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

meiseki

無料日本語概要

日本語の文章を「一読で意味が取れる」状態に明晰化するスキル。 「わかりやすく直して」「読みやすくして」「読みにくいので整えて」「AIっぽさを消して」 「ドキュメントを推敲して」「冗長な日本語を削って」「文章を明晰化して」などで発動する。 対象は技術記事・README・設計書・社内ドキュメント・ブログの説明文など説明的な日本語の本文。 対象外はコード本体・SNS の短文・小説や詩などの創作・法務/医療/論文の厳密文。 二重否定・長い連体修飾・「の」の連鎖・過剰な名詞化・冗長表現・埋もれた列挙、 さらに「重要なのは〜」「掘り下げる」などの LLM 定型句や、段落レベルの言い換え反復といった 「日本語ネイティブでも読解負荷の高い構文」を削ぎ落とすことが目的。 声・立場・個性は足さず、明晰さ(明晰=澄んで分かること)だけを目的とする。

bamboo-nova/meiseki412026年10月12日 更新

rikai

無料日本語概要

日本語を主対象とする資料から選択式の問題を 1 ページのフォームで出し、採点結果を学習履歴に残し、解説を絵解きノート(HTML)とテキストブック(PDF)に蓄積し、書き手向けの還流レポートを作るスキル。「理解度を確認して」「この資料でクイズして」「読めているかテストして」「内容を復習したい」などで発動する。

bamboo-nova/meiseki412026年10月12日 更新

yorisoi

無料日本語概要

日本語の文書を、公的ガイドライン準拠の「やさしい日本語」に書き換えるスキル。 「やさしい日本語にして」「やさしい日本語に翻訳して」「外国人にもわかるように書いて」 「平易な日本語にして」「N4レベルの日本語にして」「easy Japanese にして」などで発動する。 「やさしい日本語かチェックして」「判定だけして」「スコアを出して」なら書き換えずに判定だけ行う。 対象はお知らせ・案内・手続き説明・マニュアルなど、在留外国人や日本語学習者にも 読んでほしい説明文。根拠は「在留支援のためのやさしい日本語ガイドライン」 (出入国在留管理庁・文化庁、2020)。二重否定・受身・推測表現・敬語・表記を textlint と prh 辞書で機械検出し、語彙レベル(既定 N4 相当・推定値)を同梱リストで機械判定する。 明晰化(meiseki)とは対象読者が違う。日本語ネイティブ向けの推敲は meiseki を使う。

bamboo-nova/meiseki412026年10月12日 更新

bamboo-nova のスキルをすべて見る

このスキルの問題を報告する