mcpField
C
citation-management

citation-management

github.com/crazymsn生产力2340 次安装22 周前更新
代码仓库

关于 citation-management

面向研究人员和写作者的引文管理技能,支持在 Google Scholar 和 PubMed 搜索文献,从学术标识符提取元数据,并整理、验证 BibTeX 条目。

主要功能

  1. 01搜索 Google Scholar 和 PubMed
  2. 02从论文标识符提取元数据
  3. 03将标识符转换为 BibTeX
  4. 04整理并清理 BibTeX 文件
  5. 05验证引文并检测重复项

适用场景

  1. 01为论文或学位论文编制参考文献
  2. 02将 DOI、PMID 或 arXiv ID 转为 BibTeX
  3. 03检查引文信息缺失或错误
  4. 04清理并去重引文文件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/crazymsn/academic-skills --skill citation-management

安装后在 Claude Code 中输入/citation-management确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
bibtex_template.bib
citation_checklist.md
references/
bibtex_formatting.md
citation_validation.md
google_scholar_search.md
metadata_extraction.md
pubmed_search.md
scripts/
doi_to_bibtex.py
extract_metadata.py
format_bibtex.py
generate_schematic_ai.py
generate_schematic.py
search_google_scholar.py
search_pubmed.py
validate_citations.py

详细介绍

引用管理

概述

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

这对确保引用准确、避免参考文献错误以及保障研究可复现性至关重要。它与 literature-review 技能无缝集成,支持全面的研究工作流。

何时使用此技能

在以下情况下使用此技能:

  • 在 Google Scholar 或 PubMed 上搜索特定论文
  • 将 DOI、PMID 或 arXiv ID 转换为格式规范的 BibTeX
  • 提取引用的完整元数据(作者、标题、期刊、年份等)
  • 验证现有引用的准确性
  • 清理并格式化 BibTeX 文件
  • 查找特定领域中引用量很高的论文
  • 核实引用信息是否与实际出版物相符
  • 为论文或学位论文整理参考文献
  • 检查是否存在重复引用
  • 确保引用格式统一

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

使用此技能创建文档时,务必考虑添加科学图表和示意图,以增强视觉传达效果。

如果文档中尚无示意图或图表:

  • 使用 scientific-schematics 技能生成 AI 驱动、达到出版品质的图表
  • 只需用自然语言描述所需的图表
  • Nano Banana Pro 将自动生成、检查并优化示意图

对于新文档: 默认应生成科学示意图,以直观呈现文中描述的关键概念、工作流、架构或关系。

生成示意图的方法:

python scripts/generate_schematic.py "your diagram description" -o figures/output.png

AI 将自动:

  • 创建格式规范、达到出版品质的图像
  • 通过多轮迭代进行检查和优化
  • 确保易于访问(适合色盲人士、对比度高)
  • 将输出保存到 figures/ 目录

适合添加示意图的内容:

  • 引用工作流图
  • 文献检索方法流程图
  • 参考文献管理系统架构图
  • 引用格式选择决策树
  • 数据库集成图
  • 任何适合通过可视化呈现的复杂概念

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


核心工作流

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

阶段 1:论文发现与检索

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

Google Scholar 检索

Google Scholar 在各个学科中提供最全面的覆盖范围。

基本检索:

# Search for papers on a topic
python scripts/search_google_scholar.py "CRISPR gene editing" \
  --limit 50 \
  --output results.json

# Search with year filter
python scripts/search_google_scholar.py "machine learning protein folding" \
  --year-start 2020 \
  --year-end 2024 \
  --limit 100 \
  --output ml_proteins.json

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

  • 使用引号搜索确切短语:"deep learning"
  • 按作者搜索:author:LeCun
  • 在标题中搜索:intitle:"neural networks"
  • 排除词语:machine learning -survey
  • 使用排序选项查找引用量很高的论文
  • 按日期范围筛选,查找近期研究

