mcpField
L
latex-document

latex-document

github.com/brycewang-stanfordドキュメント4.8k58 回インストール3 日前に更新
リポジトリ

latex-document について

LaTeX文書の作成、コンパイル、変換を行うスキルです。履歴書、レポート、論文、ポスターなどの作成に使えます。PDFフォームの入力、形式変換、差し込み生成、バージョン差分にも対応します。

主な機能

  1. 01多様な文書向けテンプレート
  2. 02LaTeXをPDFにコンパイルしPNGプレビューを生成
  3. 03PDFと文書形式の変換
  4. 04入力可能・スキャン済みPDFフォームへの記入
  5. 05差し込み生成とバージョン差分

活用シーン

  1. 01論文、履歴書、ポスター、レポートの作成
  2. 02PDFからLaTeXへの変換
  3. 03個別文書の一括生成
  4. 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 に変換します。

ワークフロー:ドキュメントの作成

  1. ドキュメントの種類を特定します(履歴書、レポート、手紙、請求書、記事、論文、学術 CV、プレゼンテーション、ポスター、試験、書籍、チートシート)
  2. ポスターの場合: ポスターのサブワークフロー(下記のポスターのサブワークフローを参照)を実行してから、手順 5 に進みます。
  3. チートシート/リファレンスカードの場合: チートシートのサブワークフロー(下記のチートシート/リファレンスカードのサブワークフローを参照)を実行してから、手順 5 に進みます。
  4. ユーザーに、どの拡張要素を希望するか尋ねます(AskUserQuestion ツールを multiSelect で使用)。ドキュメントの種類に応じて、適切な選択肢を提示します:
    • AI 生成画像 — 独自のイラスト、図、写真(generate-image スキルを使用)
    • チャート/グラフ — 棒、折れ線、円、散布図、ヒートマップ(pgfplots または matplotlib)
    • フローチャート/図 — プロセスフロー、アーキテクチャ、決定木(TikZ または Mermaid)
    • 引用/参考文献一覧 — 学術文献、脚注、引用文献(BibTeX/biblatex)
    • データ付き表 — 比較表、財務データ、統計(booktabs)
    • ウォーターマーク — DRAFT、CONFIDENTIAL、または企業ロゴの背景
    • シンプルなドキュメント(カバーレター、請求書)の場合、またはユーザーが希望内容をすでに明確に指定している場合は、この手順を省略します。
  5. assets/templates/ から適切なテンプレートをコピーするか、最初から作成します
  6. ユーザーの要件に合わせて内容をカスタマイズします
  7. ユーザーが選択した要素に応じて、外部アセットを生成します:
    • 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
  8. 5 ページ以上のドキュメントの場合: コンパイル前に長文ドキュメントのアンチパターンのセクションを確認し、コンテンツ生成チェックリストを実行します。主なルール:箇条書きより文章を優先する、リスト全体を簡潔にまとめる、テキストモードでは </> をエスケープする、セクションの形式に変化をつける、 ewpage の使用を制限する、画像の幅を textwidth の 0.75~0.85 にする。
  9. scripts/compile_latex.sh でコンパイルします(CJK/RTL、用語集、参考文献を自動検出します)
  10. PNG プレビューをユーザーに表示し、PDF を提供します
ポスターのサブワークフロー

ユーザーがポスターを依頼した場合は、references/poster-design-guide.mdを読み、学会サイズのプリセット(NeurIPS/ICML/CVPR/ICLR の寸法)、レイアウトの類型(Traditional/BetterPoster/Visual-Heavy)、配色、タイポグラフィの標準など、ワークフロー全体を確認します。poster.tex(縦向き)または poster-landscape.tex(横向き)を使用します。AskUserQuestion で学会/向き、レイアウトスタイル、配色をユーザーに尋ねてから、手順 5 に進みます。

チートシート/リファレンスカードのサブワークフロー

ユーザーがチートシート、リファレンスカード、または数式シートを依頼した場合:

  1. references/cheatsheet-guide.mdを読み、テンプレートの選択、コンテンツ量、タイポグラフィのルール、PDF からチートシートを作成するパイプラインなど、ワークフロー全体を確認します。
  2. テンプレートを選択します:cheatsheet.tex(汎用、3 列、横向き)、cheatsheet-exam.tex(試験の数式用、2 列、縦向き)、または cheatsheet-code.tex(プログラミング用、4 列、横向き)。
  3. ガイドのワークフロー手順に従い、メインワークフローの手順 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 DIRPNG の出力先ディレクトリ(既定値:.tex ファイルと同じ場所)
--engine ENGINEエンジンを指定します:pdflatex、xelatex、または lualatex
--use-latexmkコンパイルバックエンドとして latexmk を使用します(複数回の自動コンパイル、参考文献、索引に対応)
--verboseコンパイル出力全体を表示します(すべてのエンジンログ)
--quietエラー以外の出力をすべて抑制します
--clean補助ファイル(.aux、.log、.bbl、.fdb_latexmk など)を削除して終了します
--pdfaPDF/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.texVP、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 を備えています。カスタマイズは `

コメント