mcpField
F
figure-table-quality

figure-table-quality

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

figure-table-quality について

LaTeX 論文を準備する研究者向けに、コンパイル済み PDF の図表の可読性と一貫性を監査するスキルです。ソースと作図スクリプトを照合し、自動修正と人による判断が必要な問題を分けます。

主な機能

  1. 01図の表示倍率を算出
  2. 02フォント、ラベル、マーカーの視認性を確認
  3. 03表のレイアウトと数値形式を監査
  4. 04図間のスタイル一貫性を比較
  5. 05自動修正と人の判断事項を分類

活用シーン

  1. 01投稿前に PDF の図表を点検
  2. 02縮小後に小さくなるラベルやマーカーを特定
  3. 03複数の図で色やフォントを照合

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mathews-tom/armory --skill figure-table-quality

インストール後、Claude Code で/figure-table-qualityを入力して読み込まれたか確認します。

同梱ファイルevals/cases.yaml

詳細

図表の品質監査

パイプライン内の位置: フェーズ 2.5(Grounding/Polish と Submission の間)。 figure-rhetoric(内容)の後、arxiv-preflight(コンプライアンス)の前に実行します。 実行順序の全体については /manuscript-pipeline を参照してください。

目的

原稿内のすべての図表が、コンパイル済み PDF で読みやすいサイズで表示されることを確認します。figure-rhetoric は、図が適切なメッセージを伝えているかを確認します。このスキルでは、読者が実際に図表を読めるかを確認します。

実行方法

ステップ 1 — 表示スケールのマップを作成する

.tex ソース内のすべての \includegraphics について、次の手順を実行します。

  1. 表示幅を抽出します(例:\textwidth、0.7\textwidth、0.55\textwidth)。
  2. 文書のジオメトリを使って、インチ単位の実効表示幅を計算します。
  3. 図の生成スクリプトを確認し、各図の figsize を調べます。
  4. 次の式で計算します:scale = display_width / figsize_width

生成スクリプトまたは設定から、次の情報も抽出します。

  • 基本フォントサイズ:タイトル、ラベル、目盛り、凡例、注釈
  • マーカーサイズ、線幅
  • 棒の幅(グループ化された棒グラフの場合)
ステップ 2 — 図ごとの監査(全 9 項目)

各図について、表示スケールでの実効値を計算し、次の項目を確認します。

2a. 描画時のフォントサイズ
effective_font = script_font × scale
要素最小値警告値
軸タイトル7pt8pt
目盛りラベル6pt7pt
凡例テキスト6pt7pt
注釈6pt7pt
パネルタイトル7pt8pt

いずれかの要素が最小値を下回る場合は FAIL。 いずれかの要素が警告値を下回る場合は WARN。

2b. ラベルの衝突

次の箇所でテキストが重なっていないか確認します。

  • X 軸の目盛りラベル(特に、回転角度が 45°未満で、ラベル数が 3 を超える場合)
  • Y 軸の目盛りラベル(長いテキスト文字列)
  • 互いに近接するデータ注釈
  • データと重なる凡例項目

回転したラベルの場合、次の式で水平方向の占有幅を計算します。 len(label) × char_width × cos(rotation). 占有幅が目盛り間隔を超える場合は FAIL。

2c. マーカーと線の視認性
effective_marker = script_marker × scale
effective_linewidth = script_linewidth × scale
  • 実効サイズが 4pt 未満のマーカー:WARN
  • 実効幅が 0.5pt 未満の線:WARN
2d. 棒グラフの読みやすさ

グループ化された棒グラフの場合:

  • 実効的な棒の幅をインチ単位で計算します。
  • 棒を見分けられるか確認します(実効幅は最低 3pt)。
  • ハッチパターンが実効サイズで描画されるか確認します。
  • 棒とラベルの配置を確認します。
2e. 色とハッチのアクセシビリティ
  • すべての系列をグレースケールで見分けられますか?
  • ハッチパターンは色に加えて冗長な符号化を提供していますか?
  • ハッチングなしで色が 5 色を超えていますか?超えている場合は WARN。
  • 関連のない系列に似た色を使っていませんか?
