mcpField
A
arxiv-paper-writer

arxiv-paper-writer

github.com/appautomatonドキュメント47173 回インストール6 週間前に更新
リポジトリ

arxiv-paper-writer について

arxiv-paper-writerは、ML/AIレビュー論文の作成と既存LaTeXプロジェクトの引用チェックを支援するワークフローです。IEEEtranテンプレートに沿って、調査から執筆、検証、品質確認までを段階的に進めます。

主な機能

  1. 01段階的なレビュー論文ワークフロー
  2. 02調査スナップショットとアウトライン
  3. 03課題単位の執筆管理
  4. 04引用の検証と修正
  5. 05IEEEtranでのコンパイルと品質確認

活用シーン

  1. 01ML/AIのarXivレビュー論文の企画
  2. 02課題を追跡しながらレビューを執筆
  3. 03既存LaTeXプロジェクトの引用確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/appautomaton/latex-arxiv-skill --skill arxiv-paper-writer

インストール後、Claude Code で/arxiv-paper-writerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/
literature-notes-template.md
paper-issues-template.csv
paper-plan-template.md
assets/template/
IEEEtran.cls
main.template.tex
references.template.bib
references/
bibtex-guide.md
citation-workflow.md
quality-report.md
research-workflow.md
template-usage.md
visual-templates.md
writing-style.md
scripts/
arxiv_registry.py
bootstrap_ieee_review_paper.py
compile_paper.py
create_paper_plan.py
paper_utils.py
validate_paper_issues.py

詳細

ML/AI 論文レビューのワークフロー(IEEEtran テンプレート)

使用する場合

  • arXiv 向けの ML/AI レビュー論文(本文は約 6~10 ページ、参考文献を除く)
  • 引用を検証する LaTeX + BibTeX ワークフロー
  • 既存の LaTeX プロジェクトでの引用の検証・修正

使用しない場合

  • 新規の実験研究論文(これはレビュー用のワークフローです)
  • 学術文書以外

入力

  • トピックの説明(必須)
  • 制約:投稿先、ページ数上限、著者/所属(任意)
  • 引用検証を行う既存プロジェクトのパス(任意)

出力

  • main.tex(LaTeX ソース)
  • ref.bib(検証済みの BibTeX エントリ)
  • IEEEtran.cls
  • plan/<timestamp>-<slug>.md、issues/<timestamp>-<slug>.csv
  • 図/表、main.pdf
  • notes/research-snapshot.md(Gate 0 のリサーチスナップショット)
  • notes/literature-notes.md(引用ごとのメモ、任意)
  • notes/arxiv-registry.sqlite3(arXiv のメタデータ/BibTeX キャッシュ)

規約:このスキルのフォルダー(scripts/ がある場所)から python3 scripts/... を実行します。<paper_dir> は論文/プロジェクトのルート(main.tex、ref.bib、plan/、issues/、notes/ を含む)です。plan/... などのパスは <paper_dir> の下にあります。論文は --out <workspace_dir>(作業ディレクトリ。このスキルのフォルダー内ではありません)で指定した場所に作成します。両方のブートストラップ段階で、同じ --out(使用する場合は --name も)を指定してください。arXiv の論文検索/メタデータ取得/BibTeX には scripts/arxiv_registry.py を使用します(場当たり的な curl/wget は使用しません)。


ゲート付きワークフロー

ヒント:使用前に python3 scripts/<script>.py --help を実行してください。 手順で指定された場合に限り、参照ファイルを開いてください。

必須ルール
  1. 計画が承認され、issues CSV が作成されるまでは、main.tex に本文を書かないでください。
  2. 最初に提出するもの:リサーチスナップショット + アウトライン + 確認事項 + 計画案。
  3. 新規論文にはすべて計画と issues トラッキングを使用し、使用を省略しないでください。
  4. issues CSV は作業の実行契約です。各 issue の Status と Verified_Citations を更新し、作業範囲が広がった場合は issue の行を追加/分割/挿入してください(追跡されない作業を行わないでください)。
  5. テンプレートは固定です:IEEEtran の 2 段組レイアウト(assets/template/IEEEtran.cls)を使用します。2 段組の幅をレイアウト上の制約として扱い、必要に応じて 2 段抜きのフロートを使用してください。
