基于国自然标书篇幅预算标准;检查目标标书篇幅并总结差距;给出针对性优化建议;在尽量不改变原意的前提下扩写/压缩到达标。
目标:把“篇幅”从主观感觉变成可量化、可闭环的指标,并围绕预算(budget)指导扩写/压缩。
<workdir>/.nsfc-length-aligner/ 托管所有中间文件与报告length_report.*、临时分析稿、计划文件写到工作目录根层或仓库其他位置--out-dir,优先使用相对路径 .nsfc-length-aligner;脚本会将相对 --out-dir 解析到 --input 对应的工作目录,而不是 shell 当前目录先确认你要对齐的“硬标准”是什么:
说明:本 skill 默认使用 config.yaml:length_standard 的示例口径(已对齐 2026 调研建议)。你应按当年指南/模板校对后再使用。
对目标标书目录(或单文件)运行检查脚本,生成报告:
python3 scripts/check_length.py --input <目标标书路径> --config config.yaml
如需显式声明输出目录,请使用:
python3 scripts/check_length.py --input <目标标书路径> --config config.yaml --out-dir .nsfc-length-aligner
如果你的标书基于 NSFC_Young / NSFC_General 模板(项目根目录包含 main.tex),建议把 --input 指向项目根目录:脚本会自动沿 main.tex 的 \input/\include 依赖树收集“实际会编译进 PDF 的文件”,并忽略被注释掉的 \input{...}(避免把可选章节误计入篇幅)。
如果你已编译出最终 PDF(推荐;页数是硬约束),把 PDF 一并传入做页数统计:
python3 scripts/check_length.py --input <目标标书路径> --config config.yaml --pdf <标书.pdf>
输出:
<input>/.nsfc-length-aligner/length_report.md(默认输出目录;可用 --out-dir 自定义)<input>/.nsfc-length-aligner/length_report.json(默认输出目录;可用 --out-dir 自定义)注意:--out-dir 若使用相对路径,会被解析到 <input> 对应的工作目录下;这能避免从其他目录启动命令时把报告误写到 shell 当前目录。
运行完成后,必须读取 length_report.md(必要时辅助读取 length_report.json),将“文件级偏差表 +(可选)章节级统计”作为步骤 3 的输入。
基于报告做 3 件事:
章节级数据用法(更精准定位):
length_report.md 出现章节表格(或 JSON 中存在 sections 字段),优先在“超长/偏短”的文件内,定位到贡献最大的具体章节,再做定点改写,而不是只在文件级做平均删改参考:references/MEANING_PRESERVING_REWRITE_RUBRIC.md
⚠️ 改写完成后,必须执行步骤 5 复检,确认偏差已消除。未复检视为未完成。
用法(把“静态建议”变成“按差距触发”):
delta:+N 表示超长(优先“该瘦”);-N 表示偏短(优先“该厚”);OK 表示该部分无需为了预算而改动delta 的绝对值越大,越优先处理;处理顺序建议:先改 |delta| 最大的文件,再做次大项立项依据(为什么做):
研究内容(做什么/怎么做):
研究基础(为什么你能做):
改完必须再次运行脚本,确认“达标且不超标”:
python3 scripts/check_length.py --input <目标标书路径> --config config.yaml
config.yaml:length_standard 为唯一真相来源config.yaml:output_settings.intermediate_dir(默认 .nsfc-length-aligner)