TOOLS · 1.2.0

工具负责确定性工作,角色负责建模判断

从检索、运行、绘图到 Word 与 LaTeX/PDF 发布,重复且易错的步骤交给脚本;模型选择和证据判断仍由角色流程控制。六个工具子 skill 全部从 SKILL_ROOT 只读加载,产物只写入 PROJECT_ROOT

01 / FIGURES

科研可视化:从数据剖析到出版级成图

v1.2.0 新增的 tools/figure/ 子 skill,融合 nature-figure 的图表契约与 scipilot-figure-skill 的数据剖析、选图决策与自检闭环,覆盖从拿到数据到投稿级成图的完整链路,支持 Python 与 MATLAB 双后端。

第 1 步 · 数据剖析

profile_data.py 自动识别每列类型、样本量、缺失率、偏度、异常值、分组结构与相关性矩阵,并给出初步图型建议——先理解数据,再决定画什么。

第 2 步 · 图表契约

写代码前先填五点契约:核心结论、证据链、版型(quantitative grid 等)、后端(Python/MATLAB)、期刊导出规范。让每张图都有明确的论证目标,而不是随手一画。

第 3-4 步 · 选图决策与期刊规范

按数据形态与论证意图选图型:同一批数据不同论点对应不同图;再查目标期刊的栏宽、字号、DPI 与矢量偏好。

第 5-6 步 · 配环境与绘制

setup_style.py 提供 Nature / Science / IEEE / Elsevier 等期刊预设与 CJK 字体;按 plot_recipes.md 的配方绘制,强制最终尺寸、色盲友好配色与冗余编码。

第 7-8 步 · 自检闭环与导出

语义层 18+ 条避坑清单 → 形式层投稿合规清单 → 视觉层程序自检 + AI 读图 8 项清单,最多三轮回改;export_figure.py 同时输出 SVG + 300 DPI PNG + 灰度预览。

第 9 步 · 文件审计

check_figure.py 检查单张图格式合规(DPI/字体/尺寸/矢量);figure_audit.py 校验三类图数量与子问题覆盖,作为数学建模 P2 终检门禁。

数据剖析

列类型 / 样本量 / 缺失率 / 偏度 / 异常值 / 分组结构 / 相关性矩阵,输出建议图型。

图表契约

核心结论 → 证据链 → 版型 → 后端 → 期刊规范,五点契约写代码前强制填写。

选图决策

变量类型 × 论证意图 × 数据规模三维框架;全文图型 ≥ 3 种,反冗余。

自检闭环

18+ 避坑清单 + 投稿合规 + 程序自检 + AI 读图 8 项,最多三轮回改。

出版级样式

按最终尺寸出图、矢量优先、色盲友好配色 + 冗余编码、7-9pt 字号、误差必有交代(SD/SEM/95% CI + n)。

多格式导出

SVG + 300 DPI PNG + 灰度预览;9 个脚本覆盖剖析、样式、导出、自检、布局、审计全链路。

脚本职责
profile_data.py数据剖析,输出列类型 / 样本量 / 偏度 / 建议图型
setup_style.py期刊预设 + CJK 字体 + SciencePlots 包装
export_figure.py多格式导出(PDF/SVG/PNG)+ 灰度预览 + fonttype 42
visual_qa.py程序自检:缺字 / 裁切 / 重叠 / 刻度重叠
check_figure.py文件级合规:DPI / 字体 / 尺寸 / 矢量格式
layout_tools.py子图标签对齐与版面兜底
validate_figure.py源码级审计:字体、色图、导出设置
style_constants.py色板 / 线宽 / 字体常量与工具函数
python "/tools/figure/scripts/profile_data.py" data.csv --group group
python "/tools/figure/scripts/check_figure.py" "/figures" --strict
数学建模场景:三类图体系 raw_/process_/result_,每类至少 3 幅、合计至少 9 幅,全部子问题覆盖,由 figure_audit.py --strict 在 P2 终检时拦截。

03 / LATEX & PDF

