arxiv-package について
arxiv-packageは、TeX/LaTeXプロジェクトをarXiv投稿用アーカイブにまとめるスキルです。必要なファイルを追跡してビルド生成物を除外し、アーカイブの構成と内容を検証します。
主な機能
- 01プロジェクトファイルを走査・分類
- 02TeXが参照するファイルを追跡
- 03ビルド生成物や不要ファイルを除外
- 04必要に応じて00README.XXXを生成
- 05投稿アーカイブを作成・検証
活用シーン
- 01arXivアップロード用に論文ファイルを整理
- 02ログ、バックアップ、エディターファイルを除外
- 03参照ファイルがアーカイブに含まれるか確認
- 04一時ディレクトリでアーカイブのコンパイルをテスト
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mathews-tom/ armory --skill arxiv-packageインストール後、Claude Code で/arxiv-packageを入力して読み込まれたか確認します。
同梱ファイルevals/cases.yaml
詳細
arXiv 投稿パッケージャー
目的
TeX/LaTeX プロジェクトを、arXiv へのアップロードに適した、整理され正しく構成された .tar.gz または
.zip アーカイブにまとめます。ファイルの選択、生成物の除外、ディレクトリ構成、00README の作成、
最終パッケージの検証に対応します。
関連スキル:
arxiv-preflight— パッケージ化前に検証しますarxiv-figures— パッケージ化前に図を最適化します
ワークフロー
1. ファイル一覧の作成
プロジェクトディレクトリをスキャンします。すべてのファイルを分類します。
含める — 必須
- メインの
.texファイル - すべての
\input/\includeの対象(再帰的に追跡) - すべての
\includegraphicsの対象 .bblファイル(前処理済みの参考文献).indファイル(前処理済みの索引).gls/.nlsファイル(用語集/記号一覧)- TeX Live に含まれていないカスタム
.sty、.cls、.bstファイル 00README.XXX(存在する場合)anc/ディレクトリの内容(付属ファイル)
除外 — ビルド生成物
.aux、.log、.toc、.lot、.lof、.out、.nav、.snm、.vrb.dvi、.ps、.pdf(図の PDF と付属 PDF を除く).synctex、.synctex.gz、.fls、.fdb_latexmk.blg、.ilg、.glg、.nlg(参考文献/索引/用語集処理のログファイル)*.bak、*~、*.swp、*.swo(エディターのバックアップ).DS_Store、Thumbs.db、desktop.ini(OS の生成物)
除外 — 投稿すべきでないファイル
- ジャーナルのテンプレート/スタイルガイド(コンパイルに必要なカスタム
.styを除く) - 査読者からの書簡、カバーレター
- ビルドスクリプト(
Makefile、latexmkrc)— arXiv では不要です .git/、.svn/、バージョン管理ディレクトリ- IDE の設定(
.vscode/、.idea/、.texpadtmp/)
要確認 — 判断が必要
.bibファイル(.bblと一緒に含めるか、省略します。arXiv は両方を処理します)\documentclassを含む複数の.texファイル(toplevelfileを指定した00README.XXXが必要です)- 大きなデータファイル(付属ファイルにするか、省略します)
2. 00README.XXX を生成する
必要に応じて 00README.XXX ファイルを作成または更新します。
# Auto-generated by arxiv-package
# Main TeX file (only if ambiguous — multiple \documentclass files)
main.tex toplevelfile
# Files to exclude from processing
cover-letter.pdf ignore
notes.txt ignore
# Optional directives
# nostamp
# nohypertex
次の場合にのみ生成します。
- 複数の
.texファイルに\documentclassが含まれている(toplevelfileを宣言します) - ファイルに明示的な
ignore指定が必要 - ユーザーが
nostampまたはその他の指定を要求している
3. 構成を検証する
アーカイブを作成する前に、次の点を確認します。
- すべての
\input/\includeの対象がパッケージ内のファイルに解決される - すべての
\includegraphicsの対象がパッケージ内のファイルに解決される - すべての
\bibliographyの対象に対応する.bblファイルがある - TeX ソースに絶対パスが含まれていない
- ファイル名に空白や特殊文字が含まれていない
anc/ディレクトリに.texファイルが含まれていない- 隠しファイルがない(投稿告知時に arXiv によって削除されます)
- 非圧縮時の合計サイズが妥当である(50MB 超の場合は通知します。例外申請が必要な場合があります)
4. アーカイブを作成する
# From project root, create tar.gz excluding unwanted files
tar czf submission.tar.gz \
--exclude='*.aux' --exclude='*.log' --exclude='*.toc' \
--exclude='*.lot' --exclude='*.lof' --exclude='*.out' \
--exclude='*.nav' --exclude='*.snm' --exclude='*.vrb' \
--exclude='*.dvi' --exclude='*.synctex*' \
--exclude='*.fls' --exclude='*.fdb_latexmk' \
--exclude='*.blg' --exclude='*.ilg' --exclude='*.glg' \
--exclude='*.bak' --exclude='*~' --exclude='*.swp' \
--exclude='.git' --exclude='.svn' \
--exclude='.DS_Store' --exclude='Thumbs.db' \
--exclude='.vscode' --exclude='.idea' \
[list of files/directories to include]
# Or create zip
zip -r submission.zip [files] \
-x '*.aux' -x '*.log' -x '*.toc' ...
ディレクトリ全体を除外指定付きで含めるより、ファイルを明示的に指定して含める方法を優先します。 これにより、機密ファイルや不要なファイルが誤って含まれるのを防げます。
5. アーカイブを検証する
作成後、次の点を確認します。
- アーカイブの内容を一覧表示し、想定外のファイルがないことを確認する
- 一時ディレクトリに展開する
- 展開先ディレクトリでコンパイルを試みる(TeX ツールチェーンが利用できる場合)
- アーカイブのサイズ(圧縮時と非圧縮時)を報告する
- ファイル一覧を「含める/除外」一覧と照合する
6. 報告する
# arXiv Package Report
**Archive:** submission.tar.gz
**Compressed size:** [size]
**Uncompressed size:** [size]
**File count:** [count]
## Contents
| File | Size | Type |
|------|------|------|
| main.tex | 45 KB | Source |
| references.bbl | 12 KB | Bibliography |
| fig1.pdf | 380 KB | Figure |
| anc/data.csv | 1.2 MB | Ancillary |
## Excluded
| File | Reason |
|------|--------|
| main.aux | Build artifact |
| main.log | Build artifact |
| referee-response.pdf | Not for submission |
## 00README.XXX
[Contents if generated]
## Verification
- [ ] Archive extracts cleanly
- [ ] All source references resolve
- [ ] Compilation succeeds (if tested)
- [ ] No sensitive files included
アーカイブ形式に関する注意事項
.zipより.tar.gzを推奨します(学術分野の TeX ワークフローで標準的です)- arXiv は
.tar(gzip 圧縮)と.zipの両方を受け付けます - アーカイブを入れ子にしないでください(
.zipの中に.tar.gzを入れないでください) - プロジェクトで整理のためにサブディレクトリを使用している場合を除き、ファイルはルート階層または論理的なサブディレクトリに配置してください。ラッパーディレクトリは作成しないでください
基本原則
- 一律の除外ではなく、必要なものを明示的に含めます。 必要なファイルからファイル一覧を作成し、不要なものをすべて取り除く方法は避けます。こうすることで、提出すべきでないのに除外リストに含まれていないファイルを見つけられます。
- パッケージ化後に検証します。 提出するのはアーカイブです。ソースディレクトリではなく、アーカイブをテストしてください。
- ディレクトリ構造を維持します。 プロジェクトで図やセクションにサブディレクトリを使用している場合は、その構造を維持してください。TeX のパスはこの構造に依存します。
- 機密ファイルを含めないでください。 パッケージ化する前に、
.env、認証情報、個人的なメモ、査読者とのやり取りが含まれていないか確認してください。
コメント
Markdown 対応