latex-document について
LaTeX文書の作成、コンパイル、変換を行うスキルです。履歴書、レポート、論文、ポスターなどの作成に使えます。PDFフォームの入力、形式変換、差し込み生成、バージョン差分にも対応します。
主な機能
- 01多様な文書向けテンプレート
- 02LaTeXをPDFにコンパイルしPNGプレビューを生成
- 03PDFと文書形式の変換
- 04入力可能・スキャン済みPDFフォームへの記入
- 05差し込み生成とバージョン差分
活用シーン
- 01論文、履歴書、ポスター、レポートの作成
- 02PDFからLaTeXへの変換
- 03個別文書の一括生成
- 04PDFフォームへの記入やLaTeX改訂版の比較
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ brycewang-stanford/ auto-empirical-research-skills --skill latex-documentインストール後、Claude Code で/latex-documentを入力して読み込まれたか確認します。
同梱ファイルREADME-original.md
詳細
LaTeX ドキュメントスキル
あらゆる LaTeX ドキュメントを作成し、PDF にコンパイルして、PNG プレビューを生成します。あらゆる種類の PDF を LaTeX に変換します。
ワークフロー:ドキュメントの作成
- ドキュメントの種類を特定します(履歴書、レポート、手紙、請求書、記事、論文、学術 CV、プレゼンテーション、ポスター、試験、書籍、チートシート)
- ポスターの場合: ポスターのサブワークフロー(下記のポスターのサブワークフローを参照)を実行してから、手順 5 に進みます。
- チートシート/リファレンスカードの場合: チートシートのサブワークフロー(下記のチートシート/リファレンスカードのサブワークフローを参照)を実行してから、手順 5 に進みます。
- ユーザーに、どの拡張要素を希望するか尋ねます(AskUserQuestion ツールを multiSelect で使用)。ドキュメントの種類に応じて、適切な選択肢を提示します:
- AI 生成画像 — 独自のイラスト、図、写真(generate-image スキルを使用)
- チャート/グラフ — 棒、折れ線、円、散布図、ヒートマップ(pgfplots または matplotlib)
- フローチャート/図 — プロセスフロー、アーキテクチャ、決定木(TikZ または Mermaid)
- 引用/参考文献一覧 — 学術文献、脚注、引用文献(BibTeX/biblatex)
- データ付き表 — 比較表、財務データ、統計(booktabs)
- ウォーターマーク — DRAFT、CONFIDENTIAL、または企業ロゴの背景
- シンプルなドキュメント(カバーレター、請求書)の場合、またはユーザーが希望内容をすでに明確に指定している場合は、この手順を省略します。
assets/templates/から適切なテンプレートをコピーするか、最初から作成します- ユーザーの要件に合わせて内容をカスタマイズします
- ユーザーが選択した要素に応じて、外部アセットを生成します:
- AI 画像:
python3 <skill_path>/../generate-image/scripts/generate_image.py "prompt" --output ./outputs/figure.png - matplotlib チャート:
python3 <skill_path>/scripts/generate_chart.py <type> --data '<json>' --output chart.png - Mermaid 図:
bash <skill_path>/scripts/mermaid_to_image.sh diagram.mmd output.png
- AI 画像:
- 5 ページ以上のドキュメントの場合: コンパイル前に長文ドキュメントのアンチパターンのセクションを確認し、コンテンツ生成チェックリストを実行します。主なルール:箇条書きより文章を優先する、リスト全体を簡潔にまとめる、テキストモードでは
</>をエスケープする、セクションの形式に変化をつける、ewpageの使用を制限する、画像の幅を textwidth の 0.75~0.85 にする。 scripts/compile_latex.shでコンパイルします(CJK/RTL、用語集、参考文献を自動検出します)- PNG プレビューをユーザーに表示し、PDF を提供します
ポスターのサブワークフロー
ユーザーがポスターを依頼した場合は、references/poster-design-guide.mdを読み、学会サイズのプリセット(NeurIPS/ICML/CVPR/ICLR の寸法)、レイアウトの類型(Traditional/BetterPoster/Visual-Heavy)、配色、タイポグラフィの標準など、ワークフロー全体を確認します。poster.tex(縦向き)または poster-landscape.tex(横向き)を使用します。AskUserQuestion で学会/向き、レイアウトスタイル、配色をユーザーに尋ねてから、手順 5 に進みます。
チートシート/リファレンスカードのサブワークフロー
ユーザーがチートシート、リファレンスカード、または数式シートを依頼した場合:
- references/cheatsheet-guide.mdを読み、テンプレートの選択、コンテンツ量、タイポグラフィのルール、PDF からチートシートを作成するパイプラインなど、ワークフロー全体を確認します。
- テンプレートを選択します:
cheatsheet.tex(汎用、3 列、横向き)、cheatsheet-exam.tex(試験の数式用、2 列、縦向き)、またはcheatsheet-code.tex(プログラミング用、4 列、横向き)。 - ガイドのワークフロー手順に従い、メインワークフローの手順 5 に戻ります。
ワークフロー:メールマージ(一括パーソナライズドドキュメント)
scripts/mail_merge.py を使い、LaTeX テンプレートと CSV/JSON データソースから、N 件のパーソナライズドドキュメントを生成します。テンプレート構文:単純な置換には {{variable}}、条件分岐/ループには Jinja2(<< >>、<% %>)を使用します。例については assets/templates/mail-merge-letter.tex を参照してください。ガイド全文:references/interactive-features.md。
ワークフロー:バージョン差分の作成(latexdiff)
scripts/latex_diff.sh を使用して、変更箇所を強調表示した PDF を生成します。ファイル同士の差分、Git のリビジョン差分、複数ファイルの統合、カスタムのマークアップスタイルに対応しています。詳しいガイドは、references/interactive-features.md を参照してください。
ワークフロー:ドキュメント形式の変換
scripts/convert_document.sh を使用して、Markdown、DOCX、HTML、LaTeX 間で変換します。詳しいガイドは、references/format-conversion.md を参照してください。
ワークフロー:PDF から LaTeX への変換
既存の PDF(手書きのメモ、印刷されたレポート、法的文書など)を LaTeX に変換します。パイプライン全体については、references/pdf-conversion.md を参照してください。
簡単な手順:PDF をページ画像に分割し(scripts/pdf_to_images.sh)、変換プロファイルを選択し、共通のプリアンブルを作成し、スケーリング戦略を適用し、scripts/validate_latex.py で検証してから、連結してコンパイルします。
スケーリング戦略:1~10 ページ=単一エージェント、11~20 ページ=半分に分割(エージェント 2 つ)、21 ページ以上=7 ページ単位のバッチ処理パイプライン(run_in_background: true を指定するエージェント数は ceil(N/7))。
変換プロファイル(references/profiles/ 内):math-notes.md(数式、定理――美しい表示モードあり)、business-document.md(レポート、メモ)、legal-document.md(契約書、法令)、general-notes.md(手書き、混在コンテンツ)。
ワークフロー:PDF フォームへの入力
既存の PDF フォームに入力します。入力可能なフォーム(フォームフィールドあり)と入力不可のフォーム(画像ベース)の両方に対応しています。詳しいガイドは、references/pdf-operations.md を参照してください。
ステップ 1:フォームの種類を確認します:
python3 <skill_path>/scripts/pdf_check_form.py form.pdf
入力可能なフォームの場合(フォームフィールドあり):
# Extract field metadata
python3 <skill_path>/scripts/pdf_extract_fields.py form.pdf field_info.json
# Create field_values.json with values for each field, then fill
python3 <skill_path>/scripts/pdf_fill_form.py form.pdf field_values.json output.pdf
入力不可のフォームの場合(フォームフィールドなし):
# Convert to images for visual analysis
bash <skill_path>/scripts/pdf_to_images.sh form.pdf ./tmp/pages
# Visually identify fields, create fields.json with bounding boxes
# Validate bounding boxes (+ optional validation image)
python3 <skill_path>/scripts/pdf_validate_boxes.py fields.json --image page_1.png --output validation.png --page 1
# Fill with text annotations
python3 <skill_path>/scripts/pdf_fill_annotations.py form.pdf fields.json output.pdf
ワークフロー:PDF の高度な操作
テキスト/表の抽出(pdfplumber)、OCR(pytesseract)、プログラムによる PDF の作成(reportlab)、透かしの追加、ページの回転/トリミング、メタデータの抽出、JavaScript ライブラリ(pdf-lib、pdfjs-dist)、バッチ処理については、references/pdf-operations.md を参照してください。
コンパイルスクリプト
# Basic compile (auto-detects engine)
bash <skill_path>/scripts/compile_latex.sh document.tex
# Compile + generate PNG previews
bash <skill_path>/scripts/compile_latex.sh document.tex --preview
# Compile + PNG in specific directory
bash <skill_path>/scripts/compile_latex.sh document.tex --preview --preview-dir ./outputs
# Force a specific engine
bash <skill_path>/scripts/compile_latex.sh document.tex --engine xelatex
bash <skill_path>/scripts/compile_latex.sh document.tex --engine lualatex
# Use latexmk for automatic multi-pass (recommended for complex documents)
bash <skill_path>/scripts/compile_latex.sh document.tex --use-latexmk --preview
# PDF/A output for thesis submissions and archival compliance
bash <skill_path>/scripts/compile_latex.sh document.tex --pdfa
# Verbose output for debugging compilation issues
bash <skill_path>/scripts/compile_latex.sh document.tex --verbose
# Quiet mode for batch/CI jobs (only errors shown)
bash <skill_path>/scripts/compile_latex.sh document.tex --quiet
# Clean auxiliary files only (no compilation)
bash <skill_path>/scripts/compile_latex.sh document.tex --clean
コンパイルフラグ
| フラグ | 説明 |
|---|---|
--preview | コンパイル後、各ページの PNG プレビューを生成します |
--preview-dir DIR | PNG の出力先ディレクトリ(既定値:.tex ファイルと同じ場所) |
--engine ENGINE | エンジンを指定します:pdflatex、xelatex、または lualatex |
--use-latexmk | コンパイルバックエンドとして latexmk を使用します(複数回の自動コンパイル、参考文献、索引に対応) |
--verbose | コンパイル出力全体を表示します(すべてのエンジンログ) |
--quiet | エラー以外の出力をすべて抑制します |
--clean | 補助ファイル(.aux、.log、.bbl、.fdb_latexmk など)を削除して終了します |
--pdfa | PDF/A-2b 準拠の出力を生成します(pdfx パッケージを自動的に追加します) |
--auto-fix | よくあるコンパイルエラー(フロート配置、エンコーディング)を自動修正します |
コンパイルバックエンド
手動の複数回コンパイル(既定): 必要に応じて、エンジンを複数回実行し、参考文献/索引/用語集の処理も行います。従来型の方法であり、latexmk がインストールされていなくても動作します。
latexmk(--use-latexmk): latexmk を使用し、依存関係に基づくコンパイルを自動で行います。参考文献、索引、用語集、相互参照を含む複雑なドキュメントにおすすめです。適切なコンパイル回数は latexmk が自動的に判断します。latexmk が必要です(TeX Live に含まれています)。
ログのフィルタリング(texfot)
texfot がインストールされている場合(TeX Live に含まれています)、コンパイル出力は自動的にフィルタリングされ、関連する警告とエラーのみが表示されます。ノイズとなるパッケージ読み込みメッセージは抑制されます。これはデフォルトの詳細度モードで適用されます。フィルタリングされていない出力を確認するには --verbose を使用し、エラー以外の出力をすべて抑制するには --quiet を使用してください。
エンジンの自動検出:.tex ファイルで fontspec、xeCJK、または polyglossia を使用している場合、スクリプトは自動的に xelatex を使用します。luacode または luatextra を使用している場合は、lualatex を使用します。それ以外の場合は、デフォルトで pdflatex を使用します。--engine で上書きできます。
スクリプトは、見つからない場合に texlive(texlive-science、texlive-xetex、texlive-luatex、biber を含む)と poppler-utils を自動インストールします。また、ibliography{} を自動検出して bibtex を実行し、ddbibresource{} を検出して biber を実行し、\makeindex を検出して makeindex を実行し、\makeglossaries を検出して makeglossaries を実行します。適切な回数のコンパイルを実行し、pdftoppm で PNG プレビューを生成し、補助ファイルをクリーンアップします。
スクリプトとツールのリファレンス
PDF ユーティリティ(暗号化、結合、最適化、ページ抽出、PDF から画像への変換)、LaTeX 品質ツール(リント、単語数、分析、パッケージチェック、引用)、コンパイルの自動修正、参考文献の取得、図表スクリプト(Mermaid、Graphviz、PlantUML)については、references/script-tools.md を参照してください。
テンプレート
assets/templates/ からコピーしてカスタマイズしてください。
履歴書テンプレート(ATS 対応の 5 種類)
経験レベル、業界、ATS の要件に応じて選択してください。ATS に関する詳しいガイダンスは、references/resume-ats-guide.md を参照してください。
| テンプレート | おすすめの用途 | 主な特徴 | ATS スコア |
|---|---|---|---|
resume-classic-ats.tex | 金融、法律、政府機関、あらゆる ATS ポータル | グラフィックなし、プレーンテキストのみ、最大限の解析安全性 | 10/10 |
resume-modern-professional.tex | テクノロジー、企業、一般的な専門職 | 控えめなアクセントカラー、すっきりしたデザイン、ATS と人間の両方に好印象 | 9/10 |
resume-executive.tex | VP、Director、C-suite(5~15 年以上) | 2 ページ、エグゼクティブサマリー、取締役会での役職、損益重視 | 9/10 |
resume-technical.tex | ソフトウェア、データ、エンジニアリング職 | スキル優先のハイブリッド形式、プロジェクトセクション、技術スタックを強調 | 9/10 |
resume-entry-level.tex | 新卒者、キャリアを始める人 | 学歴優先、1 ページ、履修科目、課外活動 | 9/10 |
5 つのテンプレートはすべて ATS のルールに従っています。1 カラム、グラフィック/画像なし、レイアウトに表を使用しない、標準的なセクション見出し、連絡先情報はヘッダー/フッターではなく本文に記載します。
STEM 学生向けテンプレート
homework.tex-- 宿題/課題提出用テンプレート(articleクラス、11pt)。解答の表示を切り替え可能(\showsolutionstrue/\showsolutionsfalse)で、問題/解答用のカスタム環境、倫理規定セクション、fancyhdrヘッダー、数式用のamsmath+amssymb+amsthm、コードのシンタックスハイライト(Python、Java、C++、Matlab のスタイル)用のlistings、(a)、(b)、(c) の小問用のenumitem、hyperrefを備えています。カスタマイズは `