Gate 0:リサーチスナップショット + 計画案
  1. 制約(投稿先、ページ数上限、著者欄、日付範囲)を確認します。
  2. トピックを検索キーワードに変換し、簡易的な論文検索を行います: 重要な論文を 10~20 件(references/research-workflow.md を参照)。手順 4 の後(<paper_dir> が作成されたら)、arxiv_registry.py search で arXiv の検索結果をキャッシュし、スナップショットを notes/research-snapshot.md に保存します。
  3. トピックに沿ったタイトル案を 2~4 件提案します。
  4. プロジェクトフォルダーを作成し、計画案を用意します:
    python3 scripts/bootstrap_ieee_review_paper.py --stage kickoff --topic "<topic>" --out <workspace_dir>
    
    これは assets/template/ から LaTeX テンプレートをコピーします。計画と issues は assets/ 内のテンプレートから生成されます。 arXiv レジストリを初期化します(1 回のみ):python3 scripts/arxiv_registry.py --project-dir <paper_dir> init。
  5. main.tex にフレームワークの骨組みを作成します (セクション見出し + セクションごとに 2~4 個の箇条書き + 引用の種;本文は書かないでください)。
  6. 計画ファイルを更新し、フレームワーク、提案したタイトル、セクション/サブセクションの計画を反映します。
  7. 早い段階でコンパイルします:python3 scripts/compile_paper.py --project-dir <paper_dir> Overfull \hbox の警告を修正します(以下の「レイアウトの整理」を参照)。
  8. ユーザーに以下を提示します:
    • 提案するアウトライン(5~8 セクション、各セクションに 2~4 個の箇条書き)
    • セクションに対応付けた視覚化案(5 件以上。references/visual-templates.md を参照)
    • 確認事項
  9. ユーザーの承認があるまで停止します。
ゲート 1:Issues CSV の作成(承認後)
  1. 計画内のキックオフゲートを確認します:- [x] User confirmed scope + outline in chat。
  2. Issues CSV を作成します(ゲートが未チェックの場合、スクリプトは処理を拒否します):
    python3 scripts/bootstrap_ieee_review_paper.py --stage issues --topic "<topic>" --out <workspace_dir> --with-literature-notes
    
  3. 検証します:
    python3 scripts/validate_paper_issues.py <paper_dir>/issues/<timestamp>-<slug>.csv
    
  4. 文献メモが有効になっている場合は、再検索を避けるため、短い要約と(任意で)アブストラクトの抜粋を残します。
  5. 計画は変更される場合があります。必要に応じて課題を追加、分割、挿入し、編集後に再検証して、すべての課題(挿入した課題を含む)が DONE または SKIP になるまで(可能であれば同じ実行中に)続けます。
フェーズ 2:課題ごとの執筆ループ

CSV 内の執筆課題ごとに、次を行います:

  • 課題が大きく膨らんだ場合(新しい図、新しい小節、新しいベンチマークセット、または大規模な QA 修正など)、先に進む前に課題行を分割または挿入します(例:W6a、Q5)。python3 scripts/validate_paper_issues.py <issues.csv> を再実行し、すべての課題が DONE/SKIP になるまで続けます。
  1. 調査:セクション固有の論文を 8~12 件調査します。
  2. 執筆:引用なしの文が 3 文以上続かないようにし、段落のリズムに変化をつけます (references/writing-style.md を参照)。 セクションの意図と構成については、references/template-usage.md を使用します。
  3. 可視化:内容に応じた条件に合うものを選びます(references/visual-templates.md を参照)。 まずは単一カラムに収まるサイズを優先し、必要な場合のみ 2 カラムにまたがるレイアウトを使用します(「レイアウトの整備」を参照)。 外部から取得した図の内容には引用を付けます。
  4. 検証:ref.bib に追加する前に、ウェブ検索を行い、ソースページ(利用可能な場合は PDF も)を開いて確認します。 arXiv のエントリについては、python3 scripts/arxiv_registry.py --project-dir <paper_dir> export-bibtex <arxiv_id> --out-bib <paper_dir>/ref.bib を使って BibTeX を追加します。
  5. 更新:Verified_Citations の件数を記録し、課題を DONE にします。
  6. 重要な変更を加えた後にコンパイルし、課題を DONE にする前に Overfull \hbox を修正します。
