学术引用管理技能Skill citation-management

此技能提供学术研究中的全面引用管理工具,用于搜索学术数据库(如Google Scholar和PubMed)、提取准确元数据、验证引用信息并生成正确格式的BibTeX条目。确保引用准确性,避免引用错误,支持科研论文写作和学术研究,关键词包括引用管理、文献检索、元数据提取、BibTeX生成、学术研究。

文献检索 0 次安装 0 次浏览 更新于 3/22/2026

名称: 引用管理 描述: 学术研究的全面引用管理。搜索Google Scholar和PubMed获取论文,提取准确元数据,验证引用,生成正确格式的BibTeX条目。此技能应在需要寻找论文、验证引用信息、转换DOI到BibTeX或确保科学写作中的引用准确性时使用。 允许工具: [读取, 写入, 编辑, Bash]

引用管理

概述

系统化管理整个研究和写作过程中的引用。此技能提供工具和策略,用于搜索学术数据库(Google Scholar、PubMed),从多个来源(CrossRef、PubMed、arXiv)提取准确元数据,验证引用信息,以及生成正确格式的BibTeX条目。

对维护引用准确性、避免引用错误和确保可重复研究至关重要。可与文献综述技能无缝集成,实现全面的研究工作流。

何时使用此技能

在以下情况使用此技能:

  • 在Google Scholar或PubMed上搜索特定论文
  • 将DOI、PMID或arXiv ID转换为正确格式的BibTeX
  • 提取引用的完整元数据(作者、标题、期刊、年份等)
  • 验证现有引用的准确性
  • 清理和格式化BibTeX文件
  • 在特定领域查找高引用论文
  • 验证引用信息与实际出版物匹配
  • 为稿件或论文构建参考文献列表
  • 检查重复引用
  • 确保一致的引用格式

使用科学示意图增强视觉效果

使用此技能创建文档时,始终考虑添加科学示意图以增强视觉传达。

如果您的文档尚未包含示意图或图表:

  • 使用科学示意图技能生成AI驱动的出版物质量图表
  • 只需用自然语言描述您想要的图表
  • Nano Banana Pro将自动生成、审查和优化示意图

对于新文档: 默认应生成科学示意图,以可视化表示文本中描述的关键概念、工作流、架构或关系。

如何生成示意图:

python scripts/generate_schematic.py "您的图表描述" -o figures/output.png

AI将自动:

  • 创建具有正确格式的出版物质量图像
  • 通过多次迭代审查和优化
  • 确保可访问性(色盲友好、高对比度)
  • 将输出保存在figures/目录中

何时添加示意图:

  • 引用工作流程图
  • 文献搜索方法流程图
  • 引用管理系统架构图
  • 引用样式决策树
  • 数据库集成图
  • 任何受益于可视化的复杂概念

有关创建示意图的详细指南,请参阅科学示意图技能文档。


核心工作流

引用管理遵循系统化流程:

阶段1:论文发现和搜索

目标: 使用学术搜索引擎查找相关论文。

Google Scholar搜索

Google Scholar提供跨学科的最全面覆盖。

基本搜索:

# 搜索主题论文
python scripts/search_google_scholar.py "CRISPR基因编辑" \
  --limit 50 \
  --output results.json

# 使用年份过滤器搜索
python scripts/search_google_scholar.py "机器学习蛋白质折叠" \
  --year-start 2020 \
  --year-end 2024 \
  --limit 100 \
  --output ml_proteins.json

高级搜索策略(见references/google_scholar_search.md):

  • 使用引号进行精确短语搜索:"深度学习"
  • 按作者搜索:author:LeCun
  • 在标题中搜索:intitle:"神经网络"
  • 排除术语:机器学习 -调查
  • 使用排序选项查找高引用论文
  • 按日期范围过滤以获取近期工作

最佳实践:

  • 使用具体、有针对性的搜索词
  • 包含关键技术术语和缩写
  • 对快速发展的领域按近期年份过滤
  • 检查“引用”以查找重要论文
  • 导出顶部结果以供进一步分析

PubMed搜索

PubMed专门用于生物医学和生命科学文献(3500多万条引用)。

基本搜索:

# 搜索PubMed
python scripts/search_pubmed.py "阿尔茨海默病治疗" \
  --limit 100 \
  --output alzheimers.json

