本文へ移動
cccskills
無料GitHub で公開

latex-paper-formatter

当使用者说“整理建模论文 LaTeX”“修编译错误和引用”“统一公式、表格和图注”“按比赛模板排版”“检查交叉引用与缺图”时使用。先冻结内容并做基线编译,再在不改变数学含义、数字、引用或作者措辞的前提下修结构、符号格式、标签、表图、文献与版面;运行静态检查和实际编译,记录引擎、命令、警告与输出。

只格式化和诊断,不补造公式、结果、来源或论文内容。

インストール方法を見る

含まれるファイル(3)

  • SKILL.md11.3 KB
  • references/latex-conventions.md3.7 KB
  • scripts/check_latex.py37.4 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

LaTeX 建模论文排版 / LaTeX Paper Formatter

把内容已经冻结的建模论文整理成可编译、可追踪、符合正式模板的 LaTeX。格式问题与内容问题分开处理: 发现公式疑似错误时报告给作者,不借“排版修复”擅自改数学。

何时使用 / When to use

  • 论文内容基本确定,需要套官方 class / template 并统一格式
  • 有未定义引用、重复标签、缺图、bibliography 或编译警告
  • 公式环境、编号、符号样式、单位、表格、图注与交叉引用不一致
  • 页面溢出、表格裁切、浮动体乱序、公式断行或 PDF 视觉检查不过
  • 需要记录可复现的编译命令、引擎、警告和最终 PDF

不适用于 / Not for:

  • 需要改变论文主张、章节论证或补分析 —— 用 paper-structure-coach / paper-enhancement-builder
  • 需要修改模型方程、数据或代码 —— 方程与假设用 modeling-assumption-builder,数据处理与代码用 modeling-code-builder
  • 要求补写引用、实验或结果以“填满版面” —— 本 skill 不生成内容
  • 只有 Word / Google Docs 且不需要 LaTeX —— 使用对应文档格式工具

需要的输入 / Inputs

输入必填说明
LaTeX 根文件是主 .tex、子文件、class / style、bibliography 与图表路径
官方模板 / 规则是编译引擎、页数、纸张、字号、匿名、参考文献和附件规则;没有时保留项目现状
内容冻结范围是哪些文字、公式、数字、图表和引用不允许改变
构建方式否Makefile、latexmk、tectonic 或项目命令;已有命令优先
目标环境否本地 / CI / Overleaf、TeX 发行版与版本;用于解释差异
当前日志 / PDF否用于定位错误和做前后视觉对照

材料不全时先做静态审计,不新建一套假定模板。正式比赛规则若无法核对,标 unverified 并请使用者提供, 不能凭往届经验补页数或匿名要求。

内容冻结 / Content preservation

格式化前记录内容指纹或至少保存 diff 基线,并把改动分成三类:

  • 安全机械项:空白、环境、label / ref 连接、文件路径、模板明确要求的样式
  • 需作者确认:符号冲突、单位不一致、疑似错公式、数字精度、图表与正文矛盾、缺引文
  • 禁止补造:新公式、结果、引用元数据、作者信息、实验与结论

公式的括号、上下标、求和范围、微分变量、向量 / 标量、负号和单位都可能改变含义,不属于纯视觉字符。

流程 / Process

1. 识别模板与构建合同

读取根文件、class / style、构建脚本和正式规则,确定:

  • 根入口、引擎、bibliography backend 与完整构建命令
  • 允许 / 禁止的 package 和模板不可改区域
  • 纸张、边距、栏数、字号、页数、匿名与附件要求
  • 生成图表、参考文献和最终 PDF 的依赖

遵循已有模板,不把个人偏好的 class、字体或 package 强加进去。

2. 先做基线静态检查与编译

运行:

python3 scripts/check_latex.py path/to/main.tex

命令里的 scripts/ 相对本 skill 目录;在别的目录运行时写脚本的完整路径。不加 --root 时,读取范围是当前目录 (它包含全部根文件时)或根文件所在目录;论文用到这个范围以外的文件(例如 ../figures/)时,加 --root <论文项目根>。 脚本按 TeX 的规则从根文件所在目录解析 \input / \include、bibliography 和 figure 路径(子文件里写的也一样),逐级比对 磁盘上文件名的大小写(macOS 默认不分大小写也照报),并检查 label / ref、常用 natbib / biblatex citation、手工编号(含 “公式 (3)”“式(5)”)和占位符;它不判断数学正确,也不能代替编译。--selftest 运行脚本自带的回归用例。

随后运行项目原有构建命令并记录:引擎 / 版本、命令、退出状态、首个根因错误、未定义引用、重复 label、缺字形、 overfull / underfull box、package conflict 与 PDF 页数。若不能编译,保留状态 not-run 或 failed,不能写“已修复”。

3. 建格式审计表

