introduction-skill

内容来源:README.md(说明文档) · 原始地址 · 查看安装指南

原始内容


name: introduction description: | 学术论文引言写作全流程助手。从 Zotero 文献提取、PDF 摘要抽取、参考文献摘要汇总, 到引言撰写、引用-摘要交叉核验、中英文 DOCX 定稿输出。 TRIGGER when: 用户需要写论文引言、整理参考文献摘要、校核引用准确性、 或需要从 Zotero + PDF 批量构建文献摘要库。 Keywords: 引言, introduction, Zotero, 摘要, abstract, 参考文献, citation check, 校稿

学术论文引言写作全流程

本 skill 覆盖从文献管理到引言定稿的完整流程,适用于工程/力学领域的学术论文写作。


流程总览

Phase 1: 文献提取    Phase 2: 摘要汇总    Phase 3: 引言写作    Phase 4: 交叉校核    Phase 5: 定稿输出
┌──────────────┐    ┌──────────────┐    ┌──────────────┐    ┌──────────────┐    ┌──────────────┐
│ Zotero 导出   │ -> │ 英文摘要整理  │ -> │ 英文引言撰写  │ -> │ 逐条核对引用  │ -> │ EN .docx     │
│ PDF 提取      │    │ 中文翻译      │    │ 中英双语版本  │    │ 修正错配/删改 │    │ CN .docx     │
│ API 在线获取  │    │ 编号排序      │    │ 参考文献列表  │    │ 重编号        │    │              │
└──────────────┘    └──────────────┘    └──────────────┘    └──────────────┘    └──────────────┘

Phase 1: 文献提取与摘要获取

1.1 从 Zotero 导出参考文献列表

用户提供 zotero 导出文件(.sqlite.txt),使用 Python 脚本提取:

方式 A — 从 SQLite 数据库读取(推荐,信息最全):

import sqlite3
db = sqlite3.connect("zotero_copy.sqlite")
rows = db.execute("""
    SELECT iv_doi.value, iv_abs.value, iv_title.value
    FROM items i
    JOIN itemTypes it ON i.itemTypeID = it.itemTypeID
    LEFT JOIN itemData id_doi ON i.itemID = id_doi.itemID AND id_doi.fieldID = 8
    LEFT JOIN itemDataValues iv_doi ON id_doi.valueID = iv_doi.valueID
    LEFT JOIN itemData id_abs ON i.itemID = id_abs.itemID AND id_abs.fieldID = 2
    LEFT JOIN itemDataValues iv_abs ON id_abs.valueID = iv_abs.valueID
    LEFT JOIN itemData id_title ON i.itemID = id_title.itemID AND id_title.fieldID = 1
    LEFT JOIN itemDataValues iv_title ON id_title.valueID = iv_title.valueID
    WHERE iv_doi.value IS NOT NULL AND iv_doi.value != ''
""").fetchall()

方式 B — 从 Zotero 导出的文本文件(zotero_export.txt)解析:

通过正则匹配 DOI: 和摘要段落,提取作者、标题、DOI、摘要。

1.2 从 PDF 文件提取摘要

对于 Zotero 中缺失摘要的文献,从本地 PDF 文件提取:

import PyPDF2
reader = PyPDF2.PdfReader(pdf_path)
text = ""
for pn in range(min(3, len(reader.pages))):  # 只读前3页
    text += (reader.pages[pn].extract_text() or "") + "\n"
# 正则匹配 Abstract 段落
import re
m = re.search(r'(?:Abstract|A B S T R A C T)[:\s-]*\n?(.+?)(?:\n\n|\n(?:\d\.|[A-Z][a-z]+\s))',
              text, re.DOTALL)
if m:
    abstract = ' '.join(m.group(1).split())

注意事项:

  • 有些 PDF 的 Abstract 段落格式不规则,提取结果可能混入作者信息或正文
  • 扫描版 PDF 无法提取文字,需手动补充
  • 提取后标记 source: "PDF extraction"

1.3 在线 API 获取摘要(备用方案)

当 Zotero 和 PDF 均无摘要时,使用学术 API:

CrossRef API(优先):

https://api.crossref.org/works/{DOI}

提取 message.abstract 字段,清除 HTML 标签。

Semantic Scholar API(备用):