# 使用MeSH术语和过滤器搜索
python scripts/search_pubmed.py \
  --query '"阿尔茨海默病"[MeSH] AND "药物治疗"[MeSH]' \
  --date-start 2020 \
  --date-end 2024 \
  --publication-types "临床试验,综述" \
  --output alzheimers_trials.json

高级PubMed查询(见references/pubmed_search.md):

  • 使用MeSH术语:"糖尿病"[MeSH]
  • 字段标签:"癌症"[标题], "Smith J"[作者]
  • 布尔运算符:AND, OR, NOT
  • 日期过滤器:2020:2024[出版日期]
  • 出版物类型:"综述"[出版物类型]
  • 与E-utilities API结合实现自动化

最佳实践:

  • 使用MeSH浏览器查找正确的受控词汇
  • 首先在PubMed高级搜索构建器中构建复杂查询
  • 使用OR包含多个同义词
  • 检索PMID以便轻松提取元数据
  • 导出为JSON或直接为BibTeX

阶段2:元数据提取

目标: 将论文标识符(DOI、PMID、arXiv ID)转换为完整、准确的元数据。

快速DOI到BibTeX转换

对于单个DOI,使用快速转换工具:

# 转换单个DOI
python scripts/doi_to_bibtex.py 10.1038/s41586-021-03819-2

# 从文件转换多个DOI
python scripts/doi_to_bibtex.py --input dois.txt --output references.bib

# 不同输出格式
python scripts/doi_to_bibtex.py 10.1038/nature12345 --format json

全面元数据提取

对于DOI、PMID、arXiv ID或URL:

# 从DOI提取
python scripts/extract_metadata.py --doi 10.1038/s41586-021-03819-2

# 从PMID提取
python scripts/extract_metadata.py --pmid 34265844

# 从arXiv ID提取
python scripts/extract_metadata.py --arxiv 2103.14030

# 从URL提取
python scripts/extract_metadata.py --url "https://www.nature.com/articles/s41586-021-03819-2"

# 从文件批量提取(混合标识符)
python scripts/extract_metadata.py --input identifiers.txt --output citations.bib

元数据来源(见references/metadata_extraction.md):

  1. CrossRef API: DOI的主要来源

    • 期刊文章的全面元数据
    • 出版商提供的信息
    • 包括作者、标题、期刊、卷、页、日期
    • 免费,无需API密钥
  2. PubMed E-utilities: 生物医学文献

    • 官方NCBI元数据
    • 包括MeSH术语、摘要
    • PMID和PMCID标识符
    • 免费,高流量建议使用API密钥
  3. arXiv API: 物理学、数学、计算机科学、定量生物学的预印本

    • 预印本的完整元数据
    • 版本跟踪
    • 作者单位
    • 免费,开放获取
  4. DataCite API: 研究数据集、软件、其他资源

    • 非传统学术输出的元数据
    • 数据集和代码的DOI
    • 免费访问

提取内容:

  • 必填字段: 作者、标题、年份
  • 期刊文章: 期刊、卷、期、页、DOI
  • 书籍: 出版商、ISBN、版次
  • 会议论文: 书名、会议地点、页
  • 预印本: 存储库(arXiv、bioRxiv)、预印本ID
  • 附加: 摘要、关键词、URL

阶段2.5:通过网络搜索进行元数据增强(必选)

目标: 使用网络搜索检测并填充任何缺失的元数据字段。此阶段在提取之后、格式化之前运行,以确保每个BibTeX条目完整。

为何关键: 从API(CrossRef、PubMed、arXiv)提取的元数据有时返回不完整记录——缺失卷、页、期号或DOI。这些空白必须在参考文献被视为就绪前填充。

步骤1:扫描不完整条目

提取元数据后,扫描BibTeX文件中缺失关键字段的条目:

按条目类型检查的字段:

条目类型 必须有 应有
@article 作者、标题、期刊、年份 卷、页、期、doi
@inproceedings 作者、标题、书名、年份 页、doi
@book 作者/编辑、标题、出版商、年份 isbn、doi
@misc 作者、标题、年份 doi或url

任何缺失doi@article条目被视为不完整,必须增强。

步骤2:搜索缺失元数据

对于每个不完整条目,搜索缺失信息:

选项A — 按标题和作者搜索(最佳用于查找DOI):