按类别列位置、现状、目标、是否会影响内容和验证方式:

  1. 模板与文档结构
  2. 符号、数学环境、编号和交叉引用
  3. 单位、数值精度与符号首次定义
  4. 表格、图、图注、浮动与可读性
  5. bibliography、citation、数据 / 图表来源
  6. 页眉页脚、目录、匿名、页数与提交要求
  7. 构建、路径、生成文件与复现

遇到数学、数字、来源或作者决定,移入“需确认”,不要在同一补丁里猜。

4. 小批修改机械格式

优先从最可证伪的根因开始,每批只处理一类:

  • 用稳定 \label + \ref / \eqref 替代手工编号
  • 将错误数学环境换成语义等价环境,保持表达式原样
  • 统一已有符号命令、向量 / 矩阵 / 算子样式和单位接口
  • 按模板整理表格宽度、列标题单位、精度、图尺寸与图注
  • 修 bibliography 连接与已有、已核对条目的格式
  • 修相对路径、文件大小写、构建顺序和生成文件位置

详细约定按需读 references/latex-conventions.md。新增 package 前检查 class、现有 package、目标引擎与比赛模板, 不为一项局部格式引入冲突。

每个实质批次后立刻重新静态检查和编译;失败就修当前局部,不继续堆改动。

5. 处理警告与版面

  • 错误、未定义 ref / cite、重复 label 与缺文件必须清零
  • overfull 逐项定位:先修长公式 / 表 / URL / 不可断文本,不全局缩字号
  • underfull 结合 PDF 目视判断,不为消除日志数字制造更差排版
  • 浮动体按论证顺序靠近首次引用,不用大量 [H] 把页面挤坏
  • 表图过宽时优先修源、拆表或横置,不把文字缩到不可读
  • 页数超限先回到内容结构删重复,不能通过改官方边距或字号作弊

6. PDF 视觉验收

在目标纸张和实际缩放检查:封面 / 匿名、目录、页码、空白页、章节层级、公式断行、表格裁切、图中文字、图注、 参考文献、附录与最后一页。对照冻结基线确认数字、符号、公式、引用目标和结论没有变化。

编译通过不代表视觉通过;视觉通过也不代表内容正确。

7. 交付审计与复现记录

输出修改文件、机械改动、需作者确认项、静态检查结果、编译命令 / 环境 / 状态、警告和 PDF 路径。 有改动无法验证时明确说明,不把“理论上应当”写成完成。

输出格式 / Output

## 格式审计
| 类别 | 位置 | 发现 | 拟修 / 已修 | 是否影响内容 | 验证状态 |

## 符号与单位
| 符号 / 数值 | 含义 | 单位 | 首次定义 | 冲突 / 决定 |

## 交叉引用与资源
| 对象 | label / key / path | 引用位置 | 状态 |

## 编译验证
- root / template:
- engine / version:
- command:
- static check:
- compile result:
- warnings:
- page count / PDF:

## 内容保全
- 仅格式改动:<文件 / 类型>
- 需作者确认:<公式、数字、来源或措辞>
- 未验证:<工具或环境缺口>

工具与跨 Agent 降级 / Tool fallback

  • 能读写和执行时:基线检查 -> 小补丁 -> 静态检查 -> 编译 -> PDF 目视验收。
  • 只能读不能写时:给定位明确的审计和最小 diff 建议,不声称文件已修。
  • 能写不能编译时:只做低风险机械改动,返回准确命令并将编译标 not-run。
  • 没有 Python 时:按脚本检查项人工审计;没有 TeX 时:静态检查不能冒充编译。
  • 没有 PDF 查看能力时:报告编译状态,并把视觉验收列为必须由使用者完成的未决项。
  • 不依赖某个 Agent API;脚本只用 Python 标准库,核心步骤可由任意 shell / 编辑器映射。

边界 / Boundaries

  • 不改数学含义:疑似错误只报告并询问,不能顺手“修正”。
  • 不补写内容:不添加模型、推导、实验、结果、限制或结论来填版面。
  • 不造引用:作者、标题、年份、DOI、页码与访问日期必须可核对;缺 key 不代表可以编一条。
  • 不改官方模板作弊:不缩边距、字号、行距或隐藏内容绕页数与匿名规则。
  • 不把静态检查当编译:脚本没发现问题不等于 TeX 或 PDF 正确。
  • 不把编译成功当内容正确:LaTeX 能排出错误方程和虚假数字。
  • 不静默覆盖用户宏与样式:先判断其用途和调用范围,局部修复优先。
  • 不隐藏警告与未验证项:失败、未运行、通过有警告、完全通过分开报告。
  • 不代替作者最终核对:公式、数字、署名、匿名、引用和 PDF 提交前由团队逐项确认。

Token 控制 / Token discipline

  • 先读根文件、导言区、构建脚本和日志首个根因,不默认展开所有子文件
  • 静态脚本一次扫描交叉引用与资源,避免逐个手搜
  • 编译日志只保留错误上下文与警告摘要;完整日志留文件
  • 按错误类别小批修改,验证后再进入下一类
  • 视觉检查按页记录问题,不把 PDF 全文转成对话文本

