mcpField
A
arxiv-package

arxiv-package

github.com/mathews-tomドキュメント33739 回インストール2 日前に更新
リポジトリ

arxiv-package について

arxiv-packageは、TeX/LaTeXプロジェクトをarXiv投稿用アーカイブにまとめるスキルです。必要なファイルを追跡してビルド生成物を除外し、アーカイブの構成と内容を検証します。

主な機能

  1. 01プロジェクトファイルを走査・分類
  2. 02TeXが参照するファイルを追跡
  3. 03ビルド生成物や不要ファイルを除外
  4. 04必要に応じて00README.XXXを生成
  5. 05投稿アーカイブを作成・検証

活用シーン

  1. 01arXivアップロード用に論文ファイルを整理
  2. 02ログ、バックアップ、エディターファイルを除外
  3. 03参照ファイルがアーカイブに含まれるか確認
  4. 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. 構成を検証する

アーカイブを作成する前に、次の点を確認します。

  1. すべての \input/\include の対象がパッケージ内のファイルに解決される
  2. すべての \includegraphics の対象がパッケージ内のファイルに解決される
  3. すべての \bibliography の対象に対応する .bbl ファイルがある
  4. TeX ソースに絶対パスが含まれていない
  5. ファイル名に空白や特殊文字が含まれていない
  6. anc/ ディレクトリに .tex ファイルが含まれていない
  7. 隠しファイルがない(投稿告知時に arXiv によって削除されます)
  8. 非圧縮時の合計サイズが妥当である(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. アーカイブを検証する

作成後、次の点を確認します。

  1. アーカイブの内容を一覧表示し、想定外のファイルがないことを確認する
  2. 一時ディレクトリに展開する
  3. 展開先ディレクトリでコンパイルを試みる(TeX ツールチェーンが利用できる場合)
  4. アーカイブのサイズ(圧縮時と非圧縮時)を報告する
  5. ファイル一覧を「含める/除外」一覧と照合する
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、認証情報、個人的なメモ、査読者とのやり取りが含まれていないか確認してください。

コメント