Install any skill in seconds. Free to start, no credit card required.
Get Started Free →本技能专门处理 **Category A:空间利用缺陷**,包括:
.claude/skills/openraiser-space-utilization-fixer-skill/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 233% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 101% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 804% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 108% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 320% | 0% |
本技能专门处理 Category A:空间利用缺陷,包括:
figure*/[H]/不当断页有关)该技能由 code-surgeon-agent 或 semantic-polish-agent 调用,通过对段落级排版控制、浮动体调度和最小语义改写的组合运用,优化页面空间分配,使文档达到专业级的视觉均衡。
空间利用问题的修复常常需要多轮迭代,因为局部调整会影响全局分页。因此,每次修改后必须重新编译并审查页图。
| 缺陷 ID | 描述 | 优先级 | 是否允许语义修改 | |---------|------|--------|-----------------| | A1 | 孤行/寡行 | High | 是(最后手段) | | A2 | 末页大面积留白 | High | 是(最后手段) | | A3 | 页数预算违反 | Critical | 是(最后手段) | | A4 | 双栏末页左右栏高度不齐 | Medium | 否 | | A5 | 双栏页内列竖向空洞(非末页、栏内大块无正文空白) | High | 视情况 |
| 输入项 | 来源 | 说明 | |--------|------|------| | 主 .tex 文件路径 | 项目上下文 | 需修改的源文件 | | 排版侦探报告 | layout-detective-agent 输出 | 包含 A 类缺陷的页码和描述 | | 目标页数(若适用) | 用户约束 | A3 修复必须提供 | | 模板类型 | templates.yaml 或上下文 | 单栏/双栏 |
json{ "skill": "space-util-fixer", "status": "success | partial | failed", "modified_files": ["main.tex"], "changes": [ { "defect_id": "A1", "object": "第4页顶部孤行", "action": "在段落前添加 \\looseness=-1", "before_snippet": "The proposed method achieves...", "after_snippet": "{\\looseness=-1 The proposed method achieves...}" } ], "unresolved": [] }
\newpage 或 \clearpage 来“凑页数”,这会破坏文档结构的自然性。问题特征:
修复策略(严格按优先级顺序尝试):
\looseness=-1)通过在段落前设置 \looseness=-1,指示 TeX 引擎尝试将段落收缩一行,从而消除孤行或小尾巴。
latex% 修改前 The proposed method achieves state-of-the-art performance on several benchmarks, demonstrating the effectiveness of our approach. % 修改后 {\looseness=-1 The proposed method achieves state-of-the-art performance on several benchmarks, demonstrating the effectiveness of our approach.}
注意:
{ } 括起,以限制 \looseness 的作用范围。\looseness=1)若段落太紧,可尝试扩张一行,使段末行变长。
latex{\looseness=1 This paragraph will be typeset with one more line...}
\emergencystretch)为特定段落增加紧急拉伸量,允许行间略微拉伸以调整断行。
latex{\emergencystretch=1em This paragraph content...}
semantic-polish-agent)若排版控制无效,则进行最小语义改写:
in order to 改为 to,或将 demonstrate 改为 show)。latex% 修改前 The proposed method achieves state-of-the-art performance on several benchmarks, demonstrating the effectiveness of our approach. % 修改后 The proposed method achieves state-of-the-art results on several benchmarks, showing the effectiveness of our approach.
语义改写必须由 semantic-polish-agent 执行,本技能仅提出请求。
在导言区增加以下设置(通常模板已包含,可作为兜底):
latex\widowpenalty=10000 \clubpenalty=10000 \displaywidowpenalty=10000
注意:此设置影响全局,需谨慎。若模板已设置,则无需重复。
问题特征:
修复策略(按优先级):
检查倒数第二、第三页是否有可前移的图表。调整其位置参数 [htbp],使其占据末页空白区域。
latex% 将原本放在倒数第二页的图强制前移 \begin{figure}[t] → \begin{figure}[ht]
在不影响整体美观的前提下,微调末页前的某些垂直间距(如 \vspace、章节间距)。
latex% 轻微缩小最后一节前的间距 \vspace{-0.5em} \section{Conclusion}
注意:不要制造新的视觉不协调。
在结论、讨论或分析段落中增加有实质内容的 2-4 行文本(约 30-60 词),以自然填充空白。
此操作必须由 semantic-polish-agent 执行。
若用户同意,可将部分非核心内容(如额外消融实验)从正文移至附录,或在末页后增加致谢部分。
问题特征:
修复策略:
本缺陷修复需要系统性操作,通常结合多种手段。
优先级从高到低:
width=0.95\linewidth 代替 \linewidth)。longtable(可跨页,避免独占一页)。\vspace{-0.2cm} 微调节标题、图表与正文的间距。\newline 或空行。在非核心段落(Related Work、Introduction 末尾)进行精简:
若参考文献过多,使用 \bibliographystyle{abbrv} 或类似缩写样式,或使用 biblatex 的压缩选项。
若模板允许,使用 \usepackage[margin=...]{geometry} 微调边距。必须在模板允许范围内。
优先级从高到低:
是否因 \FloatBarrier 或 [H] 导致页面空白?若是,先按 B 类缺陷修复。
增加 5-10 行有实质内容的分析,例如:
若会议允许附录且不计入页数限制,可将部分内容移至附录,使正文恰好满页。
将部分图片略微放大(width=1.0\linewidth 代替 0.95\linewidth),使其占据更多空间但不溢出。
在合适位置(如章节末尾)添加 \newpage 迫使内容分页,但必须确保不产生孤页。
问题特征:
修复策略:
\balance 或 flushend 宏包在导言区加载 flushend 宏包,自动平衡末页两栏高度。
latex\usepackage{flushend}
注意:flushend 与某些宏包(如 multicol)可能冲突,需在特定模板下测试。
若自动平衡无效,在最后一节结束前插入 \balance 命令(需 balance 宏包)。
latex\usepackage{balance} ... \section{Conclusion} ... \balance \end{document}
对末页最后一段使用 \looseness=-1 或 \looseness=1,改变其行数,从而影响两栏高度。
若末页有浮动体,尝试将其移至前一页或强制放在当前页底部,以改变栏内内容分布。
问题特征:某一页左栏或右栏在标题/段落后出现大块竖向空白(无图无表),另一栏同期仍有连续正文;常见于 figure* 顶到下一页后在栏内留下“断层”、滥用 \\ / \clearpage、\FloatBarrier、[H] 等。
修复策略(优先浮动体与断页,再动正文):
figure* / table*:尝试将浮动环境在源码中前移/后移,或改为单栏 figure/table(若尺寸允许)。\\(段内强制换行)、\newpage、\vfill;慎用 [H]。\FloatBarrier,评估是否可删除或挪到节末。Float too large 日志后再看栏内空洞是否消失。\looseness 或最小语义扩写,使分栏断点上移。每完成一项修复后:
Space Utilization Fixer Skill 就绪。 等待调用,优化页面空间分配。
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 8,963 | 6,284 | -30% | 1 | 1 | 0% | 1,354 | 4,509 | +233% | 0 | 0 | — |
case-02 | fail→pass | 13,973 | 4,388 | -69% | 1 | 1 | 0% | 2,051 | 4,113 | +101% | 0 | 0 | — |
case-03 | fail→pass | 5,641 | 4,400 | -22% | 1 | 1 | 0% | 446 | 4,034 | +804% | 0 | 0 | — |
case-04 | pass→pass | 9,874 | 6,680 | -32% | 1 | 1 | 0% | 1,566 | 4,293 | +174% | 0 | 0 | — |
case-17 | fail→pass | 11,704 | 3,502 | -70% | 1 | 1 | 0% | 1,839 | 3,832 | +108% | 0 | 0 | — |
case-05 | fail→pass | 5,285 | 3,863 | -27% | 1 | 1 | 0% | 903 | 3,790 | +320% | 0 | 0 | — |
case-06 | pass→pass | 10,385 | 4,812 | -54% | 1 | 1 | 0% | 1,657 | 3,878 | +134% | 0 | 0 | — |
case-07 | pass→pass | 4,302 | 4,658 | +8% | 1 | 1 | 0% | 843 | 4,047 | +380% | 0 | 0 | — |
case-08 | pass→pass | 13,709 | 9,454 | -31% | 1 | 1 | 0% | 2,125 | 4,637 | +118% | 0 | 0 | — |
case-09 | fail→fail | 19,121 | 4,608 | -76% | 1 | 1 | 0% | 2,422 | 4,051 | +67% | 0 | 0 | — |
case-10 | fail→fail | 13,946 | 13,888 | -0% | 1 | 1 | 0% | 2,457 | 5,335 | +117% | 0 | 0 | — |
case-11 | fail→pass | 16,251 | 10,642 | -35% | 1 | 1 | 0% | 2,789 | 4,824 | +73% | 0 | 0 | — |
case-12 | pass→pass | 14,916 | 10,444 | -30% | 1 | 1 | 0% | 2,201 | 4,761 | +116% | 0 | 0 | — |
case-13 | pass→pass | 5,179 | 3,748 | -28% | 1 | 1 | 0% | 802 | 3,821 | +376% | 0 | 0 | — |
case-14 | pass→pass | 7,166 | 4,876 | -32% | 1 | 1 | 0% | 1,125 | 3,979 | +254% | 0 | 0 | — |
case-15 | pass→pass | 10,319 | 11,185 | +8% | 1 | 1 | 0% | 1,653 | 5,140 | +211% | 0 | 0 | — |
case-16 | pass→pass | 30,912 | 8,694 | -72% | 1 | 1 | 0% | 2,553 | 4,541 | +78% | 0 | 0 | — |
case-18 | pass→pass | 7,366 | 2,919 | -60% | 1 | 1 | 0% | 1,061 | 3,611 | +240% | 0 | 0 | — |
case-19 | pass→pass | 18,555 | 7,846 | -58% | 1 | 1 | 0% | 1,841 | 4,435 | +141% | 0 | 0 | — |
case-20 | pass→pass | 13,397 | 10,959 | -18% | 1 | 1 | 0% | 2,155 | 4,963 | +130% | 0 | 0 | — |
case-21 | pass→pass | 9,058 | 8,936 | -1% | 1 | 1 | 0% | 1,590 | 4,551 | +186% | 0 | 0 | — |
case-22 | pass→pass | 11,898 | 11,215 | -6% | 1 | 1 | 0% | 2,342 | 5,332 | +128% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +27 percentage points is the difference between those two pass rates over the 21 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.