2f. 軸範囲の効率性
  • データ範囲と軸範囲を計算します。
  • 軸範囲のうち、データが含まれる部分が 40%未満の場合は WARN(無駄な余白)。
  • データが軸の境界に接している場合は WARN(データのクリッピング)。
2g. 注釈の読みやすさ
  • データ注釈同士が重なっていませんか?
  • データを隠さない位置に注釈が配置されていますか?
  • 注釈の書式(fontsize、weight)は統一されていますか?
2h. 凡例の配置
  • 凡例がデータポイントや棒に重なっていませんか?
  • 類似した図で凡例の位置は統一されていますか?
  • 複数パネルの図では、凡例は最初のパネルだけにあり、繰り返されていませんか?
2i. 余白とマージン
  • tight_layout() または同等の機能でマージンを調整していますか?
  • パネルタイトルが切れていませんか?
  • 余白が過剰ではありませんか(図の領域の 30%超が空白)?
ステップ 3 — 表の監査

\begin{tabular} または \begin{table} ごとに、次の項目を確認します。

  1. 列の配置 — 数値列は右揃え、テキスト列は左揃えですか?
  2. 罫線のスタイル — booktabs(\toprule、\midrule、\bottomrule)を使用していますか?縦罫線はありませんか?
  3. キャプションの位置 — 表のキャプションは上、図のキャプションは下にありますか?
  4. 幅 — 表がマージンを超えていませんか?\resizebox や \small による調整を確認します。
  5. 数値の書式 — 小数点以下の桁数は統一されていますか?小数点は揃っていますか?
  6. 見出しの明確さ — 列見出しは明確ですか?
ステップ 4 — 図間の一貫性
  1. 共有要素 — 軸を共有する図では、同じスケールを使用していますか?
  2. 配色 — すべての図で、同じ条件に同じ色を使用していますか?
  3. ラベルの用語 — 条件/モデルのラベルは、すべての図で同一ですか?
  4. フォントファミリー — すべての図で同じフォントを使用していますか?

出力形式

## Figure & Table Quality Report

### Display Scale Map
| Figure | figsize | display | scale | verdict |
|--------|---------|---------|-------|---------|
| fig1   | 7×4     | 6.27"   | 90%   | OK      |

### Per-Figure Findings
#### Figure 1 (fig1_resolve_rates.pdf)
- [PASS] Font sizes: tick 8.1pt, legend 8.1pt
- [PASS] No label collisions
- [WARN] Bar width 3.2pt — borderline at print size
...

### Table Findings
#### Table 1 (table1_resolve.tex)
- [PASS] Booktabs rules
- [PASS] Caption above tabular
...

### Cross-Figure Consistency
- [PASS] Color scheme consistent
- [FAIL] Label mismatch: fig2 uses "cmd", other figures use "Yuj"

### Summary
- [count] FAIL (must fix)
- [count] WARN (should fix)
- [count] PASS

自動修正ルール

自動修正(直接適用):

  • x 軸ラベルが重なる場合は回転角度を大きくする(20°/15° → 45°)
  • 表示コンテキストに合わせて figsize を縮小する(25% を超える縮小を解消)
  • tight_layout() の呼び出しがない場合は追加する
  • 図間でラベルのテキストが一致しない場合は統一する(設定/信頼できる情報源に合わせる)

人間による対応が必要(提示して待機):

  • 図の再設計(異なるレイアウト、パネル配置)
  • 軸範囲の変更
  • 配色の変更
  • レイアウトに影響するフォントサイズの拡大
  • 表の構成変更

統合

このスキルが読み取るもの:

  • .tex ソース(\includegraphics ディレクティブ、\geometry 設定)
  • 図の生成スクリプト(figsize、フォントサイズ、回転角度、注釈)
  • 図の設定ファイル(共有設定)
  • 生成された図ファイル(PDF を読み取れる場合は視覚的な抜き取り確認)
  • 表の .tex ファイル

このスキルが行わないこと:

  • 図が適切なメッセージを伝えているかどうかの評価(これは figure-rhetoric の担当です)
  • arXiv 形式への準拠確認(これは arxiv-preflight の担当です)
  • 文章や主張の監査(これは manuscript-review の担当です)

コメント