论文格式排版技能(paper-format)
把用户提供的论文内容,按照标准学术论文格式规范排版成 Word(.docx)文件;
也可以对照规范检查已有论文的格式问题。完整格式规范见本目录 reference.md。
什么时候用
- 用户说"帮我排版论文 / 按这个格式生成论文 / 论文模板 / 论文骨架 / 投稿格式"
- 用户给出一份格式规范,要求按规范生成或检查论文
- 用户问论文格式对不对(进入"格式检查模式")
生成流程
第一步:问用户需要哪些部分(必做)
除非用户在请求里已经说清楚了要哪些部分,否则用 AskUserQuestion 一次问两个问题:
问题1「需要论文哪些部分?」(header: 论文部分,multiSelect: true):
- 全部部分(推荐)—— 题目+中英文摘要关键词+目录+正文+参考文献+附录+致谢
- 题目+摘要+关键词 —— 只要中英文题目、摘要和关键词
- 正文骨架 —— 只要带三级标题的正文(含图表公式示例)
- 参考文献+附录+致谢 —— 只要文末部分
问题2「内容怎么准备?」(header: 内容来源,multiSelect: false):
- 先出空骨架(推荐)—— 生成带占位提示的骨架,之后再逐步填内容
- 我提供内容 —— 用户把题目、摘要、关键词、正文等发过来,一次排版到位
第二步:收集内容(如用户选择提供内容)
需要的信息:
- 中文题目(≤20字)与英文题目
- 中文摘要(约200字,创新点用
**...**包裹以便转成黑体) - 中文关键词(3-8个)
- 英文摘要(创新点用
*...*包裹以便转成斜体)、英文关键词(全小写) - 正文:各级标题和段落(段落里的
[1]会自动变上标引用) - 参考文献条目、附录、致谢(可选)
用户没提供的部分一律用占位提示文字,不要编造学术内容。
第三步:生成文档
- 把配置写成 JSON 文件(格式见下方"配置文件格式"),存到本技能目录下,例如
paper_config.json。 - 运行技能自带的脚本(
scripts/make_paper.py在本技能目录下,先进入技能目录再执行):
输出路径可选:在命令行第二个参数指定,或在配置里写cd scripts && python make_paper.py ../paper_config.json 输出文件.docx"output"。不指定时默认存到桌面论文.docx。 - 用大白话告诉用户:文件存在哪里;打开 Word 后右键目录 → "更新域" → "更新整个目录",目录页码才会显示出来。
样例配置可直接参考 examples/sample_config.json。
配置文件格式(JSON)
{
"output": "我的论文.docx",
"parts": ["title", "cn_abstract", "en_abstract", "toc", "body", "references", "appendix", "acknowledgement"],
"title": {"cn": "中文题目", "en": "English Title"},
"cn_abstract": {"text": "摘要正文,创新点写成 **提出了……**", "keywords": ["词1", "词2", "词3"]},
"en_abstract": {"text": "Abstract text, innovations in *italics*.", "keywords": ["word1", "word2"]},
"body": [
{"type": "h1", "text": "1 绪论"},
{"type": "h2", "text": "1.1 研究背景"},
{"type": "h3", "text": "1.1.1 国内现状"},
{"type": "p", "text": "正文段落,引用文献写作[1]会自动变成上标。"},
{"type": "table", "title": "表2.1 表名", "data": [["列1", "列2"], ["值", "值"]], "note": "①注释一。②注释二。"},
{"type": "figure", "image": "图片路径(可选)", "width": 8, "caption": "图1 图名"},
{"type": "formula", "text": "y = ax + b", "number": "(1)"},
{"type": "pagebreak"}
],
"references": ["[1] 作者.题名[J].刊名,年,卷(期):页码."],
"appendix": [{"title": "附录1 标题", "blocks": [{"type": "p", "text": "内容"}]}],
"acknowledgement": "致谢正文"
}
说明:
parts省略时默认生成全部部分;用户选了什么就只写什么。- 表格自动排成三线表;
figure不带image时输出"此处插入图片"占位。 - 表序两级(表2.1),图序一级(图1)。标题最多三级,禁止出现四级标题。
内容红线(生成或润色文字时必须遵守)
- 题目 ≤20 个字,不用不常见的英文缩写。
- 中文摘要约 200 字,第三人称,不能出现"本文""论文"字样,不能有公式、图、表、参考文献序号;创新点必须用黑体列述。
- 关键词 3-8 个,分号隔开;英文关键词一律小写(英文缩写除外)。
- 英文摘要内容与中文摘要一致,创新点用斜体。
- 不要编造实验数据、参考文献和事实;用户没给就留占位文字。
格式检查模式
用户要求"检查论文格式"时:读取用户的文档(或让用户粘贴内容),对照 reference.md
末尾的检查清单逐项核对,用大白话列出不符合的地方和修改建议;不要直接改动用户原文。
依赖
- Python + python-docx(若缺失:
pip install python-docx)