https://api.semanticscholar.org/graph/v1/paper/DOI:{DOI}?fields=abstract

注意:

  • 需要设置 User-Agent header
  • 每次请求间隔 ≥ 0.3 秒
  • CrossRef 的摘要可能包含 HTML 标签(<jats:p> 等),需清理

1.4 摘要来源优先级策略

Zotero 数据库 > 本地 PDF 提取 > CrossRef API > Semantic Scholar API

每条记录标记 source 字段(Zotero / PDF extraction / CrossRef / Semantic Scholar / NOT FOUND),便于后续追溯。

1.5 输出格式

所有摘要保存为 JSON:

{
  "1": {
    "authors": "First Author; Second Author; Third Author",
    "title": "A comprehensive review of example research topic",
    "doi": "10.xxxx/example.2025",
    "abstract": "This paper presents a review of...",
    "source": "Zotero"
  }
}

同时生成 Markdown 版的摘要汇总(参考文献摘要汇总.md),按引言引用顺序 [1]-[N] 编号排列。


Phase 2: 中文翻译(如需要)

2.1 英文摘要翻译为中文

将英文摘要翻译为中文,使用以下 prompt 约束:

请逐句忠实翻译以下英文学术摘要为中文。要求:
1. 逐句翻译,不要概括、删减或改写
2. 保留专业术语的准确性
3. 保持学术语言风格
4. 对缺失摘要的文献标记为"摘要未能获取"

2.2 生成中文摘要汇总

输出 参考文献摘要汇总_中文.md,格式与英文版一一对应,标注数据来源。


Phase 3: 引言写作

3.1 引言结构(自适应框架)

不要使用固定的段落模板。 引言结构必须根据用户论文的具体研究主题、方法体系和学科背景来定制。以下是一个通用的构建逻辑:

Step 1 — 分析用户论文的核心要素:

  • 研究对象是什么?(装置/材料/方法/现象)
  • 核心方法是什么?(实验/数值/理论/混合)
  • 属于哪个学科领域?(土木/机械/航空航天/材料等)
  • 本研究的创新点是什么?(新构型/新方法/新机理/新应用)

Step 2 — 基于要素设计段落逻辑链:

按学术论文引言的通用"漏斗"逻辑组织,由宽到窄:

逻辑层次 内容要求
宏观背景 (1-2段) 研究对象是什么、为什么重要、已有工程应用
机理/方法基础 (2-3段) 该领域的核心物理机制或方法学基础。根据论文实际内容确定,例如:如果是数值方法论文,重点写方法发展;如果是机理研究,重点写物理过程。不要硬套"运动状态→分岔→混沌"的模式。
本领域关键问题 (1-2段) 聚焦到论文要解决的具体问题类别(如能量耗散/参数优化/构型设计等),综述已有进展和不足
研究空白 (1段) 明确指出已有工作的局限性,自然引出本研究的必要性
本文工作 (1段) 研究目标、方法、主要贡献
论文组织 (1段) 各节内容概述

Step 2.5 — 段落衔接设计(防止中间段落割裂)

中间段落(机理/方法基础、本领域关键问题)是衔接断裂的高发区,因为子主题频繁切换且缺少显式桥接,每段容易写成自成一体的独立综述。以下是具体的衔接技术要求。

(1)钩子句规则

每个段落的最后 1-2 句必须包含与下一段主题共享的关键词或概念,为下一段的出现做铺垫。不满足此规则的段落视为衔接断裂:

  • 写作时先确定段落顺序,再在每段末尾埋入"钩子"
  • 钩子句不得引入与下一段无关的新信息
  • 如果前段末尾和下一段开头没有共享词汇,必须补一个过渡句

(2)四种核心衔接模式

以下为四种通用衔接模式,适用于工程/力学领域引言的常见段落过渡场景:

衔接模式 适用场景 操作要点
挑线头(关键词承接) 前段末尾引入一个方法/概念/现象,下一段对其展开详述 前段最后一句将目标关键词置于句末或强调位置,后段首句以该词为主语或主题回指。关键词在相邻两段首尾之间形成字面重复或近义替换。
时间线叙事 同一主题下的理论/方法演进,需串联多个子方向 以明确的时间标记(早期/随后/近年来/与此并行)开头,每段在时间线上占据一个明确位置。尾句将叙事推进到下一个时间节点,引出下一段。
对比定位 在宏观背景中定位研究对象,或比较不同方法/方案的优劣 以 "Compared with / Unlike / In contrast to" 类句式在对比中定位。每次对比均以同一参照物(全文研究对象或其核心特性)为锚点,避免对比散乱。
问题-回答链 从已有限制引出研究空白,或从空白过渡到"本文工作" 前段末尾以一句明确的开放问题或不足陈述收尾,后段首句直接回应。这是"本领域关键问题→研究空白→本文工作"这一核心推进链路的标准衔接方式。

衔接模式速查表(按漏斗层级之间的过渡):

从 → 到 推荐衔接模式
宏观背景 → 机理/方法基础 挑线头 或 对比定位
机理/方法基础内部段落之间 时间线叙事 或 挑线头
机理/方法基础 → 本领域关键问题 挑线头 或 问题-回答链
本领域关键问题内部段落之间 对比定位 或 挑线头
本领域关键问题 → 研究空白 问题-回答链
研究空白 → 本文工作 问题-回答链

(3)中间段专项衔接检查

机理/方法基础层(2-3 段)和本领域关键问题层(1-2 段)是衔接断裂的高发区,写作完成后必须逐项通过以下 4 项检查:

  1. 引子句检查:每个中间段的首句是否承接了上一段的结尾?如果读起来像一篇独立微型综述的开头(典型信号:首句直接定义一个概念而不与前段发生任何指代关系),说明前段末尾缺少通往本段的钩子,必须在前段末尾或本段开头补入桥接句。

  2. 共享词汇检查:任意相邻两段之间,必须有至少一个核心术语在首尾之间重复或近义替换。若前段末尾讨论的对象(方法/现象/参数)在后段中完全消失,则两段之间存在主题断层,需要补一个过渡句以建立二者的关联。

  3. 逻辑显式化检查:段落之间的逻辑关系(因果/递进/转折/并列)不得仅靠读者脑补。如果两段之间存在逻辑关系(例如前段讨论某种物理机制、后段讨论影响该机制的外部参数),必须有一句话将其显式表达出来。

  4. 主题收敛检查:中间段涉及的所有子主题是否有一条共同的主线串联?如果没有,需要在机理/方法基础层的第一段开头建立这条主线(例如明确声明哪些方面对于理解本文核心问题是必要的),让读者预期到后续各子主题服务于同一个论证目标。

Step 3 — 验证结构合理性:

  • 每个段落是否有清晰的单一主题?
  • 段落之间的逻辑是否连贯(后一段自然承接前一段)?
    • 相邻段落之间是否有共享的核心术语?
    • 每段末尾是否有通往下一段的钩子句?
    • 中间段落的逻辑关系是否已显式化(不得仅靠读者脑补)?
  • 是否所有引用的文献都服务于段落主题?
  • 中间段(机理/方法基础、本领域关键问题)是否已通过专项衔接检查(见 Step 2.5)?

3.2 引用规范

  • 每句论述必须有文献支撑,引用紧跟论断之后:[1,2,3]
  • 多篇引用按编号升序排列
  • 优先引用综述类文献支撑宏观论述
  • 具体结论和实验数据引用原始研究文献
  • 最多 70 篇参考文献

3.3 中英文双版

先写英文版(确保术语准确),再翻译为中文版。中文版注意事项:

  • 专业术语保持一致(如 "example term" → "示例术语")
  • 调整语序使之符合中文表达习惯
  • 长句适当拆分

Phase 4: 交叉校核(审稿模式)

这是最关键的质量控制步骤。必须逐句逐引用核验。

4.1 核验方法

对引言正文中每一句包含引用的论述,执行以下检查:

  1. 定位论述中引用的每个文献编号
  2. 在摘要汇总中找到对应摘要
  3. 确认摘要内容能够支撑该论述
  4. 特别关注:论述是否超出摘要范围?是否存在概念偷换?

4.2 常见问题清单