最佳实践:

  • 使用具体、有针对性的搜索词
  • 加入关键技术术语和缩写
  • 对发展迅速的领域,筛选近几年的研究
  • 查看“Cited by”以查找奠基性论文
  • 导出排名靠前的结果以作进一步分析
PubMed 检索

PubMed 专注于生物医学和生命科学文献(3,500 多万条引文)。

基本检索:

# Search PubMed
python scripts/search_pubmed.py "Alzheimer's disease treatment" \
  --limit 100 \
  --output alzheimers.json

# Search with MeSH terms and filters
python scripts/search_pubmed.py \
  --query '"Alzheimer Disease"[MeSH] AND "Drug Therapy"[MeSH]' \
  --date-start 2020 \
  --date-end 2024 \
  --publication-types "Clinical Trial,Review" \
  --output alzheimers_trials.json

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

  • 使用 MeSH 术语:"Diabetes Mellitus"[MeSH]
  • 字段标签:"cancer"[Title]、"Smith J"[Author]
  • 布尔运算符:AND、OR、NOT
  • 日期筛选:2020:2024[Publication Date]
  • 出版物类型:"Review"[Publication Type]
  • 与 E-utilities API 结合使用以实现自动化

最佳实践:

  • 使用 MeSH Browser 查找正确的受控词表
  • 先在 PubMed Advanced Search Builder 中构建复杂查询
  • 使用 OR 纳入多个同义词
  • 获取 PMID,便于提取元数据
  • 导出为 JSON 或直接导出为 BibTeX
阶段 2:元数据提取

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

快速将 DOI 转换为 BibTeX

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

# Convert single DOI
python scripts/doi_to_bibtex.py 10.1038/s41586-021-03819-2

# Convert multiple DOIs from a file
python scripts/doi_to_bibtex.py --input dois.txt --output references.bib

# Different output formats
python scripts/doi_to_bibtex.py 10.1038/nature12345 --format json
全面提取元数据

适用于 DOI、PMID、arXiv ID 或 URL:

# Extract from DOI
python scripts/extract_metadata.py --doi 10.1038/s41586-021-03819-2

# Extract from PMID
python scripts/extract_metadata.py --pmid 34265844

# Extract from arXiv ID
python scripts/extract_metadata.py --arxiv 2103.14030

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

# Batch extraction from file (mixed identifiers)
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:物理、数学、计算机科学和 q-bio 领域的预印本

    • 提供完整的预印本元数据
    • 版本追踪
    • 作者所属机构
    • 免费开放访问
  4. DataCite API:研究数据集、软件及其他资源

    • 提供非传统学术成果的元数据
    • 数据集和代码的 DOI
    • 免费访问

提取内容:

  • 必需字段:作者、标题、年份
  • 期刊文章:期刊、卷、期、页码、DOI
  • 书籍:出版商、ISBN、版次
  • 会议论文:文集名称、会议地点、页码
  • 预印本:存储库(arXiv、bioRxiv)、预印本 ID
  • 其他信息:摘要、关键词、URL
阶段 3:BibTeX 格式化

目标:生成整洁且格式正确的 BibTeX 条目。

了解 BibTeX 条目类型

完整指南请参见 references/bibtex_formatting.md。

常见条目类型:

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

各类型的必需字段:

@article{citationkey,
  author  = {Last1, First1 and Last2, First2},
  title   = {Article Title},
  journal = {Journal Name},
  year    = {2024},
  volume  = {10},
  number  = {3},
  pages   = {123--145},
  doi     = {10.1234/example}
}

@inproceedings{citationkey,
  author    = {Last, First},
  title     = {Paper Title},
  booktitle = {Conference Name},
  year      = {2024},
  pages     = {1--10}
}

@book{citationkey,
  author    = {Last, First},
  title     = {Book Title},
  publisher = {Publisher Name},
  year      = {2024}
}
格式化与清理

使用格式化工具统一 BibTeX 文件格式:

# Format and clean BibTeX file
python scripts/format_bibtex.py references.bib \
  --output formatted_references.bib

