xiaomacoltai/论文手
根据题目、建模分析和真实代码结果生成内容一致的完整 Word 与 LaTeX 数学建模论文,也支持用户明确要求时只生成一种格式。
npx skills add https://github.com/XiaoMaColtAI/math-modeling-skill --skill 论文手
开始写作前先在进度更新中报告输入检查结果。题目、两个建模交付物、可运行代码、实际结果表格、三类每类至少 3 张且覆盖全部子问题的候选图或已核验文献任一缺失时,回退补齐,不要直接写论文。
当届官方规则或模板尚未核验时,论文手先完成核验;用户已明确启用“官方规则核验 Subagent”时,可让其与输入盘点并行取得官方 URL、适用届次、硬约束、模板路径与哈希。无论是否启用可选 Subagent,论文构建都必须等待规则核验完成。
<SKILL_ROOT>/tools/latex/scripts/latex_paper.py init 复制官方或内置模板;禁止另写一个临时 main.tex 替代模板链路。latex_paper.py doctor 检查所选引擎、参考文献后端、PDF 审计工具和 Pandoc(需要 Word 时);环境不完整立即报告,不把工具链检查拖到交付前。ROLE_ROOT:本文件所在目录。SKILL_ROOT:ROLE_ROOT/../../..,只读。PROJECT_ROOT:用户项目目录,论文只写这里。默认同时生成两种格式,并确保正文内容、数据、图表和结论一致:
PROJECT_ROOT/完整论文.docx。PROJECT_ROOT/完整论文-LaTeX/ 源码项目和由它实际编译的 PROJECT_ROOT/完整论文.pdf。用户明确只要一种格式时,只生成指定格式。当届官方提交要求仍决定实际可提交的版本;两份论文均仅供参考,格式和内容必须服从当届官方规则。
references/论文模板.docx 和 ../../../tools/docx/scripts/paper_format.py 为无官方模板时的构建基线;LaTeX 分支以 ../../../tools/latex/assets/templates/ 为构建基线。两者均不得声称替代当届官方文件。在生成前明确竞赛名称、届次、语言和官方规则来源。官方结构、页型、页边距、摘要页、页数、编号和提交格式均以当届规则为准。
同时明确篇幅质量目标。CUMCM 未取得当届更具体要求时,可用“约 15000 字词单位、约 20 页”规划完整度,但必须标注为可调整的质量目标,不能写成官方最低要求。以 2026 年官方规范为例,正文要求是不超过 30 页,并未规定最低 15000 字或最低 20 页。
无论目标竞赛为何,默认用至少 8 幅正式图规划论文证据链,其他竞赛不低于 CUMCM;每幅图都要有连续编号、题注和正文引用。当届官方规则或用户明确要求与此冲突时,以其要求为准并记录依据。
题目分析报告.md、术语表格.md、全部真实运行表格、图和代码。W1 证据大纲门禁;未返回 PASS 不得先写后补。../../../tools/docx/SKILL.md 构建 DOCX,公式使用原生 OMML;已有完整 LaTeX 主稿时可通过 convert_latex 生成内容一致的 Word 初稿,再按官方 DOCX 模板修正。LaTeX 使用 ../../../tools/latex/SKILL.md 复制完整官方模板项目、填充源码并真实编译 PDF。W2 论文终检;未返回 PASS 不得宣称完成或交付论文。W1:质检 Subagent 核对每个必须回答的结论类型都有精确证据路径,摘要拟用关键数值与结果表一致,图表、公式和引用都有章节落点,Word 与 LaTeX 共用同一证据源。证据大纲只保留在内部检查中,不新增固定交付物。W2:用户要求的全部格式冻结且各自确定性命令全部返回 0 后,质检 Subagent 核对当届规则、主张—证据、数值与单位、图表引用、文献和实际渲染效果;同时生成两种格式时再检查 Word/LaTeX 一致性。失败时精确到页码、章节、命令或来源并返回对应角色。两次门禁均按 ../../../references/Subagent调度.md 返回证据;正文、数据、图表或规则发生实质变化时重跑受影响门禁。
交付 Word 时依次运行:
python "<SKILL_ROOT>/tools/docx/scripts/paper_format.py" validate "<PROJECT_ROOT>/完整论文.docx" --contest cumcm --rendered-pages <DOCX实际渲染页数>
python "<SKILL_ROOT>/tools/docx/scripts/office/validate.py" "<PROJECT_ROOT>/完整论文.docx"
python "<SKILL_ROOT>/tools/docx/scripts/equations.py" verify-conversion "<PROJECT_ROOT>/完整论文.docx"
最后一条仅适用于由 equations.py generate/convert-latex 生成的 DOCX;若 Word 由 paper_format.py 直接构建,则改为核对其自身质量报告和复现清单。交付 LaTeX 时依次运行:
python "<SKILL_ROOT>/tools/latex/scripts/latex_paper.py" doctor --engine xelatex --bibliography-backend <none|bibtex|biber> --need-pandoc
python "<SKILL_ROOT>/tools/latex/scripts/latex_paper.py" build "<PROJECT_ROOT>/完整论文-LaTeX/main.tex" --engine xelatex --publish "<PROJECT_ROOT>/完整论文.pdf"
python "<SKILL_ROOT>/tools/latex/scripts/latex_paper.py" validate "<PROJECT_ROOT>/完整论文-LaTeX/main.tex" --pdf "<PROJECT_ROOT>/完整论文.pdf" --contest cumcm --quality-checks --questions q1 q2 q3 --min-image-dpi 300 --max-pages <当届官方正文上限> --body-start-page <正文起始页> --appendix-start-page <附录起始页>
根据目标竞赛、实际子问题和官方模板替换 contest、--questions、引擎、参考文献后端、正文起始页、附录起始页及正文页数上限;没有附录时省略 --appendix-start-page。复制权威代码或图表到 LaTeX 项目后,先按 LaTeX 工具说明执行 bind,再编译和校验。构建警告默认阻断 完整论文.pdf 发布;只有已核对警告才能同时提供 --allow-warning 与 --override-reason。降低默认质量目标也必须通过 --override-reason 记录官方条款或用户要求。任一命令退出码非零即回到论文构建步骤修正;缺少运行环境即明确报告阻塞,不得交付未通过版本。最终回复必须报告篇幅、PDF 总页数、正文页数、公式数、图数、表数、子问题图覆盖、引用核验、资源/源码/PDF 哈希绑定和全部命令退出码。
上述命令只完成作者侧技术校验,不替代 W2 独立验收。
| 情形 | 读取 |
|---|---|
| 开始写作 | references/工作流程.md |
| 组织章节 | references/章节模板.md |
| 生成 Word | references/论文格式规范.md、../../../tools/docx/SKILL.md |
| 生成 LaTeX | references/LaTeX格式规范.md、../../../tools/latex/SKILL.md |
| 中文写作检查 | references/写作规范.md |
| 英文 MCM/ICM | references/英文化工作流.md |
| 交付前 | references/自审框架.md |
| 阶段内独立验收 | ../../../references/Subagent调度.md |
内部分析表、核对清单和临时 Markdown 不作为交付物。
Take xiaomacoltai/论文手 from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.