python scripts/parallel_web.py search \
  "第一作者 标题 期刊名称 卷 页 DOI" \
  -o sources/search_YYYYMMDD_HHMMSS_引用_引用键.md

选项B — 从DOI页面提取(最佳当DOI已知但卷/页缺失时):

python scripts/parallel_web.py extract \
  "https://doi.org/10.XXXX/YYYY" \
  --objective "提取完整引用元数据:卷、期、页、出版日期" \
  -o sources/extract_YYYYMMDD_HHMMSS_doi_引用键.md

选项C — 直接搜索CrossRef API(程序化、快速):

python scripts/parallel_web.py search \
  "crossref DOI 元数据 第一作者 标题" \
  -o sources/search_YYYYMMDD_HHMMSS_crossref_引用键.md

选项D — 搜索Google Scholar(用于难以找到的论文的后备方案):

python scripts/parallel_web.py search \
  "google scholar 第一作者 标题 年份 完整引用" \
  -o sources/search_YYYYMMDD_HHMMSS_scholar_引用键.md

步骤3:更新BibTeX条目

找到缺失元数据后:

  1. 打开references.bib
  2. 向不完整条目添加缺失字段
  3. 验证找到的元数据与现有字段一致(相同作者、标题、年份)
  4. 记录每个修复:
    [HH:MM:SS] 元数据已增强: [引用键] - 添加了 volume={X}, pages={Y--Z}, doi={10.XXX/YYY} ✅
    

步骤4:处理无法找到的元数据

如果元数据确实无法通过网络搜索找到(非常旧的论文、冷门会议等):

  1. 向BibTeX条目添加note字段解释空白:
    note = {卷和页不可用——仅在线出版}
    
  2. 记录例外:
    [HH:MM:SS] 元数据不完整: [引用键] - 页不可用(仅在线出版) ⚠️
    
  3. 这些例外应罕见——大多数现代论文的完整元数据可通过网络搜索找到。

快速参考:常见缺失字段及查找方法

缺失字段 最佳搜索策略
DOI 通过parallel_web.py搜索“作者 标题 DOI”
从DOI页面提取或搜索“期刊 年份 标题 卷”
从DOI页面提取或搜索出版商网站
期/号 从DOI页面提取或CrossRef
出版商 搜索“期刊 出版商”或检查期刊网站

阶段3:BibTeX格式化

目标: 生成干净、正确格式化的BibTeX条目。

理解BibTeX条目类型

references/bibtex_formatting.md获取完整指南。

常见条目类型:

  • @article:期刊文章(最常见)
  • @book:书籍
  • @inproceedings:会议论文
  • @incollection:书籍章节
  • @phdthesis:论文
  • @misc:预印本、软件、数据集

按类型必填字段:

@article{引用键,
  author  = {Last1, First1 and Last2, First2},
  title   = {文章标题},
  journal = {期刊名称},
  year    = {2024},
  volume  = {10},
  number  = {3},
  pages   = {123--145},
  doi     = {10.1234/example}
}

@inproceedings{引用键,
  author    = {Last, First},
  title     = {论文标题},
  booktitle = {会议名称},
  year      = {2024},
  pages     = {1--10}
}

@book{引用键,
  author    = {Last, First},
  title     = {书籍标题},
  publisher = {出版商名称},
  year      = {2024}
}

格式化和清理

使用格式化器标准化BibTeX文件:

# 格式化和清理BibTeX文件
python scripts/format_bibtex.py references.bib \
  --output formatted_references.bib

# 按引用键排序条目
python scripts/format_bibtex.py references.bib \
  --sort key \
  --output sorted_references.bib

# 按年份排序(最新优先)
python scripts/format_bibtex.py references.bib \
  --sort year \
  --descending \
  --output sorted_references.bib

# 移除重复
python scripts/format_bibtex.py references.bib \
  --deduplicate \
  --output clean_references.bib

# 验证并报告问题
python scripts/format_bibtex.py references.bib \
  --validate \
  --report validation_report.txt

格式化操作:

  • 标准化字段顺序
  • 一致的缩进和间距
  • 标题中正确大写(用{}保护)
  • 标准化作者名称格式
  • 一致的引用键格式
  • 移除不必要字段
  • 修复常见错误(缺失逗号、括号)

阶段4:引用验证

目标: 验证所有引用准确且完整。

全面验证