# Sort entries by citation key
python scripts/format_bibtex.py references.bib \
  --sort key \
  --output sorted_references.bib

# Sort by year (newest first)
python scripts/format_bibtex.py references.bib \
  --sort year \
  --descending \
  --output sorted_references.bib

# Remove duplicates
python scripts/format_bibtex.py references.bib \
  --deduplicate \
  --output clean_references.bib

# Validate and report issues
python scripts/format_bibtex.py references.bib \
  --validate \
  --report validation_report.txt

格式化操作:

  • 统一字段顺序
  • 统一缩进和间距
  • 正确处理标题中的大小写(使用 {} 保护)
  • 统一作者姓名格式
  • 统一引文键格式
  • 移除不必要的字段
  • 修正常见错误(缺少逗号、花括号)
阶段 4:引文验证

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

全面验证
# Validate BibTeX file
python scripts/validate_citations.py references.bib

# Validate and fix common issues
python scripts/validate_citations.py references.bib \
  --auto-fix \
  --output validated_references.bib

# Generate detailed validation report
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. Search for papers on your topic
python scripts/search_pubmed.py \
  '"CRISPR-Cas Systems"[MeSH] AND "Gene Editing"[MeSH]' \
  --date-start 2020 \
  --limit 200 \
  --output crispr_papers.json

# 2. Extract DOIs from search results and convert to BibTeX
python scripts/extract_metadata.py \
  --input crispr_papers.json \
  --output crispr_refs.bib

# 3. Add specific papers by 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. Format and clean the BibTeX file
python scripts/format_bibtex.py crispr_refs.bib \
  --deduplicate \
  --sort year \
  --descending \
  --output references.bib

# 5. Validate all citations
python scripts/validate_citations.py references.bib \
  --auto-fix \
  --report validation.json \
  --output final_references.bib

# 6. Review validation report and fix any remaining issues
cat validation.json

# 7. Use in your LaTeX document
# \bibliography{final_references}
与文献综述技能集成

此技能可与 literature-review 技能互补:

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

组合工作流:

  1. 使用 literature-review 进行全面的多数据库搜索
  2. 使用 citation-management 提取并验证所有引用
  3. 使用 literature-review 按主题综合研究结果
  4. 使用 citation-management 验证最终参考书目的准确性
# After completing literature review
# Verify all citations in the review document
python scripts/validate_citations.py my_review_references.bib --report review_validation.json

# Format for specific citation style if needed
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:Nature 或 source:Science 按顶级发表渠道筛选
  • 使用 author:LastName 搜索该领域知名领军人物的论文

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

"exact phrase"           # Exact phrase matching
author:lastname          # Search by author
intitle:keyword          # Search in title only
source:journal           # Search specific journal
-exclude                 # Exclude terms
OR                       # Alternative terms
2020..2024              # Year range

搜索示例:

# Find recent reviews on a topic
"CRISPR" intitle:review 2023..2024

# Find papers by specific author on topic
author:Church "synthetic biology"

# Find highly cited foundational work
"deep learning" 2012..2015 sort:citations

# Exclude surveys and focus on methods
"protein folding" -survey -review intitle:method
PubMed 最佳实践

使用 MeSH 术语: MeSH(医学主题词)提供受控词汇,可用于精准搜索。

  1. 查找 MeSH 术语:访问 https://meshb.nlm.nih.gov/search
  2. 在查询中使用:"Diabetes Mellitus, Type 2"[MeSH]
  3. 结合关键词以全面覆盖

字段标签:

[Title]              # Search in title only
[Title/Abstract]     # Search in title or abstract
[Author]             # Search by author name
[Journal]            # Search specific journal
[Publication Date]   # Date range
[Publication Type]   # Article type
[MeSH]              # MeSH term

构建复杂查询:

# Clinical trials on diabetes treatment published recently
"Diabetes Mellitus, Type 2"[MeSH] AND "Drug Therapy"[MeSH] 
AND "Clinical Trial"[Publication Type] AND 2020:2024[Publication Date]

