mcpField
A
arxiv-figures

arxiv-figures

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

arxiv-figures について

arxiv-figuresは、arXiv投稿を準備する著者向けのTeX/LaTeX図表の分析・最適化スキルです。処理系や図の内容に応じて形式、サイズ、解像度を確認し、最適化後のコンパイルも検証します。

主な機能

  1. 01図ファイルを走査・一覧化
  2. 02処理系との形式互換性を確認
  3. 03サイズと解像度の問題を検出
  4. 04図を変換・圧縮
  5. 05コンパイルと表示を確認

活用シーン

  1. 01非対応の図形式を修正
  2. 02投稿用図ファイルの容量を削減
  3. 03欠落または過大な図を発見
  4. 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. 解析

各図について、次の項目を確認します。

  1. 形式の適合性 — 形式はプロセッサに適合していますか?
  2. ファイルサイズ — 2MB 超の個別の図、15MB 超の合計サイズにフラグを付けます
  3. 解像度 — PNG/JPEG:34 メガピクセル超にフラグを付けます(2026 年 2 月以降の arXiv 警告しきい値)
  4. コンテンツの種類 — 写真、図、プロット(最適な形式を判断します)
  5. 不要なメタデータ — PNG:ICC プロファイル、アルファチャンネル、EXIF、インターレース
  6. 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 ソースを更新

図の名前または形式を変更した場合:

  1. \includegraphics のパスを更新します
  2. 可能であれば明示的な拡張子を削除します(プロセッサの柔軟性が高まります)
  3. \graphicspath の設定を使用している場合は確認します
5. 検証

最適化後:

  1. ローカルでコンパイルを試み、すべての図が正しく表示されることを確認します
  2. 最適化した図と元の図の視覚的な出力を比較します
  3. 図ごとと合計のサイズ削減量を報告します
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 の最適化と変換
epstopdfTeX LiveEPS → PDF 変換
pdfcropTeX LivePDF の余白をトリミング
optipngシステムパッケージPNG の可逆最適化
pngquantシステムパッケージPNG の非可逆サイズ削減
jpegoptimシステムパッケージJPEG の可逆最適化

基本原則

  • 印刷して読み取れる品質を下回らないようにしてください。 最適化とは、情報を損なうことではなく、余分なもの(メタデータ、不要な解像度、冗長なエンコード)を削除することです。
  • 処理系に合った形式を選んでください。 図の形式が適切でないと、コンパイルできなくなります。これは最優先で修正してください。
  • 可能な限りベクター形式を維持してください。 ベクター形式からラスター形式への変換は、品質を一方的に損ないます。変換は、ベクター版のサイズが極端に大きく(>10MB)、かつ軽量化できない場合に限ってください。
  • すべて報告してください。 どの最適化を適用するかはユーザーが決めます。変換前後のサイズを示し、各変換について説明してください。

コメント