Skip to content

/float-optimizer

本技能专门处理 **Category B:浮动体缺陷**,包括:

From plugin
paperfit
3348 skills6 agents9 commands

Claude Code

$ npx -y skills add OpenRaiser/PaperFit --skill float-optimizer --agent claude-code

SKILL.md

float-optimizer.SKILL.md
name: float-optimizer
description: PaperFit advice for LaTeX figure/table placement, width, clustering and breakable-table flow, verified against current page images.

浮动体优化

供 Codex、Claude Code、Cursor 宿主直接参考,也可用于可选 typed runtime。无需注册专用 agent。PaperFit 给出诊断和候选;宿主结合当前源码、模板和 PDF 判断是否采纳:**请你看看这是否是对的**。不确定的锚点、几何或视觉反馈应保留不确定性,不盲改整个文档。

先找实际原因

将图表 label、首次引用、定义位置与当前物理页对齐。Figure 1 与 Table 1 不混用。需要源码导航时运行:

paperfit run scripts/extract_crossrefs.py <root.tex> --output .paperfit/reports/crossrefs.json

源码行距与页距只是线索:定义靠近引用仍可能被前面的浮动体队列阻塞;跨页引用也可能是正常模板行为。先检查对象大小、放置参数、前面的队列、显式分页/间距和模板原生机制。页数目标与可读性同时考虑,不把全篇页数修复留到所有局部动作之后。

LaTeX 的浮动体布局取决于输入、辅助文件、引擎和宏包状态。使用原编译链,让引用与辅助文件收敛;不因“浮动具有随机性”无条件重复两次编译。每个有意义的候选编译后看实际页图。

按原因选择策略

B1:浮动体远离引用或侵入后文

  • 可以移动完整对象到适合的源码锚点,或调整该对象的放置参数;没有固定先后顺序。保留标签、引用含义和正文顺序。
  • `[ht]`、`[tbp]`、`[!t]`、`[p]` 等取决于模板和对象。浮动页可以是合理方案,不能一概禁止;`h` 是偏好而不是强制,`!` 也不能让不适合页面的对象自动放下。
  • 只有实际参考文献区域侵入或另一条确定边界问题才考虑 `\FloatBarrier` / 清空队列;检查空白、页数和上游浮动体。插在引用后、对象定义前的 barrier 不会约束尚未进入队列的对象。不要给每个图表机械加 barrier。
  • 双栏 `figure*` / `table*` 常有页顶约束,但具体行为取决于类和宏包;并非永远只能到下一页顶部。先了解原模板,不为了靠近引用引入不兼容的浮动宏包。

B2:宽度或可读性不合适

  • 以当前容器 `\linewidth` / `\columnwidth` / 跨栏 `\textwidth` 为准。过窄的几何候选不等于应该撑满栏宽;一律将所有图片放大可能制造高图、页数增长和标签问题。
  • 图像缩放保留宽高比,并看最小图内标签;不得靠裁切、隐藏内容或不可读缩放满足页数。
  • 表格优先考虑列宽、长表头换行、`tabularx` 或合理跨栏。保留每个有序数据格、单位、注释、caption、label。不机械删除所有 `resizebox`,也不把全表缩小当默认解法。
  • 只有常规布局不足且模板允许时,考虑旋转或等价分面;查看阅读方向、邻页和总页数。跨栏更宽,也可能加剧浮动队列与留白。

B3:图表聚集或大片留白

聚集是否妨碍阅读取决于图表关联、可读性和引用顺序。三个小对象排在同页可以很好;一个大对象也可能形成糟糕页面。没有“每页最多两个图表”的通用约束。

检查强制 `[H]`、多余 barriers、过严浮动比例和大显式间距。可以分散放置偏好、改变完整对象的源码位置,或将关联对象组成布局,但应保留各自科学对象和标签。不要生成几行填充正文、删除句子或擅自把结果搬到附录。若需要改变文章结构或文本,必须来自用户的授权。

B4:跨页表格、裁切或过高对象

普通 `figure` / `table` 浮动体通常不可分页;看到被“切开”的图,先确认是裁切、出页、组合容器错误还是实际分页。不要把 `[!h]` 当作保证单页的办法。

对于真正可分页的长表,在适配模板的环境中重复表头并保留完整数据;标准 `longtable` 不能直接作为普通双栏长表的通用替代。对于过高图组,考虑横排、合理跨栏或保留完整内容的分面;重新检查子图标签、caption、顺序和引用。

验证与执行边界

把相关动作作为一个可解释的候选;不必每个参数单独占一轮。编译后查看改变对象、邻近浮动页、受影响末页和图表的正常阅读大小。大的全篇重排扩大检查范围;最终接受前查看每个物理页。保留更好的前序源码/PDF,发生编译失败或部分写入时先恢复/纠正。

检查内容保护报告,并独立复核不支持的结构;解析器未证明安全不等于图表真的丢失。确认损坏、隐藏内容和禁用操作仍需恢复。不能因工具不支持便放弃合理的宿主原生编辑;也不能将视觉建议直接当作权限或保护例外。

typed runtime 的 B1 只处理放置,B2 单独处理尺寸。无精确锚点或全篇 B1 候选需要宿主独立证据和相应复核;具体接口见 `docs/HOST_NATIVE_WORKFLOW.md`。源码写回需 `--apply` 或用户已有的宿主修复授权。可选 batch 的上限与用户目标是否完成分开报告。

简洁记录实际对象、改动、当前页图改善、页数影响和剩余问题即可。无需生成专用 JSON 汇报,除非调用接口或用户明确要求。

Read more
@openraiser
Ships withpaperfit

Vision-in-the-Loop Academic Typesetting Agent System PaperFit 是面向 Claude Code、Codex、Cursor 的 LaTeX 论文排版 Agent System。你只需要在论文项目根目录描述目标,PaperFit 会自动完成编译、页图渲染、视觉诊断、源码修复与最终验收。 为什么需要 · 核心能力 · 效果展示 · 快速开始 · 安装 · 使用方法 · 工作流 · 架构

Stars on GitHub

Momentum

stars in total
334
Star history of OpenRaiser/PaperFit on GitHub, a chart by star-history.com

Other skills on paperfit.

taxonomy-vto
Auto-invoked

taxonomy-vto

本技能为 **Visual Typesetting Optimization (VTO)** 任务提供完整的视觉排版缺陷分类知识库。它是 `layout-detective-agent`…

@openraiser@openraiserInstall Skill
visual-inspector
Auto-invoked

visual-inspector

本技能是 PaperFit 视觉排版优化闭环中的关键环节,专门负责 **PDF 页图渲染与视觉验收指导**。它封装了将 PDF 转换为逐页高分辨率图片的标准化流程,并为 `layout-detective-agent` 和…

@openraiser@openraiserInstall Skill

More skills from other plugins.

prompt-lookup

prompt-lookup

Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…

@gh-f@gh-fInstall Skill
ppt-master

ppt-master

AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…

@hugohe3@hugohe3Install Skill
morph-ppt

morph-ppt

Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…

officecli12d33k
@iofficeai@iofficeaiInstall Skill

Questions about float-optimizer.

Which coding agents can use float-optimizer?
float-optimizer installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.