init-latex-project について
init-latex-project は、汎用テンプレートや学会テンプレートから LaTeX 論文プロジェクトを作成するスキルです。会場固有のファイルや執筆ガイドを用意し、投稿モードの切り替えは生成した専用プリアンブルで行います。
主な機能
- 01汎用または学会向けプロジェクトの作成
- 02公式学会スタイルファイルの取得
- 03venue_preamble.tex による投稿モード切り替え
- 04数式マクロと論文セクションの同梱
- 05エージェントガイドとソース管理ルールの追加
活用シーン
- 01対応学会向け論文の開始
- 02汎用 arXiv 論文や白書の作成
- 03匿名投稿からカメラレディへの切り替え
- 04Overleaf/GitHub ワークフローのプロジェクトガイド設定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ a-green-hand-jack/ ml-research-skills --skill init-latex-projectインストール後、Claude Code で/init-latex-projectを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
sources.yamlscripts/init.shtemplates/AGENTS.mdCLAUDE.mdgitignoremacros.texmain.textemplates/venues/acl/main.textemplates/venues/acm/main.textemplates/venues/cvpr/main.textemplates/venues/eccv/main.textemplates/venues/emnlp/main.textemplates/venues/iccv/main.textemplates/venues/iclr/main.textemplates/venues/icml/main.textemplates/venues/naacl/main.textemplates/venues/neurips/main.tex詳細
LaTeX 学術プロジェクトを初期化する
標準テンプレートから、LaTeX 論文プロジェクト一式をセットアップします。
このスキルや生成される共有論文ソースに、ローカルマシンでの TeX の利用可否を記録しないでください。latexmk、pdflatex、xelatex、lualatex、tectonic、tlmgr のいずれが存在するかは、ユーザーごとのマシンに関する実行時の情報であり、永続的なプロジェクト状態ではありません。永続的なプロジェクト状態として記録するのは、論文のコンパイルバックエンドである local、Overleaf-GitHub、CI、unknown のいずれかです。
スキルのディレクトリ構成
<installed-skill-dir>/
├── SKILL.md
├── sources.yaml # Authoritative download sources per venue (verified)
├── templates/
│ ├── macros.tex # Full math macro library
│ ├── main.tex # Generic arXiv/whitepaper template
│ ├── gitignore # Paper-source hygiene defaults
│ ├── AGENTS.md # Universal/Codex writing rules
│ ├── CLAUDE.md # Writing rules for AI agents
│ └── venues/
│ ├── icml/main.tex # ICML two-column template
│ ├── acl/main.tex # ACL/*ACL single-column template
│ ├── emnlp/main.tex # EMNLP (same acl.sty as ACL)
│ ├── naacl/main.tex # NAACL (same acl.sty as ACL)
│ ├── iccv/main.tex # ICCV two-column template
│ ├── eccv/main.tex # ECCV single-column (Springer LNCS)
│ ├── neurips/main.tex # NeurIPS single-column template
│ ├── iclr/main.tex # ICLR single-column template
│ ├── cvpr/main.tex # CVPR two-column template
│ └── acm/main.tex # ACM SIGCONF template
└── scripts/
└── init.sh # Builds project + downloads official style files
venue_preamble.tex の仕組み
すべての学会テンプレートでは、ハードコードされた \usepackage{neurips_<year>} の代わりに
\input{venue_preamble} を使用します。init.sh は、学会の正式な配布元(sources.yaml を参照)から公式の .sty/.bst ファイルをダウンロードし、
実際のファイル名を検出して、venue_preamble.tex を自動的に生成します。
project/
├── main.tex ← \input{venue_preamble} (stable, never changes)
├── venue_preamble.tex ← generated by init.sh (edit here to change mode)
├── neurips_<year>.sty ← downloaded from neurips.cc
└── ...
投稿モード(匿名投稿からカメラレディ版など)を切り替えるには、venue_preamble.tex だけを編集してください。main.tex を変更する必要はありません。
手順
1. $ARGUMENTS を解析する
| 位置/フラグ | 意味 | 必須 |
|---|---|---|
| 最初の単語 | プロジェクト名 | はい |
| 2 番目の単語 | 対象ディレクトリ(デフォルト:現在のディレクトリ) | いいえ |
--venue <name> | 学会会場 | いいえ |
--git | Git リポジトリを初期化する | いいえ |
--offline | スタイルファイルのダウンロードをスキップする(プレースホルダーの venue_preamble.tex を作成) | いいえ |
対応する学会(締切月順):
| 学会 | 月 | スタイル | 配布元 |
|---|---|---|---|
icml | 1 月 | 2 段組 | icml.cc |
acl | 2 月 | 1 段組 | github.com/acl-org/acl-style-files |
iccv | 3 月(隔年、奇数年) | 2 段組 | CVF / iccv.thecvf.com |
eccv | 3 月(隔年、偶数年) | 1 段組(LNCS) | github.com/paolo-favaro/paper-template |
neurips | 5 月 | 1 段組 | neurips.cc |
emnlp | 5 月 | 1 段組 | github.com/acl-org/acl-style-files |
iclr | 9 月 | 1 段組 | github.com/ICLR/Master-Template |
cvpr | 11 月 | 2 段組 | github.com/cvpr-org/author-kit |
naacl | 12 月 | 1 段組 | github.com/acl-org/acl-style-files |
acm | 変動 | 1 段組 | CTAN(事前インストール済み) |
2. 初期化スクリプトを実行する
bash <init-latex-project-skill-dir>/scripts/init.sh <project-name> [target-dir] [--venue <venue>] [--git]
重要:<init-latex-project-skill-dir> は、このスキルのインストール先ディレクトリとして解決し、init.sh には絶対パスを使用してください。Claude 固有のインストールパスを前提にしないでください。
3. すぐにカスタマイズするか確認する
スクリプトの実行後、次の作業を行うかユーザーに尋ねてください。
sections/title.texを実際のタイトルに更新するmain.texに著者名と所属を記入する- その他、すぐに反映したい調整を行う
4. コンパイルのワークフローを記録する
論文をローカル、GitHub 経由の Overleaf、CI のいずれでコンパイルするのか、またはワークフローが不明なのかを確認します。現在のユーザーの OS やインストール済みツールだけを根拠に、プロジェクトのコンパイル先を推測しないでください。
選択したコンパイル先は、利用できる場合、.agent/worktree-status.md やルートのメモなど、プロジェクト/ワークツリーのメモリに記録します。コミット対象となる共有の論文ソースには、絶対パスのローカルツールのパスや「このマシンには TeX がある/ない」といった情報を記録しないでください。
Overleaf/GitHub プロジェクトの場合:
- 論文リポジトリに GitHub リモートを設定できるようにします
- 編集の検証だけを目的に、ユーザーに TeX Live、MacTeX、または不足している TeX パッケージのインストールを求めないでください
- 論文の編集後に、反射的にローカルのコンパイルコマンドを実行しないでください
- ローカルの静的チェック、任意の
tex-fmtによるソース書式チェック、Git の差分確認、コミット、プッシュを行います - コンパイルの信頼できる情報源として、Overleaf のコンパイルログと PDF プレビューを扱います
- Overleaf でコンパイルエラーが発生したら、ソースをローカルで修正して再度プッシュします
ローカルでコンパイルするプロジェクトの場合:
command -vを使って実行時に利用可能なコンパイラを検出しますが、検出したパスはコミットしないでください- プロジェクトの方針またはユーザーの依頼でローカルコンパイルが検証方法に指定されている場合に限り、ローカルでコンパイルします
- 現在のマシンに想定されるコンパイラがない場合は、その不一致を報告し、Overleaf/GitHub、CI、またはローカルツールのインストールのどれを使うか尋ねてください
tex-fmt がインストールされている場合は、デフォルトのソース書式チェッカーとして記録します:
tex-fmt --check --nowrap --recursive .
生成された論文ソースを、黙って書式変更しないでください。ユーザーが書式変更を希望する場合は、tex-fmt --nowrap --recursive . を実行し、コミットまたはプッシュの前に差分を確認します。プロジェクトローカルの tex-fmt 設定がある場合は、それを使用してください。
5. エージェント向けガイダンスの方針を記録する
生成された論文リポジトリには、次の両方を含めます:
AGENTS.md:論文固有の執筆、コンパイル、図、表、ソースの衛生管理に関するルールを記載する、汎用/Codex 用のエントリーポイントCLAUDE.md:同じ実効的な方針を記載する、Claude Code 用のエントリーポイント.gitignore:意図的に強制追加しない限り、.agent/、AGENTS.md、CLAUDE.md、生の CSV、内部結果資料、プロヴェナンス台帳、ノートブック、プロットスクリプトを、公開される論文ソースから除外する、論文固有のソース可視性のデフォルト設定
2 つのエージェント向けガイダンスファイルは、tex-fmt のチェック/書式設定ポリシーも含め、意味的に整合させてください。デフォルトではローカル/エージェント専用のガイダンスとして扱います。論文ブランチが Overleaf にリンクされている、または共著者に見える状態である場合、ユーザーがエージェント向けガイダンスの公開を明示的に選択しない限り、プッシュしないでください。
6. プロジェクトルート内では論文のバージョン方針を記録する
この論文リポジトリが project-init のレイアウトの一部である場合、投稿先ごとの論文バージョンは通常、paper/ 内にコピーしたフォルダーとしてではなく、同階層の paper-worktrees/ 内に論文ワークツリーとして分離することを記録します。
次の場合は論文ワークツリーを使用します:
- 同じプロジェクトを別の学会テンプレートに合わせる
- LaTeX ソースを公開できる arXiv/プレプリント版を準備する
- 採択後にカメラレディ版を仕上げる
- 明確な終了条件を設けて、論文に限った反論対応の編集を行う
arXiv またはソースを公開するリリースでは、内部向けの図/表の説明、実験のプロヴェナンスに関するメモ、査読者向けメモ、TODO、著者コメント用マクロ、プライベートなパス、非表示コメントを、リリースする .tex ソースに含めないでください。こうした説明/プロヴェナンス資料は、.agent/、ルートの memory/、またはプライベートなプロジェクト資料に保存します。
メインの論文ブランチが Overleaf/GitHub にリンクされている場合は、これを author-visible として扱います。論文ソースと論文向けアセットは含めて構いませんが、.agent/、AGENTS.md、CLAUDE.md、生の CSV、内部結果資料、プロットスクリプト、ノートブック、査読戦略、プライベートなパスは、ルート/プライベートメモリ、またはエージェント専用の論文ワークツリーに保管してください。
匿名の学会投稿では、投稿先の匿名性と書式モードを確実に守ってください。投稿先がソースのアップロードを求めている場合、ソースコメントが安全だと決めつけないでください。
7. スクリプトの出力をユーザーに表示する
スクリプトはファイルツリーと、投稿先ごとのセットアップに関する注意事項を出力します。これらがユーザーに表示されるようにしてください。
投稿先の詳細
すべてのソースは sources.yaml で検証されています。init.sh がスタイルファイルを自動的にダウンロードします。
投稿モードを切り替えるには venue_preamble.tex を編集してください。
ICML — 1月締め切り
- レイアウト:2段組
- ドキュメントクラス:
article+\usepackage{icml{YEAR}}(年ごとに異なる) - 参考文献スタイル:
icml{YEAR}.bst - 必須:
sections/impact.tex(幅広い影響、ページ数制限なし) - 注記:ICML 固有の著者用マクロ(
\icmltitle、\icmlauthorなど)を使用します
ACL / EMNLP / NAACL — *ACL ファミリー
- レイアウト:1段組
- ドキュメントクラス:
\documentclass[11pt]{article}+\usepackage[review]{acl}(名前は固定) - 参考文献スタイル:
acl_natbib.bst - 引用:本文中では
\citet{}、括弧内では\cite{}/\citep{} - 必須:
sections/limitations.tex(ページ数制限なし) - 該当する場合に必須:
sections/ethics.tex
ICCV — 3月締め切り(隔年、奇数年:2025、2027、…)
- レイアウト:2段組(CVPR と同じ CVF 形式)
- ドキュメントクラス:
\documentclass[times,10pt,twocolumn,letterpaper]{article}+\usepackage[review]{iccv} - 参考文献スタイル:
ieeenat_fullname.bst - 注記:全幅のフロートには
figure*/table*を使用します
ECCV — 3月締め切り(隔年、偶数年:2024、2026、…)
- レイアウト:1段組(Springer LNCS)
- ドキュメントクラス:
\documentclass[runningheads]{llncs}— article ではありません - スタイル:
eccv.sty+eccvabbrv.sty - 参考文献スタイル:
splncs04.bst - ページ数制限:図を含めて14ページ、参考文献は上限なし
- 著者形式:LNCS の
\author{}\inst{}\institute{}マクロ
NeurIPS — 5月締め切り
- レイアウト:1段組
- ドキュメントクラス:
article+\usepackage{neurips_{YEAR}}(年ごとに異なる) - 参考文献スタイル:
unsrtnat(数値形式、出現順にソート) - 謝辞:
{ack}環境を使用します(匿名モードでは自動的に非表示) - 必須:
sections/impact.tex(幅広い影響、ページ数制限なし) - 必須:
sections/checklist.tex(著者チェックリスト、ページ数制限なし)
ICLR — 9月締め切り
- レイアウト:1段組
- ドキュメントクラス:
article+\usepackage[submitted]{iclr{YEAR}_conference}(年ごとに異なる) - 参考文献スタイル:
iclr{YEAR}_conference.bst - 追加項目:
sections/impact.tex(倫理声明、任意)
CVPR — 11月締め切り
- レイアウト:2段組
- ドキュメントクラス:
\documentclass[times,10pt,twocolumn,letterpaper]{article}+\usepackage[review]{cvpr}(名前は固定) - 参考文献スタイル:
ieeenat_fullname.bst - 注記:全幅のフロートには
figure*/table*を使用します
ACM — 締め切りはさまざま
- レイアウト:1段組(sigconf)
- ドキュメントクラス:
\documentclass[sigconf,review,anonymous]{acmart}(CTAN 経由で事前インストール済み) - 参考文献スタイル:
ACM-Reference-Format.bst - カメラレディ版の追加項目:
\acmConference、\acmDOI、\setcopyright、CCS 概念
すべての投稿先に常に含まれるもの
macros.tex — 数学マクロの完全なライブラリ:
- カリグラフィ体
\calA…\calZ、太字\bA…\bZ/\ba…\bz - 黒板太字
\R\E\P\B - ギリシャ文字のショートカット
\sG\lG\tG\pa\half - 演算子
\argmin\argmax\Softmax\Sigmoid\Var - 総和のショートカット
\sumN\sumK\sumM\sumT - 定理環境(グレーの tcolorbox):
theoremlemmadefinitionremarkassumption - 著者コメント用マクロ
\jerry{}\wwm{}\jieke{}など
標準のセクションファイル(すべてプレースホルダー):
title.tex、abstract.tex、intro.tex、related.tex、method.tex、exp.tex、conclusion.tex、appendix.tex、acknowledgement.tex
bib/refs.bib — 使用例付きの空ファイル
呼び出し例
/init-latex-project my-new-paper # generic arXiv
/init-latex-project my-icml-paper ~/Papers --venue icml --git
/init-latex-project my-acl-paper ~/Papers --venue acl --git
/init-latex-project my-iccv-paper . --venue iccv
/init-latex-project my-eccv-paper . --venue eccv
/init-latex-project my-neurips-paper . --venue neurips --git
/init-latex-project my-emnlp-paper . --venue emnlp
/init-latex-project my-iclr-paper ~/Papers --venue iclr --git
/init-latex-project my-cvpr-paper . --venue cvpr
/init-latex-project my-naacl-paper . --venue naacl
/init-latex-project my-acm-paper . --venue acm
/init-latex-project my-paper-offline . --venue neurips --offline # skip download
自動ダウンロードに失敗した場合
init.sh が会場のサーバーに接続できない場合、venue_preamble.tex はプレースホルダーとして作成されます。次の手順で修正してください。
- 会場の執筆者向けガイドページにアクセスします(URL は
sources.yamlに記載されています)。 - スタイルファイルの ZIP を手動でダウンロードし、
.sty/.bstファイルを展開してプロジェクトのルートに配置します。 venue_preamble.texを編集し、正しい\usepackage{...}の行を追加します。
最終手段として、WebSearch を使ってその年の最新のダウンロード URL を探し、ファイルを取得します。
# Example for NeurIPS <year>:
curl -fsSL https://media.nips.cc/Conferences/<year>/Styles/neurips_<year>.zip -o /tmp/n.zip
unzip -j /tmp/n.zip "*.sty" -d /path/to/project/
パッケージの競合に関する注意事項
macros.tex ライブラリは、すべての会場テンプレートで最後(会場のパッケージの後)に読み込まれるため、定義は当ライブラリのものが優先されます。既知の競合は次のとおりです。
| 会場 | 競合の可能性 | 解決方法 |
|---|---|---|
| ACM | acmart が \P を再定義する | 当ライブラリの \P = \mathbb{P} で上書きします(意図した動作です) |
| ACM | acmart が独自の \cite を定義している | macros.tex 内の \let\cite\citep が干渉する場合があります。必要に応じてコメントアウトしてください |
| CVPR | 2 段組みレイアウト | tcolorbox の定理環境が段をまたぐ場合があります。必要に応じて標準の amsthm に切り替えてください |
| ICML | 独自の hyperref 設定を使用する | 二重読み込みエラーを避けるため、icml<year> の後に macros.tex を読み込みます |
| NeurIPS | algorithmic と algpseudocode の競合 | 常に algpseudocode(小文字の \State、\Require など)を使用してください。旧式の algorithmic パッケージはすべて大文字のコマンドを使用するため、最新のアルゴリズムコードとは互換性がありません。 |
| NeurIPS | cleveref のオプション競合 | cleveref は hyperref の後に main.tex で一度だけ読み込む必要があります。macros.tex のテンプレートにも \usepackage[capitalize,noabbrev]{cleveref} が含まれており、両方のファイルを一緒にコンパイルすると、(capitalise と capitalize の)オプション競合が発生します。対処方法:NeurIPS プロジェクトでは、macros.tex の cleveref の行を削除するかコメントアウトしてください。NeurIPS の会場テンプレートでは、すでに正しく設定されています。 |
| すべて | macros.tex 内の \def\(、\def\)、\def\[、\def\] | 恒久的に無効化されています。この 4 行は LaTeX 組み込みの数式モード区切り文字(\( \) = インライン数式、\[ \] = ディスプレイ数式)を再定義し、あらゆる数式環境($...$、\begin{equation}、algorithmic の状態など)で「Missing $」や「Extra )」エラーが連鎖的に発生する原因となりました。再度有効にしないでください。代わりに \left( ... \right) を明示的に使用してください。 |
| すべて | macros.tex 内の \usepackage{algorithm} と \usepackage{algorithmic} | 恒久的に無効化されています。algorithm/algorithmic を(NeurIPS、ICML、ICLR で必要な)algpseudocode と併せて読み込むと、「Command \algorithmicindent already defined」などのエラーが発生します。algorithm のフロートラッパーは、main.tex で algpseudocode(最新式で推奨)または algorithmic(旧式)のいずれか一方だけと一緒に、一度だけ読み込んでください。 |