フェーズ 2.5:リズムの調整

すべての執筆課題が DONE になったら、latex-rhythm-refiner スキルを使ってセクションごとに文章を調整します。引用をすべて維持しながら、文や段落の長さに変化をつけ、不要な表現を削除します。

フェーズ 3:QA ゲート
  1. 内部 QA チェックリストを実行します(references/quality-report.md を参照)。
  2. コンパイルし、main.log に Overfull \hbox の警告がないことを確認します。
  3. main.tex、ref.bib、図、および main.pdf を納品します。

既存論文のワークフロー(再スキャフォールドなし)

論文フォルダーがすでに存在する場合は、スキャフォールドを再実行しないでください:

# Create plan
python3 scripts/create_paper_plan.py --topic "<topic>" --stage plan --output-dir <paper_dir>
# STOP for approval, then check kickoff gate box
# Create issues (use timestamp/slug from plan filename/frontmatter)
python3 scripts/create_paper_plan.py --topic "<topic>" --stage issues --timestamp "<TS>" --slug "<slug>" --output-dir <paper_dir> --with-literature-notes

引用検証のバリエーション

  1. 指定されたパスを LaTeX プロジェクトのルートとして扱います。
  2. references/citation-workflow.md に従います。
  3. エントリの修正が必要な場合は、BibTeX のルールに references/bibtex-guide.md を使用します。
  4. 要求された場合は、検証レポートと修正済みの ref.bib を納品します。

成功基準

コンパイル:python3 scripts/compile_paper.py --project-dir <paper_dir>(終了コード 0、「Citation undefined」の警告なし)。本文のページ数には --report-page-counts を使用します。

品質指標:

  • 本文 6~10 ページ(参考文献を除く)
  • 引用総数 60~80 件(各セクション 8 件以上)
  • 引用検証率 100%
  • 引用の 70% 以上が直近 3 年以内のもの
  • 5 種類以上の可視化
  • すべての課題が DONE または SKIP

安全性とガードレール

  • 引用や結果を捏造しないでください。根拠が不足している場合は TODO を追加し、ユーザーに確認してください。
  • ref.bib に追加する前に、ウェブ検索とソースページ(利用可能な場合は PDF も)を使ってすべての引用を検証してください。
  • 大規模な文献検索の前に確認を取ってください。
  • 確認なしにユーザーファイルを上書きしないでください。
  • Issues CSV を契約とし、基準を満たした場合にのみ DONE にします。
  • ユーザーからの依頼がない限り、提出用バンドルは作成しないでください。

レイアウトの整備

課題を DONE にする前に、Overfull \hbox の警告を修正します:

  • 図:まず figure と \columnwidth を使用し、必要に応じて figure* と \textwidth に切り替えます
  • 表:\resizebox よりも p{...} の列幅や \tabcolsep を優先します
  • 数式:改行には split、multline、aligned、または IEEEeqnarray を使用します

課題の CSV スキーマ

フェーズ課題
調査Rx:調査、足場作り、フレームワーク、可視化の計画
執筆Wx:各セクションに引用目標と可視化を設定
推敲RFx:latex-rhythm-refiner スキルを適用(すべての Wx が DONE になった後)
QAQx:引用の検証、QA チェックリスト、コンパイル、最終レビュー

ステータス:TODO → DOING → DONE、または Notes に理由を記載して SKIP。スキーマは validate_paper_issues.py で検証します。

Verified_Citations = 課題が DONE とマークされた時点で、その課題のセクションにある検証済み引用キーの一意な数(執筆以外の課題では 0)。

コメント