2.9 KiB
2.9 KiB
| name | description |
|---|---|
| proposal | 撰写科研申报书/课题立项书 (国自然、省基金、横向项目、校级课题)。当用户要写课题申请、立项依据、研究计划、技术路线、本子时使用。 |
科研申报书
工作流
- 对齐课题信息: 不要急着写正文。先与用户确认并落到
project.md:- 研究方向 / 拟解决的关键科学问题
- 创新点 (3 条以内,要"小而尖")
- 技术路线骨架
- 应用场景与受众
- 分章节起草: 每章一个 .md 文件,不要一次性出全文 —— 单章写完先给用户看,定调后再下一章
- 合并定稿: 用
run_python+ python-docx,把各章节 md 套模板渲染成 .docx
工作目录约定
proposal/
├── project.md # 课题信息卡片
├── sections/
│ ├── 01_background.md # 立项依据
│ ├── 02_objectives.md # 研究内容与目标
│ ├── 03_method.md # 拟采取的研究方案
│ ├── 04_innovation.md # 特色与创新
│ ├── 05_basis.md # 研究基础
│ └── 06_cv.md # 申请人简介
└── proposal.docx # 最终输出
字数(国自然青年示例,其他基金按实际套)
| 章节 | 推荐字数 |
|---|---|
| 立项依据 | 5000-8000 |
| 研究内容与目标 | 2000-3000 |
| 研究方案 | 3000-5000 |
| 特色与创新 | 800-1500 |
| 研究基础 | 1500-2500 |
| 申请人简介 | 1000-2000 |
超出/不足都不专业,严格控字数。
硬规则
- 文献必须真实: 不可编造作者、年份、DOI、期刊。需要引用先告诉用户来源,让用户提供文献清单
- GB/T 7714 顺序编码制: 引文 [1][2][3]...,文末参考文献顺序对应
- 不堆形容词: "首次提出""填补空白""国际领先" 一律不用,除非用户明确要这种话术
- 逻辑先行: 立项依据按 "现状 → 问题 → 本课题切入点" 三段式;研究方案按 "目标 → 任务分解 → 技术路线 → 可行性"
合并 docx 模板
from docx import Document
from docx.shared import Pt
from pathlib import Path
doc = Document()
style = doc.styles['Normal']
style.font.name = '宋体'
style.font.size = Pt(12)
sections = sorted(Path("proposal/sections").glob("*.md"))
for sec in sections:
text = sec.read_text(encoding="utf-8")
for para in text.split("\n\n"):
para = para.strip()
if not para:
continue
if para.startswith("# "):
doc.add_heading(para[2:], level=1)
elif para.startswith("## "):
doc.add_heading(para[3:], level=2)
else:
doc.add_paragraph(para)
doc.save("proposal/proposal.docx")
反模式
- 用户没给课题就开始硬编内容
- 一次性出全文 (用户没法迭代)
- 引文里写 "[Smith et al., 2023]" 但其实根本没这篇文献