# 验证BibTeX文件
python scripts/validate_citations.py references.bib

# 验证并修复常见问题
python scripts/validate_citations.py references.bib \
  --auto-fix \
  --output validated_references.bib

# 生成详细验证报告
python scripts/validate_citations.py references.bib \
  --report validation_report.json \
  --verbose

验证检查(见references/citation_validation.md):

  1. DOI验证:

    • DOI通过doi.org正确解析
    • BibTeX和CrossRef之间的元数据匹配
    • 无损坏或无效DOI
  2. 必填字段:

    • 所有条目类型的必填字段存在
    • 无空或缺失关键信息
    • 作者名称正确格式化
  3. 数据一致性:

    • 年份有效(4位数字,合理范围)
    • 卷/期是数字
    • 页格式正确(例如,123–145)
    • URL可访问
  4. 重复检测:

    • 相同DOI多次使用
    • 相似标题(可能重复)
    • 相同作者/年份/标题组合
  5. 格式合规:

    • 有效BibTeX语法
    • 正确括号和引号
    • 引用键唯一
    • 特殊字符正确处理

验证输出:

{
  "total_entries": 150,
  "valid_entries": 145,
  "errors": [
    {
      "citation_key": "Smith2023",
      "error_type": "missing_field",
      "field": "journal",
      "severity": "high"
    },
    {
      "citation_key": "Jones2022",
      "error_type": "invalid_doi",
      "doi": "10.1234/broken",
      "severity": "high"
    }
  ],
  "warnings": [
    {
      "citation_key": "Brown2021",
      "warning_type": "possible_duplicate",
      "duplicate_of": "Brown2021a",
      "severity": "medium"
    }
  ]
}

阶段5:与写作工作流集成

为稿件构建参考文献

创建参考文献的完整工作流:

# 1. 搜索主题论文
python scripts/search_pubmed.py \
  '"CRISPR-Cas系统"[MeSH] AND "基因编辑"[MeSH]' \
  --date-start 2020 \
  --limit 200 \
  --output crispr_papers.json

# 2. 从搜索结果提取DOI并转换为BibTeX
python scripts/extract_metadata.py \
  --input crispr_papers.json \
  --output crispr_refs.bib

# 3. 按DOI添加特定论文
python scripts/doi_to_bibtex.py 10.1038/nature12345 >> crispr_refs.bib
python scripts/doi_to_bibtex.py 10.1126/science.abcd1234 >> crispr_refs.bib

# 4. 格式化和清理BibTeX文件
python scripts/format_bibtex.py crispr_refs.bib \
  --deduplicate \
  --sort year \
  --descending \
  --output references.bib

# 5. 验证所有引用
python scripts/validate_citations.py references.bib \
  --auto-fix \
  --report validation.json \
  --output final_references.bib

# 6. 审查验证报告并修复任何剩余问题
cat validation.json

# 7. 在LaTeX文档中使用
# \bibliography{final_references}

与文献综述技能集成

此技能补充literature-review技能:

文献综述技能 → 系统化搜索和综合 引用管理技能 → 技术引用处理

组合工作流:

  1. 使用literature-review进行全面的多数据库搜索
  2. 使用citation-management提取和验证所有引用
  3. 使用literature-review按主题综合发现
  4. 使用citation-management验证最终参考文献准确性
# 完成文献综述后
# 验证综述文档中的所有引用
python scripts/validate_citations.py my_review_references.bib --report review_validation.json

# 如需特定引用风格,格式化
python scripts/format_bibtex.py my_review_references.bib \
  --style nature \
  --output formatted_refs.bib

搜索策略

Google Scholar最佳实践

查找重要和高影响力论文(关键):

始终根据引用次数、期刊质量和作者声誉优先选择论文:

引用次数阈值:

论文年龄 引用次数 分类
0-3年 20+ 值得注意
0-3年 100+ 高度有影响力
3-7年 100+ 重要
3-7年 500+ 里程碑论文
7年以上 500+ 重要工作
7年以上 1000+ 基础性

期刊质量层级:

  • 层级1(优选): Nature、Science、Cell、NEJM、Lancet、JAMA、PNAS
  • 层级2(高优先级): 影响因子 >10,顶级会议(NeurIPS、ICML、ICLR)
  • 层级3(好): 专业期刊(影响因子5-10)
  • 层级4(谨慎使用): 低影响同行评审期刊