问题类型 示例 严重程度
引用贡献交叉错位 将文献 A 的方法归于文献 B 严重
摘要缺失无法核验 引用标记为 NOT FOUND 的文献 严重
文献不完整 缺少期刊名/卷号/页码/DOI 严重
文献主题不匹配 引用不相关领域的论文支撑本领域核心论述 严重
摘要不足以支撑论述 摘要说的是 A,论述说的是 B 中等
基础文献冒充专论 泛领域基础理论文献被当作本领域专论引用 中等
物理概念偏差 将概念 X 误用于描述不同的物理现象 Y 中等

4.3 修正策略

  • 严重问题 → 删除引用或替换为相关文献,必要时修改正文论述
  • 中等问题 → 保留引用但调整论述措辞使其更精确
  • 轻微问题 → 记录但不阻塞定稿

4.4 删除文献后的重编号

如果删除某条参考文献(如原 [66]),则:

  • 正文中该引用直接移除
  • 所有后续引用编号前移 1
  • 参考文献列表中后续条目编号同步前移
  • 仅影响被删除文献之后的编号

Phase 5: DOCX 输出

5.1 中文版格式

字体: 宋体 (SimSun)
字号: 五号 (10.5pt)
行距: 单倍行距 (1.0)
页边距: 上下 2.54cm, 左右 3.18cm
首行缩进: 0.74cm (两字符)
英文字体: Times New Roman (内嵌英文部分)
参考文献字号: 小五号 (9pt)

5.2 英文版格式

字体: Times New Roman
字号: 12pt
行距: 单倍行距 (1.0)
页边距: 上下 2.54cm, 左右 3.18cm
首行缩进: 0.74cm
参考文献字号: 9pt

5.3 生成 DOCX 的 Python 模板

from docx import Document
from docx.shared import Pt, Cm
from docx.oxml.ns import qn

def setup_doc_cn():
    doc = Document()
    for section in doc.sections:
        section.top_margin = Cm(2.54)
        section.bottom_margin = Cm(2.54)
        section.left_margin = Cm(3.18)
        section.right_margin = Cm(3.18)
    style = doc.styles['Normal']
    style.font.name = '宋体'
    style.font.size = Pt(10.5)
    style.paragraph_format.line_spacing = 1.0
    style.paragraph_format.space_after = Pt(0)
    style.paragraph_format.space_before = Pt(0)
    rPr = style.element.get_or_add_rPr()
    rFonts = rPr.get_or_add_rFonts()
    rFonts.set(qn('w:eastAsia'), '宋体')
    rFonts.set(qn('w:ascii'), 'Times New Roman')
    rFonts.set(qn('w:hAnsi'), 'Times New Roman')
    return doc

将 Markdown 文件逐段写入 DOCX,参考文献用小号字体。


使用方式

安装

将本文件复制到 .claude/skills/introduction.md

  • 项目级<你的项目>/.claude/skills/introduction.md(仅当前项目可用)
  • 全局级~/.claude/skills/introduction.md(所有项目都可用,推荐)

触发

在 Claude Code 中输入 /introduction,或直接说:

  • "帮我整理参考文献摘要"
  • "根据摘要写引言"
  • "校核引言引用准确性"
  • "生成中英文 docx 定稿"

新项目引导

当在新项目中被调用时,按以下步骤引导:

  1. 确认项目准备情况:询问用户是否有 Zotero 数据库(.sqlite)和 PDF 文件
  2. 创建参考文献列表:帮助用户创建 references_input.json
  3. 按 Phase 1-5 逐步执行:本 skill 中的所有代码片段均为自包含模板,可直接在当前会话中运行,无需额外脚本文件

依赖环境

pip install PyPDF2 python-docx

需要的外部资源:

  • Zotero 数据库文件(.sqlite)或导出文本
  • 参考文献 PDF 文件(放在工作目录下)
  • 网络访问(CrossRef / Semantic Scholar API)

输出文件清单

文件 说明
abstracts_raw.json 原始摘要数据(含来源标记)
abstracts_final.json 合并去重后的最终摘要
参考文献摘要汇总.md 英文摘要按引用顺序排列
参考文献摘要汇总_中文.md 中文翻译版摘要汇总
引言定稿_vN_EN.md 第 N 版英文引言
引言定稿_vN_CN.md 第 N 版中文引言
引言定稿_vN_EN.docx 英文 DOCX 定稿
引言定稿_vN_CN.docx 中文 DOCX 定稿