# Reviews on CRISPR in specific journal
"CRISPR-Cas Systems"[MeSH] AND "Nature"[Journal] AND "Review"[Publication Type]

# Specific author's recent work
"Smith AB"[Author] AND cancer[Title/Abstract] AND 2022:2024[Publication Date]

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

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

完整的 API 文档请参见 references/pubmed_search.md。

工具和脚本

search_google_scholar.py

搜索 Google Scholar 并导出结果。

功能:

  • 自动搜索并限制请求频率
  • 支持分页
  • 按年份范围筛选
  • 导出为 JSON 或 BibTeX
  • 提供引用次数信息

用法:

# Basic search
python scripts/search_google_scholar.py "quantum computing"

# Advanced search with filters
python scripts/search_google_scholar.py "quantum computing" \
  --year-start 2020 \
  --year-end 2024 \
  --limit 100 \
  --sort-by citations \
  --output quantum_papers.json

# Export directly to BibTeX
python scripts/search_google_scholar.py "machine learning" \
  --limit 50 \
  --format bibtex \
  --output ml_papers.bib
search_pubmed.py

使用 E-utilities API 搜索 PubMed。

功能:

  • 支持复杂查询(MeSH、字段标签、布尔运算)
  • 按日期范围筛选
  • 按出版物类型筛选
  • 批量检索并获取元数据
  • 导出为 JSON 或 BibTeX

用法:

# Simple keyword search
python scripts/search_pubmed.py "CRISPR gene editing"

# Complex query with filters
python scripts/search_pubmed.py \
  --query '"CRISPR-Cas Systems"[MeSH] AND "therapeutic"[Title/Abstract]' \
  --date-start 2020-01-01 \
  --date-end 2024-12-31 \
  --publication-types "Clinical Trial,Review" \
  --limit 200 \
  --output crispr_therapeutic.json

# Export to BibTeX
python scripts/search_pubmed.py "Alzheimer's disease" \
  --limit 100 \
  --format bibtex \
  --output alzheimers.bib
extract_metadata.py

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

功能:

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

用法:

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

# Single PMID
python scripts/extract_metadata.py --pmid 34265844

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

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

# Batch processing (file with one identifier per line)
python scripts/extract_metadata.py \
  --input paper_ids.txt \
  --output references.bib

# Different output formats
python scripts/extract_metadata.py \
  --doi 10.1038/nature12345 \
  --format json  # or bibtex, yaml
validate_citations.py

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

功能:

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

用法:

# Basic validation
python scripts/validate_citations.py references.bib

# With auto-fix
python scripts/validate_citations.py references.bib \
  --auto-fix \
  --output fixed_references.bib

# Detailed validation report
python scripts/validate_citations.py references.bib \
  --report validation_report.json \
  --verbose

# Only check DOIs
python scripts/validate_citations.py references.bib \
  --check-dois-only
format_bibtex.py

格式化并清理 BibTeX 文件。

功能:

  • 统一格式
  • 排序条目(按键、年份、作者)
  • 删除重复项
  • 验证语法
  • 修正常见错误
  • 遵循引用键规范

用法:

# Basic formatting
python scripts/format_bibtex.py references.bib

# Sort by year (newest first)
python scripts/format_bibtex.py references.bib \
  --sort year \
  --descending \
  --output sorted_refs.bib

# Remove duplicates
python scripts/format_bibtex.py references.bib \
  --deduplicate \
  --output clean_refs.bib

# Complete cleanup
python scripts/format_bibtex.py references.bib \
  --deduplicate \
  --sort year \
  --validate \
  --auto-fix \
  --output final_refs.bib
doi_to_bibtex.py

快速将 DOI 转换为 BibTeX。

功能:

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

用法:

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

# Multiple DOIs
python scripts/doi_to_bibtex.py \
  10.1038/nature12345 \
  10.1126/science.abc1234 \
  10.1016/j.cell.2023.01.001