作者声誉指标:

  • h指数 >40的高级研究人员
  • 在层级1期刊上有多次发表
  • 在认可机构的领导职位
  • 奖项和编辑职位

高影响力论文搜索策略:

  • 按引用次数排序(最多引用优先)
  • 从层级1期刊查找综述文章以概述
  • 检查“引用”以评估影响和近期跟进工作
  • 使用引用提醒跟踪关键论文的新引用
  • 使用source:Naturesource:Science按顶级期刊过滤
  • 使用author:LastName搜索已知领域领导者的论文

高级操作符(完整列表见references/google_scholar_search.md):

"精确短语"           # 精确短语匹配
author:lastname          # 按作者搜索
intitle:keyword          # 仅标题搜索
source:journal           # 搜索特定期刊
-exclude                 # 排除术语
OR                       # 替代术语
2020..2024              # 年份范围

示例搜索:

# 查找主题近期综述
"CRISPR" intitle:review 2023..2024

# 查找特定作者主题论文
author:Church "合成生物学"

# 查找高引用基础性工作
"深度学习" 2012..2015 sort:citations

# 排除调查并专注于方法
"蛋白质折叠" -survey -review intitle:method

PubMed最佳实践

使用MeSH术语: MeSH(医学主题词)提供精确搜索的受控词汇。

  1. 查找MeSH术语https://meshb.nlm.nih.gov/search
  2. 在查询中使用: "2型糖尿病"[MeSH]
  3. 与关键词结合 以实现全面覆盖

字段标签:

[标题]              # 仅标题搜索
[标题/摘要]     # 在标题或摘要中搜索
[作者]             # 按作者姓名搜索
[期刊]            # 搜索特定期刊
[出版日期]   # 日期范围
[出版物类型]   # 文章类型
[MeSH]              # MeSH术语

构建复杂查询:

# 近期发表的糖尿病治疗临床试验
"2型糖尿病"[MeSH] AND "药物治疗"[MeSH] 
AND "临床试验"[出版物类型] AND 2020:2024[出版日期]

# 特定期刊中CRISPR综述
"CRISPR-Cas系统"[MeSH] AND "Nature"[期刊] AND "综述"[出版物类型]

# 特定作者近期工作
"Smith AB"[作者] AND 癌症[标题/摘要] AND 2022:2024[出版日期]

自动化E-utilities: 脚本使用NCBI E-utilities API进行程序化访问:

  • ESearch: 搜索并检索PMID
  • EFetch: 检索完整元数据
  • ESummary: 获取摘要信息
  • ELink: 查找相关文章

references/pubmed_search.md获取完整API文档。

工具和脚本

search_google_scholar.py

搜索Google Scholar并导出结果。

功能:

  • 带速率限制的自动化搜索
  • 分页支持
  • 年份范围过滤
  • 导出为JSON或BibTeX
  • 引用次数信息

用法:

# 基本搜索
python scripts/search_google_scholar.py "量子计算"

# 带过滤器的高级搜索
python scripts/search_google_scholar.py "量子计算" \
  --year-start 2020 \
  --year-end 2024 \
  --limit 100 \
  --sort-by citations \
  --output quantum_papers.json

# 直接导出为BibTeX
python scripts/search_google_scholar.py "机器学习" \
  --limit 50 \
  --format bibtex \
  --output ml_papers.bib

search_pubmed.py

使用E-utilities API搜索PubMed。

功能:

  • 复杂查询支持(MeSH、字段标签、布尔)
  • 日期范围过滤
  • 出版物类型过滤
  • 带元数据的批量检索
  • 导出为JSON或BibTeX

用法:

# 简单关键词搜索
python scripts/search_pubmed.py "CRISPR基因编辑"

# 带过滤器的复杂查询
python scripts/search_pubmed.py \
  --query '"CRISPR-Cas系统"[MeSH] AND "治疗性"[标题/摘要]' \
  --date-start 2020-01-01 \
  --date-end 2024-12-31 \
  --publication-types "临床试验,综述" \
  --limit 200 \
  --output crispr_therapeutic.json

# 导出为BibTeX
python scripts/search_pubmed.py "阿尔茨海默病" \
  --limit 100 \
  --format bibtex \
  --output alzheimers.bib

extract_metadata.py

从论文标识符提取完整元数据。

