$npx -y skills add OpenRaiser/PaperFit --skill consistency-polisher本技能专门处理 Category C:排版一致性缺陷,包括:
| 1 | # Consistency Polisher Skill |
| 2 | |
| 3 | ## 概述 |
| 4 | |
| 5 | 本技能专门处理 **Category C:排版一致性缺陷**,包括: |
| 6 | |
| 7 | - **C1**:表格字号不统一(`\resizebox` 滥用导致字号参差) |
| 8 | - **C2**:图片分辨率/风格不一致 |
| 9 | - **C3**:Caption 格式不统一 |
| 10 | |
| 11 | 该技能由 `code-surgeon-agent` 调用,通过对表格字号、图片尺寸策略、标题格式的统一化处理,消除全篇排版风格割裂,使论文呈现出专业、一致的视觉形象。 |
| 12 | |
| 13 | 一致性缺陷通常不致命,但严重影响审稿人对论文专业度的第一印象。本技能的目标是建立并强制执行全篇统一的排版规范。 |
| 14 | |
| 15 | --- |
| 16 | |
| 17 | ## 适用场景 |
| 18 | |
| 19 | | 缺陷 ID | 描述 | 优先级 | 是否自动修复 | |
| 20 | |---------|------|--------|-------------| |
| 21 | | C1 | 表格字号不统一 | Medium | 是 | |
| 22 | | C2 | 图片分辨率/风格不一致 | Low | 否(仅诊断并建议) | |
| 23 | | C3 | Caption 格式不统一 | Medium | 是 | |
| 24 | |
| 25 | --- |
| 26 | |
| 27 | ## 输入规范 |
| 28 | |
| 29 | | 输入项 | 来源 | 说明 | |
| 30 | |--------|------|------| |
| 31 | | 主 `.tex` 文件路径 | 项目上下文 | 需修改的源文件 | |
| 32 | | 排版侦探报告 | `layout-detective-agent` 输出 | 包含 C 类缺陷的具体描述 | |
| 33 | | 模板信息 | `templates.yaml` 或上下文 | 会议/期刊模板的字号、栏宽等默认参数 | |
| 34 | |
| 35 | --- |
| 36 | |
| 37 | ## 输出规范 |
| 38 | |
| 39 | ```json |
| 40 | { |
| 41 | "skill": "consistency-polisher", |
| 42 | "status": "success | partial | failed", |
| 43 | "modified_files": ["main.tex", "tables/experiments.tex"], |
| 44 | "changes": [ |
| 45 | { |
| 46 | "defect_id": "C1", |
| 47 | "object": "Table 2", |
| 48 | "action": "移除 \\resizebox,改用 tabularx 并统一使用 \\small", |
| 49 | "before_snippet": "\\resizebox{\\linewidth}{!}{\\begin{tabular}{...}", |
| 50 | "after_snippet": "{\\small\\begin{tabularx}{\\linewidth}{...}}" |
| 51 | } |
| 52 | ], |
| 53 | "suggestions": [ |
| 54 | { |
| 55 | "defect_id": "C2", |
| 56 | "object": "Figure 5", |
| 57 | "message": "图片分辨率过低(72 DPI),建议替换为至少 300 DPI 的矢量图或高分辨率位图" |
| 58 | } |
| 59 | ], |
| 60 | "unresolved": [] |
| 61 | } |
| 62 | ``` |
| 63 | |
| 64 | --- |
| 65 | |
| 66 | ## 修复策略 |
| 67 | |
| 68 | ### 通用原则 |
| 69 | |
| 70 | 1. **建立风格锚点**:从全篇中自动识别或由用户指定一个“最佳实践”表格/图片/Caption 作为模板,其余向它看齐。 |
| 71 | 2. **最小破坏**:修改仅限于样式层面,不改变表格内容、图片信息或标题文本。 |
| 72 | 3. **模板优先**:若会议/期刊模板提供了官方样式文件,优先遵循模板预设,而非自定义样式。 |
| 73 | |
| 74 | --- |
| 75 | |
| 76 | ### C1:表格字号不统一 |
| 77 | |
| 78 | **问题特征**: |
| 79 | - 不同表格使用了差异明显的字号(如一个 `\small`,另一个 `\tiny`)。 |
| 80 | - 使用 `\resizebox{\linewidth}{!}{...}` 整体缩放表格,导致文字被非线性缩放而变形,且与其他表格字号不一致。 |
| 81 | |
| 82 | **修复策略(按优先级)**: |
| 83 | |
| 84 | #### 策略 1:移除 `\resizebox`,改用 `tabularx` 自适应宽度 |
| 85 | |
| 86 | `\resizebox` 是表格一致性的头号杀手,必须无条件移除。 |
| 87 | |
| 88 | ```latex |
| 89 | % 修改前 |
| 90 | \begin{table} |
| 91 | \centering |
| 92 | \resizebox{\linewidth}{!}{ |
| 93 | \begin{tabular}{|l|c|c|c|} |
| 94 | \hline |
| 95 | Method & Metric1 & Metric2 & Metric3 \\ |
| 96 | \hline |
| 97 | Ours & 95.2 & 87.3 & 78.1 \\ |
| 98 | \hline |
| 99 | \end{tabular} |
| 100 | } |
| 101 | \caption{Results} |
| 102 | \end{table} |
| 103 | |
| 104 | % 修改后 |
| 105 | \begin{table} |
| 106 | \centering |
| 107 | \small % 统一字号 |
| 108 | \begin{tabularx}{\linewidth}{|l|X|X|X|} |
| 109 | \hline |
| 110 | Method & Metric1 & Metric2 & Metric3 \\ |
| 111 | \hline |
| 112 | Ours & 95.2 & 87.3 & 78.1 \\ |
| 113 | \hline |
| 114 | \end{tabularx} |
| 115 | \caption{Results} |
| 116 | \end{table} |
| 117 | ``` |
| 118 | |
| 119 | *注意*:确保导言区已加载 `tabularx` 宏包。若未加载,需添加 `\usepackage{tabularx}`。 |
| 120 | |
| 121 | #### 策略 2:统一全篇表格字号 |
| 122 | |
| 123 | 检查全篇表格的字号设置,确定一个“锚点字号”(通常是模板默认的正文字号,或 `\small`),将所有表格统一为该字号。 |
| 124 | |
| 125 | **识别当前字号**: |
| 126 | - 搜索 `\begin{table}` 后的 `\small`、`\footnotesize`、`\scriptsize`、`\tiny` 等命令。 |
| 127 | - 搜索 `\resizebox` 并评估其实际视觉字号。 |
| 128 | |
| 129 | **统一方法**: |
| 130 | - 若表格无字号声明,且模板默认表格字号与正文相同,则不加字号命令(让模板决定)。 |
| 131 | - 若需缩小,优先使用 `\small`;若仍超宽,考虑改为 `tabularx` 而非进一步缩小字号。 |
| 132 | - 绝对禁止使用 `\tiny` 或 `\scriptsize`(不可阅读)。 |
| 133 | |
| 134 | ```latex |
| 135 | % 统一风格示例:在每个 table 环境内首行添加 \small |
| 136 | \begin{table} |
| 137 | \small |
| 138 | \centering |
| 139 | \begin{tabularx}{\linewidth}{...} |
| 140 | ... |
| 141 | \end{tabularx} |
| 142 | \end{table} |
| 143 | ``` |
| 144 | |
| 145 | #### 策略 3:检测并修复列宽失衡导致的字号误用 |
| 146 | |
| 147 | 有时作者使用超小字号是因为表格列太多、内容太宽。此时应优先重构列格式(如合并相似列、使用缩写表头、改为跨栏表),而非暴力缩小字号。 |
| 148 | |
| 149 | ```latex |
| 150 | % 修改前(滥用 \tiny) |
| 151 | \begin{table} |
| 152 | \tiny |
| 153 | \begin{tabular}{|l|c|c|c|c|c|c|c|c|} |
| 154 | ... |
| 155 | \end{tabular} |
| 156 | \end{table} |
| 157 | |
| 158 | % 修改后(合并为关键列 + 缩写表头 + 跨栏宽表) |
| 159 | \begin{table*} |
| 160 | \small |
| 161 | \begin{tabularx}{\textwidth}{|l|X|X|X|} |
| 162 | \hline |
| 163 | \textbf{Method} & \textbf{Prec.} & \textbf{Rec.} & \textbf{F1} \\ |
| 164 | \hline |
| 165 | ... |
| 166 | \end{tabularx} |
| 167 | \end{table*} |
| 168 | ``` |
| 169 | |
| 170 | --- |
| 171 | |
| 172 | ### C2:图片分辨率/风格不一致 |
| 173 | |
| 174 | **问题特征**: |
| 175 | - 不同图片清晰度差异大(矢量图 vs 低分辨率截图)。 |
| 176 | - 图片中的字体、配色、线条风格不统一。 |
| 177 | - 同一论文中混用 `.pdf`、`.png`、`.jpg`,且质量参差。 |
| 178 | |
| 179 | **本技能的定位**:**仅诊断和建议,不自动修改图片内容**。 |
| 180 | |
| 181 | #### 诊断与建议生成 |
| 182 | |
| 183 | 1. **检查图片文件格式**: |
| 184 | - 推荐:`.pdf`(矢量图)、`.eps`(矢量图)。 |
| 185 | - 可接受:高分辨率 `.png`(≥300 DPI)。 |
| 186 | - 避免:低分辨率 `.jpg`、屏幕截图。 |
| 187 | |
| 188 | 2. **生成逐图建议**: |
| 189 | |
| 190 | ```json |
| 191 | { |
| 192 | "defect_id": "C2", |
| 193 | "object": "Figure 5 (figures/ablation.png)", |
| 194 | "issue": "图片分辨率约 72 DPI,放大后锯齿明显", |
| 195 | "suggestion": "请使用原始矢量图导出为 PDF,或以至少 300 DPI 重新渲染位图" |
| 196 | } |
| 197 | ``` |
| 198 | |
| 199 | 3. **风格一致性建议**: |
| 200 | - 若检测到多张图来自不同工具(如 Matplotlib、Excel、draw.io),提示用户统一绘图工具和导出设置。 |
| 201 | - 建议使用统一的配色方案(如 ColorBrewer)和字体(如 Times New Roman 或 Helvetica)。 |
| 202 | |
| 203 | #### 输出示例 |
| 204 | |
| 205 | ```json |
| 206 | "suggestions": [ |
| 207 | { |
| 208 | "defect_id": "C2", |
| 209 | "object": "Figure 1, Figure 3, Figure 5", |
| 210 | "message": "三张图使用了三种不同的配色风格,建议统一使用会议模板推荐的配色方案。" |
| 211 | } |
| 212 | ] |
| 213 | ``` |
| 214 | |
| 215 | --- |
| 216 | |
| 217 | ### C3:Caption 格式不统一 |
| 218 | |
| 219 | **问题特征**: |
| 220 | - 图表标题的字体不一致(有的加粗,有的未加粗)。 |
| 221 | - 标题结尾标点不一致(有的有句号,有的无)。 |
| 222 | - 表格标题位置不一致(有的在表格上方,有的在下方)。 |
| 223 | - 标题与图表主体的间距不一致。 |
| 224 | |
| 225 | **修复策略**: |
| 226 | |
| 227 | #### 策略 1:统一使用 `caption` 宏包配置 |
| 228 | |
| 229 | 在导言区加载 `caption` 宏包并设置全局样式,一次性统一全篇标题格式。 |
| 230 | |
| 231 | ```latex |
| 232 | \usepackage{caption} |
| 233 | \captionsetup{ |
| 234 | font=small, % 字号 |
| 235 | labelfont=bf, % 标签加粗("Figure 1:" 中的 "Figure 1" 部分) |
| 236 | textfont=it, % 标题文本斜体(可选) |
| 237 | labelsep=period, % 标签与文本分隔符:period = 句点,colon = 冒号 |
| 238 | justification=raggedright, % 左对齐(或 justified 两端对齐) |
| 239 | singlelinecheck=false % 即使单行也应用设置 |
| 240 | } |
| 241 | ``` |
| 242 | |
| 243 | *针对表格和图片的差异化设置*: |
| 244 | |
| 245 | ```latex |
| 246 | % 表格标题默认在上方,图片在下方,无需额外设置,LaTeX 自动处理。 |
| 247 | % 若需微调间距: |
| 248 | \captionsetup[table]{position=above, skip=6pt} |
| 249 | \captionsetup[figure]{position=below, skip=6pt} |
| 250 | ``` |
| 251 | |
| 252 | #### 策略 2:检查并修复手动设置的标题样式 |
| 253 | |
| 254 | 搜索 `.tex` 文件中的 `\caption` 命令,移除其前后的手动字体设置(如 `\textbf{\caption{...}}`),因为这些手动设置会覆盖全局配置。 |
| 255 | |
| 256 | ```latex |
| 257 | % 修改前 |
| 258 | \caption{\textbf{This is a bold caption.}} |
| 259 | |
| 260 | % 修改后(依赖全局 caption 设置) |
| 261 | \caption{This is a caption with unified style.} |
| 262 | ``` |
| 263 | |
| 264 | #### 策略 3:统一结尾标点 |
| 265 | |
| 266 | 检查所有 `\caption{}` 的内容,确保标点风格一致。推 |