# From file (one DOI per line)
python scripts/doi_to_bibtex.py --input dois.txt --output references.bib

# Copy to clipboard
python scripts/doi_to_bibtex.py 10.1038/nature12345 --clipboard

最佳实践

搜索策略
  1. 先宽泛搜索,再逐步缩小范围:

    • 从通用术语入手,了解该领域
    • 使用具体关键词和筛选条件优化搜索
    • 使用同义词和相关术语
  2. 使用多个来源:

    • 使用 Google Scholar 全面检索
    • 使用 PubMed 重点检索生物医学内容
    • 使用 arXiv 检索预印本
    • 合并结果以确保完整性
  3. 利用引用信息:

    • 查看“被引用”以查找奠基性论文
    • 查阅重要论文的参考文献
    • 使用引用网络发现相关研究
  4. 记录搜索过程:

    • 保存搜索查询和日期
    • 记录结果数量
    • 记下使用的筛选条件或限制
元数据提取
  1. 有 DOI 时始终使用 DOI:

    • 最可靠的标识符
    • 指向出版物的永久链接
    • 通过 CrossRef 获取元数据的最佳来源
  2. 核实提取的元数据:

    • 检查作者姓名是否正确
    • 核实期刊/会议名称
    • 确认出版年份
    • 验证页码和卷号
  3. 处理特殊情况:

    • 预印本:包含存储库和 ID
    • 后来正式发表的预印本:使用已发表版本
    • 会议论文:包含会议名称和地点
    • 图书章节:包含书名和编辑
  4. 保持一致性:

    • 统一作者姓名格式
    • 统一期刊缩写
    • 使用相同的 DOI 格式(优先使用 URL)
BibTeX 质量
  1. 遵循规范:

    • 使用有意义的引用键(FirstAuthor2024keyword)
    • 使用 {} 保护标题中的大写字母
    • 页码范围使用 --(不要使用单个连字符)
    • 为所有现代出版物添加 DOI 字段
  2. 保持整洁:

    • 删除不必要的字段
    • 不保留冗余信息
    • 保持格式一致
    • 定期验证语法
  3. 系统化整理:

    • 按年份或主题排序
    • 将相关论文分组
    • 为不同项目使用单独的文件
    • 谨慎合并,避免重复
验证
  1. 尽早并频繁地验证:

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

    • DOI 无效:查找正确的标识符
    • 缺少字段:从原始来源提取
    • 重复条目:选择最佳版本,删除其他版本
    • 格式错误:在安全的情况下使用自动修复
  3. 人工审核重要引用:

    • 核实关键论文的引用是否正确
    • 检查作者姓名是否与出版物一致
    • 确认页码和卷号
    • 确保 URL 仍然有效

应避免的常见陷阱

  1. 单一来源偏差:只使用 Google Scholar 或 PubMed

    • 解决方案:搜索多个数据库,确保覆盖全面
  2. 盲目接受元数据:不核实提取的信息

    • 解决方案:抽查提取的元数据,并与原始来源核对
  3. 忽略 DOI 错误:参考文献中包含无效或错误的 DOI

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

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

    • 解决方案:使用验证中的重复检测功能
  6. 缺少必填字段:BibTeX 条目不完整

    • 解决方案:进行验证,并确保所有必填字段均已填写
  7. 过时的预印本:已有正式发表版本,却仍引用预印本

    • 解决方案:检查预印本是否已正式发表,并更新为期刊版本
  8. 特殊字符问题:字符导致 LaTeX 编译失败

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

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

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

工作流示例

示例 1:为论文构建参考文献
# Step 1: Find key papers on your topic
python scripts/search_google_scholar.py "transformer neural networks" \
  --year-start 2017 \
  --limit 50 \
  --output transformers_gs.json

python scripts/search_pubmed.py "deep learning medical imaging" \
  --date-start 2020 \
  --limit 50 \
  --output medical_dl_pm.json

# Step 2: Extract metadata from search results
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

# Step 3: Add specific papers you already know
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