功能:

  • 支持DOI、PMID、arXiv ID、URL
  • 查询CrossRef、PubMed、arXiv API
  • 处理多种标识符类型
  • 批量处理
  • 多输出格式

用法:

# 单个DOI
python scripts/extract_metadata.py --doi 10.1038/s41586-021-03819-2

# 单个PMID
python scripts/extract_metadata.py --pmid 34265844

# 单个arXiv ID
python scripts/extract_metadata.py --arxiv 2103.14030

# 从URL
python scripts/extract_metadata.py \
  --url "https://www.nature.com/articles/s41586-021-03819-2"

# 批量处理(每行一个标识符的文件)
python scripts/extract_metadata.py \
  --input paper_ids.txt \
  --output references.bib

# 不同输出格式
python scripts/extract_metadata.py \
  --doi 10.1038/nature12345 \
  --format json  # 或 bibtex, yaml

validate_citations.py

验证BibTeX条目的准确性和完整性。

功能:

  • 通过doi.org和CrossRef验证DOI
  • 必填字段检查
  • 重复检测
  • 格式验证
  • 自动修复常见问题
  • 详细报告

用法:

# 基本验证
python scripts/validate_citations.py references.bib

# 带自动修复
python scripts/validate_citations.py references.bib \
  --auto-fix \
  --output fixed_references.bib

# 详细验证报告
python scripts/validate_citations.py references.bib \
  --report validation_report.json \
  --verbose

# 仅检查DOI
python scripts/validate_citations.py references.bib \
  --check-dois-only

format_bibtex.py

格式化和清理BibTeX文件。

功能:

  • 标准化格式化
  • 排序条目(按键、年份、作者)
  • 移除重复
  • 验证语法
  • 修复常见错误
  • 强制执行引用键约定

用法:

# 基本格式化
python scripts/format_bibtex.py references.bib

# 按年份排序(最新优先)
python scripts/format_bibtex.py references.bib \
  --sort year \
  --descending \
  --output sorted_refs.bib

# 移除重复
python scripts/format_bibtex.py references.bib \
  --deduplicate \
  --output clean_refs.bib

# 完整清理
python scripts/format_bibtex.py references.bib \
  --deduplicate \
  --sort year \
  --validate \
  --auto-fix \
  --output final_refs.bib

doi_to_bibtex.py

快速DOI到BibTeX转换。

功能:

  • 快速单个DOI转换
  • 批量处理
  • 多输出格式
  • 剪贴板支持

用法:

# 单个DOI
python scripts/doi_to_bibtex.py 10.1038/s41586-021-03819-2

# 多个DOI
python scripts/doi_to_bibtex.py \
  10.1038/nature12345 \
  10.1126/science.abc1234 \
  10.1016/j.cell.2023.01.001

# 从文件(每行一个DOI)
python scripts/doi_to_bibtex.py --input dois.txt --output references.bib

# 复制到剪贴板
python scripts/doi_to_bibtex.py 10.1038/nature12345 --clipboard

最佳实践

搜索策略

  1. 从宽泛开始,然后缩小:

    • 从通用术语开始以了解领域
    • 使用具体关键词和过滤器细化
    • 使用同义词和相关术语
  2. 使用多个来源:

    • Google Scholar用于全面覆盖
    • PubMed用于生物医学重点
    • arXiv用于预印本
    • 结合结果以实现完整性
  3. 利用引用:

    • 检查“引用”以查找重要论文
    • 审查关键论文的参考文献
    • 使用引用网络发现相关工作
  4. 记录您的搜索:

    • 保存搜索查询和日期
    • 记录结果数量
    • 注意应用的任何过滤器或限制

元数据提取

  1. 始终使用DOI(如果可用):

    • 最可靠的标识符
    • 到出版物的永久链接
    • 通过CrossRef的最佳元数据来源
  2. 验证提取的元数据:

    • 检查作者姓名是否正确
    • 验证期刊/会议名称
    • 确认出版年份
    • 验证页数和卷
  3. 处理边缘情况:

    • 预印本:包括存储库和ID
    • 预印本后出版:使用出版版本
    • 会议论文:包括会议名称和地点
    • 书籍章节:包括书名和编辑
  4. 保持一致性:

    • 使用一致的作者姓名格式
    • 标准化期刊缩写
    • 使用相同DOI格式(推荐URL)