参考资料 / References

  • references/latex-conventions.md —— 数学、单位、表格、图、文献、构建与视觉约定
  • scripts/check_latex.py —— 标准库静态检查;支持项目根限制、多个根文件、--json、--strict 与 --selftest; 退出码 0 无 error,1 有 error(--strict 时 warning 也算)或自检失败,2 命令行用法错误
  • ../_shared/paper-argument-checklist.md —— 需要判断表图与主张职责时读取,不用于改内容

变更记录 / Changelog

版本日期变更类型
0.1.12026-09-26check_latex.py 改按根文件目录解析 \input、bibliography、图片与 \graphicspath,只在子文件目录下成立的路径报错;逐级比对真实文件名大小写(macOS 上也报);补中文“公式 (3)”“式(5)”手工编号与带点文件名补 .tex;不传 --root 时从 skill 目录照文档运行也能读到论文;新增 --selftest;“不适用于”改为实名路由patch
0.1.02026-08-17初始草稿:内容冻结、基线编译、机械格式批次、静态检查脚本与 PDF 视觉验收minor

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

当学生说"Common App 活动栏写不下"、"这段活动描述超字数了"、"帮我把这几条压到限制内"时使用。先按官方申请表核对当季字符限额,再逐条检查;一次把所有条目量完并直接给出压缩版,只在需要砍掉实质内容时才用选择题问该保哪部分。每改一版都用工具重新数一遍字符,绝不凭感觉说"这样应该够了"。只压缩,不代写空白。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills42026年10月17日 更新

当学生说"我参加过一些活动但没整理过"、"帮我把经历录进去"、"我的活动档案是空的"时使用。让学生一口气把记得的活动说出来,直接把这段话拆成结构化的长期事项(角色、组织、起止时间、做了什么、结果、级别),说不清的字段留空标"待补"而不是编,再用一张选择题卡把级别判定与是否重复这类关键项一次问完,然后提案入库。只记录学生真正说出口的内容,级别按事实判定,绝不往高了写。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills42026年10月17日 更新

当学生问"招生官会怎么看我的档案"、"我的背景还差什么"、"帮我评估一下现在的申请竞争力"时使用。以顶尖大学招生官的视角通读学生的档案、长期活动与已写下的反思,不问任何前置问题直接产出一份指名道姓的坦诚点评:这份材料的亮点、招生官真实的解读方式、明显的短板与空白、以及接下来最值得做的一到两件事。只读不写,不修改学生的任何数据,也不代写任何申请材料。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills42026年10月17日 更新

当使用者说"帮我填词"、"按这个字数模板写歌词"、"用多Agent对抗式写词"、"这首副歌帮我想几句"时使用,前提是字数骨架和这首歌写什么都已经有了;只有主题、还没定写什么时先用 lyric-concept-builder。拿一份字数骨架和意象系统,派三个 sonnet 子代理按不同路子并行独立起草(场景派 / 口语派 / 意象派),再派一个红队子代理逐句挑毛病,主 Agent 按句裁决拼稿,最后统一辙口与意象。收敛判据卡死:字数用 lyric-doctor 的脚本对模板数、每段同辙、hook 不含陈词、主歌二对主歌一有推进。不抄现有歌词,不替使用者决定这首歌要说什么。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills42026年10月17日 更新

当想知道一段 AI 回答"哪些能直接用、哪些必须先验证、哪些只能当建议"时使用。按声明类型分四级——低风险草稿材料、观点与策略建议、可查证的事实声明、会改变状态的可执行指令——每级配一句默认处置动作;再按影响半径排序,给出最小的下一步检查。可执行类一律标"不能直接执行;先做代码审阅/沙箱测试/回滚准备",其中破坏性或提权的命令排在最前。教的是一套可复用的复查习惯,不是替使用者把所有内容都核实一遍:本 skill 只分级、排序、定处置,要逐条核实走 ai-output-fact-checker,整段代码要做入库体检走 ai-code-onboarding-checklist。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills42026年10月17日 更新

当拿到一段 AI 生成的代码,还没决定要不要信、要不要跑、要不要往上继续加东西时使用。先做一遍客观体检:行数与嵌套深度、有没有测试、有没有硬编码密钥或遗留 TODO、依赖是不是真实存在、有没有危险调用(eval/exec、shell=True、递归删除、反序列化、提权、外发网络,按正文给的 grep 模式逐类查);再给风险评级和下一步动作。老实写明它查不了算法正确性——体检通过不等于代码是对的。回答里文字、事实和代码混在一起时先用 ai-answer-triage 分级;只审相对已有代码的一份改动用 ai-diff-review-protocol。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills42026年10月17日 更新

ChromiteCr のスキルをすべて見る

このスキルの問題を報告する