# Step 4: Combine all BibTeX files
cat transformers.bib medical.bib specific.bib > combined.bib

# Step 5: Format and deduplicate
python scripts/format_bibtex.py combined.bib \
  --deduplicate \
  --sort year \
  --descending \
  --output formatted.bib

# Step 6: Validate
python scripts/validate_citations.py formatted.bib \
  --auto-fix \
  --report validation.json \
  --output final_references.bib

# Step 7: Review any issues
cat validation.json | grep -A 3 '"errors"'

# Step 8: Use in LaTeX
# \bibliography{final_references}
示例 2:转换一组 DOI
# You have a text file with DOIs (one per line)
# dois.txt contains:
# 10.1038/s41586-021-03819-2
# 10.1126/science.aam9317
# 10.1016/j.cell.2023.01.001

# Convert all to BibTeX
python scripts/doi_to_bibtex.py --input dois.txt --output references.bib

# Validate the result
python scripts/validate_citations.py references.bib --verbose
示例 3:清理现有的 BibTeX 文件
# You have a messy BibTeX file from various sources
# Clean it up systematically

# Step 1: Format and standardize
python scripts/format_bibtex.py messy_references.bib \
  --output step1_formatted.bib

# Step 2: Remove duplicates
python scripts/format_bibtex.py step1_formatted.bib \
  --deduplicate \
  --output step2_deduplicated.bib

# Step 3: Validate and auto-fix
python scripts/validate_citations.py step2_deduplicated.bib \
  --auto-fix \
  --output step3_validated.bib

# Step 4: Sort by year
python scripts/format_bibtex.py step3_validated.bib \
  --sort year \
  --descending \
  --output clean_references.bib

# Step 5: Final validation report
python scripts/validate_citations.py clean_references.bib \
  --report final_validation.json \
  --verbose

# Review report
cat final_validation.json
示例 4:查找并引用奠基性论文
# Find highly cited papers on a topic
python scripts/search_google_scholar.py "AlphaFold protein structure" \
  --year-start 2020 \
  --year-end 2024 \
  --sort-by citations \
  --limit 20 \
  --output alphafold_seminal.json

# Extract the top 10 by citation count
# (script will have included citation counts in JSON)

# Convert to BibTeX
python scripts/extract_metadata.py \
  --input alphafold_seminal.json \
  --output alphafold_refs.bib

# The BibTeX file now contains the most influential papers

与其他技能集成

文献综述技能

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

  • 文献综述:跨多个数据库进行系统搜索和综合分析
  • 引用管理:提取和验证元数据

组合工作流:

  1. 使用 literature-review 进行系统搜索
  2. 使用 citation-management 提取并验证引用
  3. 使用 literature-review 综合研究发现
  4. 使用 citation-management 确保参考文献准确无误
科学写作技能

引用管理确保科学写作中的参考文献准确无误:

  • 导出经过验证的 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 软件包
# Core dependencies
pip install requests  # HTTP requests for APIs
pip install bibtexparser  # BibTeX parsing and formatting
pip install biopython  # PubMed E-utilities access

# Optional (for Google Scholar)
pip install scholarly  # Google Scholar API wrapper
# or
pip install selenium  # For more robust Scholar scraping
可选工具
# For advanced validation
pip install crossref-commons  # Enhanced CrossRef API access
pip install pylatexenc  # LaTeX special character handling

总结

引文管理技能提供:

  1. 全面的搜索功能,支持 Google Scholar 和 PubMed
  2. 自动提取元数据,支持 DOI、PMID、arXiv ID 和 URL
  3. 引文验证,包括 DOI 核实和完整性检查
  4. BibTeX 格式化,包含标准化和清理工具
  5. 质量保证,通过验证和报告实现
  6. 与科学写作工作流集成
  7. 通过记录搜索和提取方法确保可复现性

使用此技能,在整个研究过程中保持引文准确、完整,并确保参考文献列表达到可发表的标准。

评论

支持 Markdown