BibTeX质量

  1. 遵循约定:

    • 使用有意义的引用键(FirstAuthor2024关键词)
    • 用{}保护标题中的大写
    • 使用–表示页范围(非单破折号)
    • 为所有现代出版物包含DOI字段
  2. 保持清洁:

    • 移除不必要字段
    • 无冗余信息
    • 一致的格式化
    • 定期验证语法
  3. 系统化组织:

    • 按年份或主题排序
    • 分组相关论文
    • 为不同项目使用单独文件
    • 小心合并以避免重复

验证

  1. 早期并经常验证:

    • 添加时检查引用
    • 在提交前验证完整参考文献列表
    • 任何手动编辑后重新验证
  2. 及时修复问题:

    • 损坏DOI:查找正确标识符
    • 缺失字段:从原始来源提取
    • 重复:选择最佳版本,移除其他
    • 格式错误:安全时使用自动修复
  3. 关键引用的手动审查:

    • 验证关键论文引用正确
    • 检查作者姓名与出版物匹配
    • 确认页数和卷
    • 确保URL是最新的

常见陷阱避免

  1. 单一来源偏见: 仅使用Google Scholar或PubMed

    • 解决方案: 搜索多个数据库以实现全面覆盖
  2. 盲目接受元数据: 不验证提取信息

    • 解决方案: 对照原始来源抽查提取的元数据
  3. 忽略DOI错误: 参考文献列表中损坏或不正确DOI

    • 解决方案: 在最终提交前运行验证
  4. 不一致的格式化: 混合引用键风格、格式化

    • 解决方案: 使用format_bibtex.py标准化
  5. 重复条目: 同一论文以不同键引用多次

    • 解决方案: 在验证中使用重复检测
  6. 缺失必填字段: 不完整BibTeX条目(缺失卷、页、DOI)

    • 解决方案: 运行阶段2.5元数据增强——在继续前通过网络搜索查找每个缺失字段。切勿留下没有卷、页和DOI的@article条目。
  7. 过时预印本: 引用预印本当出版版本存在时

    • 解决方案: 检查预印本是否已出版,更新为期刊版本
  8. 特殊字符问题: 由于字符导致LaTeX编译损坏

    • 解决方案: 在BibTeX中使用正确转义或Unicode
  9. 提交前无验证: 提交时带引用错误

    • 解决方案: 始终将验证作为最终检查运行
  10. 手动BibTeX条目: 手工键入条目

    • 解决方案: 始终使用脚本从元数据源提取

示例工作流

示例1:为论文构建参考文献列表

# 步骤1:查找主题关键论文
python scripts/search_google_scholar.py "transformer神经网络" \
  --year-start 2017 \
  --limit 50 \
  --output transformers_gs.json

python scripts/search_pubmed.py "深度学习医学成像" \
  --date-start 2020 \
  --limit 50 \
  --output medical_dl_pm.json

# 步骤2:从搜索结果提取元数据
python scripts/extract_metadata.py \
  --input transformers_gs.json \
  --output transformers.bib

python scripts/extract_metadata.py \
  --input medical_dl_pm.json \
  --output medical.bib

# 步骤3:添加您已知的特定论文
python scripts/doi_to_bibtex.py 10.1038/s41586-021-03819-2 >> specific.bib
python scripts/doi_to_bibtex.py 10.1126/science.aam9317 >> specific.bib

# 步骤4:合并所有BibTeX文件
cat transformers.bib medical.bib specific.bib > combined.bib

# 步骤5:格式化和去重
python scripts/format_bibtex.py combined.bib \
  --deduplicate \
  --sort year \
  --descending \
  --output formatted.bib

# 步骤6:验证
python scripts/validate_citations.py formatted.bib \
  --auto-fix \
  --report validation.json \
  --output final_references.bib

# 步骤7:审查任何问题
cat validation.json | grep -A 3 '"errors"'

# 步骤8:在LaTeX中使用
# \bibliography{final_references}

示例2:转换DOI列表

# 您有一个包含DOI的文本文件(每行一个)
# dois.txt 包含:
# 10.1038/s41586-021-03819-2
# 10.1126/science.aam9317
# 10.1016/j.cell.2023.01.001

# 全部转换为BibTeX
python scripts/doi_to_bibtex.py --input dois.txt --output references.bib

