arxiv-figures について
arxiv-figuresは、arXiv投稿を準備する著者向けのTeX/LaTeX図表の分析・最適化スキルです。処理系や図の内容に応じて形式、サイズ、解像度を確認し、最適化後のコンパイルも検証します。
主な機能
- 01図ファイルを走査・一覧化
- 02処理系との形式互換性を確認
- 03サイズと解像度の問題を検出
- 04図を変換・圧縮
- 05コンパイルと表示を確認
活用シーン
- 01非対応の図形式を修正
- 02投稿用図ファイルの容量を削減
- 03欠落または過大な図を発見
- 04最適化後の論文コンパイルを確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mathews-tom/ armory --skill arxiv-figuresインストール後、Claude Code で/arxiv-figuresを入力して読み込まれたか確認します。
同梱ファイルevals/cases.yaml
詳細
arXiv 図最適化ツール
目的
TeX/LaTeX プロジェクト内の図を解析、最適化し、arXiv の要件とサイズ制限に適合する形式に変換します。正しくフォーマットされ、効率よく圧縮され、エラーなくコンパイルできる図を生成します。
関連スキル:
arxiv-preflight— 投稿前の完全な検証arxiv-package— tarball のパッケージ化
フォーマット規則
プロセッサ別
| プロセッサ | 受け入れ形式 | 非対応形式 |
|---|---|---|
| LaTeX(DVI モード) | .ps、.eps | .pdf、.png、.jpg |
| PDFLaTeX | .pdf、.png、.jpg | .ps、.eps |
コンテンツの種類別
| コンテンツ | 最適な形式 | 理由 |
|---|---|---|
| 写真 | JPEG | 非可逆圧縮は連続階調に適しています |
| 線画/図 | PDF(ベクター) | 拡大縮小しても、あらゆる解像度で鮮明です |
| テキストラベル付きのプロット | PDF(ベクター) | テキストの鮮明さと検索可能性を保てます |
| スクリーンショット/ラスター画像 | PNG | エッジを鮮明に保つ可逆圧縮です |
| 写真とテキストの混在 | PNG または PDF | 優勢なコンテンツによって異なります |
ワークフロー
1. 目録作成
プロジェクト内のすべての図をスキャンします。
- すべての
.texファイルから\includegraphics呼び出しを解析します - 文書のプリアンブルまたはビルド設定から TeX プロセッサ(DVI または PDFLaTeX)を特定します
- 各図について、パス、形式、ファイルサイズ、寸法(ピクセルまたはベクター境界)を記録します
- 図の欠落、形式の不適合、サイズ超過にフラグを付けます
2. 解析
各図について、次の項目を確認します。
- 形式の適合性 — 形式はプロセッサに適合していますか?
- ファイルサイズ — 2MB 超の個別の図、15MB 超の合計サイズにフラグを付けます
- 解像度 — PNG/JPEG:34 メガピクセル超にフラグを付けます(2026 年 2 月以降の arXiv 警告しきい値)
- コンテンツの種類 — 写真、図、プロット(最適な形式を判断します)
- 不要なメタデータ — PNG:ICC プロファイル、アルファチャンネル、EXIF、インターレース
- EPS の効率性 — プロット作成プログラムが出力する冗長な PostScript(matplotlib、R、MATLAB でよく見られます)
3. 最適化
効果の大きい順に変換を適用します。
形式変換(形式がプロセッサの要件に違反する場合)
# EPS → PDF (for PDFLaTeX)
epstopdf figure.eps
# or
ps2pdf -dEPSCrop figure.eps figure.pdf
# PDF/PNG/JPG → EPS (for DVI mode)
convert figure.png figure.eps
サイズ削減 — ベクター図
# Distill verbose EPS
eps2eps input.eps output.eps
# or convert to PDF
ps2pdf -dEPSCrop input.eps output.pdf
サイズ削減 — ラスター図
# Strip PNG metadata, remove alpha, optimize compression
convert input.png -strip -alpha remove -define png:compression-level=9 output.png
# Reduce oversized PNG resolution (keep ≤300 DPI at print size)
convert input.png -resize 3000x3000\> -strip output.png
# JPEG quality optimization (80-90 is visually lossless for most content)
convert input.jpg -quality 85 -strip output.jpg
# Downsample oversized JPEG
convert input.jpg -resize 3000x3000\> -quality 85 -strip output.jpg
PNG の最適化(arXiv の警告を回避)
- 不要な場合はパレットインデックスを削除します
- 背景が単色の場合はアルファチャンネルを削除します
- ICC カラープロファイルを削除します
- メタデータチャンクを削除します
- インターレースを無効にします
EPS の BoundingBox 修正(Missing number, treated as zero を防止)
%%BoundingBoxがファイル末尾だけでなく、ファイル上部付近にあることを確認します%%BoundingBox: (atend)のみの場合は、実際の値を取得してファイル上部に配置します
4. TeX ソースを更新
図の名前または形式を変更した場合:
\includegraphicsのパスを更新します- 可能であれば明示的な拡張子を削除します(プロセッサの柔軟性が高まります)
\graphicspathの設定を使用している場合は確認します
5. 検証
最適化後:
- ローカルでコンパイルを試み、すべての図が正しく表示されることを確認します
- 最適化した図と元の図の視覚的な出力を比較します
- 図ごとと合計のサイズ削減量を報告します
6. 報告
# Figure Optimization Report
**Processor:** [detected]
**Total figures:** [count]
**Size before:** [total MB]
**Size after:** [total MB]
**Reduction:** [percentage]
## Changes Made
| Figure | Original | Optimized | Size Before | Size After | Action |
|--------|----------|-----------|-------------|------------|--------|
| fig1 | fig1.eps | fig1.pdf | 12.3 MB | 0.4 MB | EPS→PDF conversion |
| fig2 | fig2.png | fig2.png | 8.1 MB | 1.2 MB | Strip metadata, downsample |
## Warnings
[Any remaining issues — e.g., figures still above thresholds]
ツールのリファレンス
| ツール | インストール方法 | 用途 |
|---|---|---|
ImageMagick(convert) | システムパッケージ | 形式変換、サイズ変更、不要データの削除 |
Ghostscript(ps2pdf、eps2eps) | システムパッケージ | EPS/PS の最適化と変換 |
epstopdf | TeX Live | EPS → PDF 変換 |
pdfcrop | TeX Live | PDF の余白をトリミング |
optipng | システムパッケージ | PNG の可逆最適化 |
pngquant | システムパッケージ | PNG の非可逆サイズ削減 |
jpegoptim | システムパッケージ | JPEG の可逆最適化 |
基本原則
- 印刷して読み取れる品質を下回らないようにしてください。 最適化とは、情報を損なうことではなく、余分なもの(メタデータ、不要な解像度、冗長なエンコード)を削除することです。
- 処理系に合った形式を選んでください。 図の形式が適切でないと、コンパイルできなくなります。これは最優先で修正してください。
- 可能な限りベクター形式を維持してください。 ベクター形式からラスター形式への変換は、品質を一方的に損ないます。変換は、ベクター版のサイズが極端に大きく(>10MB)、かつ軽量化できない場合に限ってください。
- すべて報告してください。 どの最適化を適用するかはユーザーが決めます。変換前後のサイズを示し、各変換について説明してください。
コメント
Markdown 対応