跳到正文
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(原文)

安装前可以查看交给 AI 代理的指令内容。

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

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

meiseki

免费

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

中文简介正在准备中。当前显示原文说明。

bamboo-nova/meiseki432026年10月20日 更新

rikai

免费

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

中文简介正在准备中。当前显示原文说明。

bamboo-nova/meiseki432026年10月20日 更新

yorisoi

免费

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

中文简介正在准备中。当前显示原文说明。

bamboo-nova/meiseki432026年10月20日 更新

查看 bamboo-nova 的全部技能

报告此技能的问题