# 验证结果
python scripts/validate_citations.py references.bib --verbose

示例3:清理现有BibTeX文件

# 您有一个来自各种来源的杂乱BibTeX文件
# 系统化清理

# 步骤1:格式化和标准化
python scripts/format_bibtex.py messy_references.bib \
  --output step1_formatted.bib

# 步骤2:移除重复
python scripts/format_bibtex.py step1_formatted.bib \
  --deduplicate \
  --output step2_deduplicated.bib

# 步骤3:验证和自动修复
python scripts/validate_citations.py step2_deduplicated.bib \
  --auto-fix \
  --output step3_validated.bib

# 步骤4:按年份排序
python scripts/format_bibtex.py step3_validated.bib \
  --sort year \
  --descending \
  --output clean_references.bib

# 步骤5:最终验证报告
python scripts/validate_citations.py clean_references.bib \
  --report final_validation.json \
  --verbose

# 审查报告
cat final_validation.json

示例4:查找和引用重要论文

# 查找主题高引用论文
python scripts/search_google_scholar.py "AlphaFold蛋白质结构" \
  --year-start 2020 \
  --year-end 2024 \
  --sort-by citations \
  --limit 20 \
  --output alphafold_seminal.json

# 提取按引用次数前10名
# (脚本将在JSON中包含引用次数)

# 转换为BibTeX
python scripts/extract_metadata.py \
  --input alphafold_seminal.json \
  --output alphafold_refs.bib

# BibTeX文件现在包含最有影响力的论文

与其他技能集成

文献综述技能

引用管理文献综述 提供技术基础设施:

  • 文献综述: 多数据库系统化搜索和综合
  • 引用管理: 元数据提取和验证

组合工作流:

  1. 使用文献综述进行系统化搜索方法
  2. 使用引用管理提取和验证引用
  3. 使用文献综述综合发现
  4. 使用引用管理确保参考文献准确性

科学写作技能

引用管理 确保 科学写作 的准确引用:

  • 导出验证的BibTeX供LaTeX稿件使用
  • 验证引用符合出版标准
  • 按期刊要求格式化参考文献

期刊模板技能

引用管理期刊模板 配合,用于提交就绪稿件:

  • 不同期刊要求不同引用风格
  • 生成正确格式的参考文献
  • 验证引用满足期刊要求

资源

捆绑资源

参考文献(在references/中):

  • google_scholar_search.md:完整Google Scholar搜索指南
  • pubmed_search.md:PubMed和E-utilities API文档
  • metadata_extraction.md:元数据源和字段要求
  • citation_validation.md:验证标准和质量检查
  • bibtex_formatting.md:BibTeX条目类型和格式化规则

脚本(在scripts/中):

  • search_google_scholar.py:Google Scholar搜索自动化
  • search_pubmed.py:PubMed E-utilities API客户端
  • extract_metadata.py:通用元数据提取器
  • validate_citations.py:引用验证和核查
  • format_bibtex.py:BibTeX格式化器和清理器
  • doi_to_bibtex.py:快速DOI到BibTeX转换器

资产(在assets/中):

  • bibtex_template.bib:所有类型的示例BibTeX条目
  • citation_checklist.md:质量保证检查列表

外部资源

搜索引擎:

元数据API:

工具和验证器:

引用风格:

依赖项

必需Python包

# 核心依赖项
pip install requests  # API的HTTP请求
pip install bibtexparser  # BibTeX解析和格式化
pip install biopython  # PubMed E-utilities访问

# 可选(用于Google Scholar)
pip install scholarly  # Google Scholar API包装器
# 或
pip install selenium  # 更强大的Scholar爬取

可选工具

# 用于高级验证
pip install crossref-commons  # 增强的CrossRef API访问
pip install pylatexenc  # LaTeX特殊字符处理

总结

引用管理技能提供:

  1. 全面的搜索能力 用于Google Scholar和PubMed
  2. 自动化的元数据提取 从DOI、PMID、arXiv ID、URL
  3. 引用验证 带DOI验证和完整性检查
  4. BibTeX格式化 带标准化和清理工具
  5. 质量保证 通过验证和报告
  6. 集成 与科学写作工作流
  7. 可重复性 通过记录的搜索和提取方法

使用此技能以在整个研究中维护准确、完整的引用,并确保出版物就绪的参考文献列表。