在官方模板副本中构建可验证 PDF

从官方或内置模板创建、编译并校验 LaTeX 论文项目,支持 XeLaTeX、LuaLaTeX 与 pdfLaTeX,从环境诊断到最终 PDF 全程可验证。

环境诊断

doctor 在写作文前检查引擎、参考文献后端、Pandoc 与 PDF 审计工具是否可用,按官方模板选择配置。

真实编译

在隔离的官方模板副本中编译,阻断未解析引用、字体和版面预警,不静默忽略。

哈希绑定

latex_paper.py bind 用 SHA-256 把权威代码、数据、图表与 LaTeX 项目副本绑定,缺失、未绑定或漂移都阻断发布。

PDF 质量审计

检查正文与附录页数、空白页、字体嵌入、页面尺寸与图片 DPI。

python tools/latex/scripts/latex_paper.py doctor --engine xelatex --need-pandoc
python tools/latex/scripts/latex_paper.py build "完整论文-LaTeX/main.tex" --publish "完整论文.pdf"
v1.2.0 起 LaTeX 论文改为可选:默认只生成 Word,用户显式要求时才生成 LaTeX 源码项目并实际编译。

04 / DOCX

官方模板驱动的 Word 论文

默认论文交付路径:继承官方模板的页面、样式与分节,用代码稳定写入内容,公式转原生可编辑 OMML。

模板继承

保留官方模板的页面设置、样式、分节、页眉页脚与编号;模板含固定摘要页时原位填充,只借用样式时清除示例正文。

原生公式

常用 LaTeX 严格转换为可编辑 Word OMML 公式;完整 LaTeX 主稿可经 Pandoc 生成 DOCX 初稿。

三线表与修订

支持三线表生成、修订与批注,适配数学建模论文规范。

结构校验

完成 OOXML、图表引用、篇幅和渲染页数检查,发布前拦截模板占位符残留。

python tools/docx/scripts/paper_format.py inspect "当届官方模板.docx"
python tools/docx/scripts/self_check.py
DOCX 转换不能替代 LaTeX 编译;两个分支分别校验,并核对结论、表格与数值是否一致。

05 / XLSX

模板保留、公式重算与错误检查

读取、创建、修改和验证 XLSX,适合题目指定输出、需保留公式、多工作表或模板结构的场景;普通结果汇总优先 CSV。

  • 读取附件时显式声明是否有表头,并断言首行、末行和预期行数
  • 无表头数据使用 header=None 或内置精确读取工具,不再让默认表头吞掉首行
  • recalc.py 对公式重新计算并检查单元格错误
  • 输入只读,输出写入 PROJECT_ROOT,不覆盖题目原始附件
rows = read_excel_rows(
    "data/input.xlsx",
    header=False,
    expected_rows=7470,
)

06 / PDF

读取题目 PDF,提取文本、表格与图片

处理题目与附件 PDF,把内容交给建模手和编程手使用,支持从读取到表单处理的完整操作。

内容提取

读取文本、表格与图片,保留结构信息供建模分析使用。

页面操作

合并、拆分、旋转页面,添加水印。

表单处理

检查可填写字段、提取表单结构、按坐标填充 PDF 表单。

安全与 OCR

加密 / 解密 PDF,扫描件经 OCR 转为可检索文本。

所有工具都从 SKILL_ROOT 读取,只把产物写入 PROJECT_ROOT

07 / REPRODUCIBILITY

一次任务,一条唯一复现命令

编程手交付 results/复现清单.json,把一次完整的建模运行固化为可复现的证据链。

输入证据

记录输入文件 SHA-256、随机种子和关键参数。

运行环境

记录 Python/MATLAB 版本、依赖包或工具箱,以及可直接执行的命令。

  • 复现清单与代码、数据、结果、论文建立哈希绑定
  • 任一步骤缺失或哈希漂移都会阻断完成判定

让模型、代码和论文保持一致

从当前任务需要的阶段开始,不加载无关资源。

安装 v1.2.0