关于 figure-table-quality
该技能审查论文编译 PDF 中图表的显示尺寸、可读性与一致性,面向准备提交 LaTeX 手稿的研究者。它结合源文件、绘图脚本和生成图像检查,并区分可自动修复的问题与需人工处理的设计决策。
主要功能
- 01计算图表显示缩放比例
- 02检查字体、标签与标记可读性
- 03审计表格排版及数值格式
- 04比较跨图表的样式一致性
- 05提供自动修复与人工处理建议
适用场景
- 01提交前检查 PDF 中图表的可读性
- 02查找缩放后过小的标签或标记
- 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:
- 提取显示宽度(例如,
\textwidth、0.7\textwidth、0.55\textwidth) - 使用文档几何设置计算以英寸为单位的有效显示宽度
- 查看图表生成脚本,找出每个图表的
figsize - 计算:
scale = display_width / figsize_width
还要从生成脚本或配置中提取:
- 基础字体大小:标题、标签、刻度、图例、注释
- 标记大小、线宽
- 柱宽(用于分组柱状图)
第 2 步 — 逐图审计(全部 9 项检查)
对于每个图表,计算显示比例下的有效值并进行检查:
2a. 渲染时的字体大小
effective_font = script_font × scale
| 元素 | 最小值 | 警告阈值 |
|---|---|---|
| 坐标轴标题 | 7pt | 8pt |
| 刻度标签 | 6pt | 7pt |
| 图例文字 | 6pt | 7pt |
| 注释 | 6pt | 7pt |
| 分面标题 | 7pt | 8pt |
失败:如果任何元素低于最小值。 警告:如果任何元素低于警告阈值。
2b. 标签碰撞
检查以下位置是否存在文本重叠:
- X 轴刻度标签(尤其是旋转角度 < 45° 且标签数 > 3 时)
- Y 轴刻度标签(长文本字符串)
- 彼此靠近的数据注释
- 与数据重叠的图例条目
对于旋转标签:计算水平占用宽度,公式为
len(label) × char_width × cos(rotation)。如果占用宽度 > 刻度间距,则失败。
2c. 标记和线条的可见性
effective_marker = script_marker × scale
effective_linewidth = script_linewidth × scale
- 有效大小低于 4pt 的标记:警告
- 有效线宽低于 0.5pt 的线条:警告
2d. 柱状图可读性
对于分组柱状图:
- 计算以英寸为单位的有效柱宽
- 检查柱子是否可区分(有效宽度至少为 3pt)
- 检查填充图案在有效大小下是否可见
- 检查柱标签是否对齐
2e. 颜色与填充图案的无障碍性
- 所有系列在灰度下是否都能区分?
- 填充图案是否提供了与颜色互补的编码方式?
- 是否使用了 5 种以上颜色且没有填充图案?警告
- 是否为无关系列使用了相似颜色?
2f. 坐标轴范围效率
- 计算数据范围与坐标轴范围的比例
- 如果坐标轴范围中用于显示数据的部分不到 40%:警告(空间浪费)
- 如果数据触及坐标轴边界:警告(数据被裁切)
2g. 注释可读性
- 是否有数据注释彼此重叠?
- 注释的位置是否避免遮挡数据?
- 注释的格式(字体大小、字重)是否一致?
2h. 图例位置
- 图例是否与任何数据点或柱子重叠?
- 类似图表中的图例位置是否一致?
- 对于多面板图表:图例是否仅显示在第一个面板中(而非重复显示)?
2i. 空白与边距
tight_layout()或同等功能是否正确处理了边距?- 分面标题是否被截断?
- 空白是否过多(图表区域中空白超过 30%)?
第 3 步 — 表格审计
对于每个 \begin{tabular} 或 \begin{table}:
- 列对齐 — 数值列是否右对齐?文本是否左对齐?
- 线条样式 — 是否使用 booktabs(
\toprule、\midrule、\bottomrule)?是否没有垂直线? - 标题位置 — 表格标题是否位于表格上方,图注是否位于图表下方?
- 宽度 — 表格是否超出页边距?检查是否使用了
\resizebox或\small等补救方法。 - 数字格式 — 小数位数是否一致?小数点是否对齐?
- 表头清晰度 — 列标题是否明确无歧义?
步骤 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)
评论
支持 Markdown