mcpField
C
citation-management

citation-management

github.com/ovachiever生産性5666 回インストール48 週間前に更新
リポジトリ

citation-management について

citation-managementは、研究や執筆における引用管理スキルです。学術文献の検索、メタデータ抽出、BibTeXの整形、引用情報の検証を支援し、参考文献を作成・確認する研究者や著者に適しています。

主な機能

  1. 01Google ScholarとPubMedで検索
  2. 02DOI、PMID、arXiv IDからメタデータを抽出
  3. 03BibTeXの生成と整形
  4. 04引用情報とDOIを検証
  5. 05重複した参考文献を検出

活用シーン

  1. 01特定のテーマの学術論文を検索
  2. 02文献識別子をBibTeXに変換
  3. 03原稿の参考文献情報を確認
  4. 04参考文献リストを整理して重複を除去

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/ovachiever/droid-tings --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
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ファイルを整理して書式を整える場合
  • 特定の分野で被引用数の多い論文を探す場合
  • 引用情報が実際の出版物と一致するか確認する場合
  • 論文原稿や学位論文の参考文献リストを作成する場合
  • 引用文献の重複を確認する場合
  • 引用形式の一貫性を確保する場合

基本的なワークフロー

引用文献の管理は、体系的なプロセスに沿って進めます:

フェーズ 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:物理学、数学、CS、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.org 経由で DOI が正しく解決される
    • BibTeX と CrossRef のメタデータが一致する
    • 壊れた DOI や無効な 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 スキルとの連携

このスキルは literature-review スキルを補完します:

Literature Review スキル → 系統的な検索と統合
Citation Management スキル → 引用の技術的な処理

組み合わせたワークフロー:

  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 のベストプラクティス

重要な論文を見つける:

  • 被引用数順(被引用数の多い順)に並べ替えます
  • 概要を把握するにはレビュー論文を探します
  • 影響度を評価するには「Cited by」を確認します
  • 新たな引用を追跡するには引用アラートを使用します

高度な演算子(一覧は 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(Medical Subject Headings)は、精度の高い検索に利用できる統制語彙です。

  1. https://meshb.nlm.nih.gov/search で MeSH 用語を探します
  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. 引用を活用します:

    • 重要な論文を見つけるには「Cited by」を確認します
    • 重要な論文の参考文献を確認します
    • 引用ネットワークを使って関連する研究を見つけます
  4. 検索内容を記録します:

    • 検索クエリと日付を保存します
    • 検索結果の件数を記録します
    • 適用したフィルターや制限を記録します
メタデータの抽出
  1. 利用可能な場合は、必ず 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

他のスキルとの連携

Literature Review スキル

Citation Management は、Literature Review の技術基盤を提供します。

  • Literature Review:複数のデータベースを用いた体系的な検索と統合
  • Citation Management:メタデータの抽出と検証

連携ワークフロー:

  1. 体系的な検索手法には literature-review を使用します
  2. 引用の抽出と検証には citation-management を使用します
  3. 調査結果の統合には literature-review を使用します
  4. 参考文献の正確性を確保するには citation-management を使用します
Scientific Writing スキル

Citation Management は、Scientific Writing の正確な参考文献を確保します。

  • 検証済みの BibTeX をエクスポートして、LaTeX 原稿で使用します
  • 引用が出版基準に適合していることを確認します
  • ジャーナルの要件に従って参考文献の書式を整えます
Venue Templates スキル

Citation Management は、投稿可能な原稿を作成するために Venue Templates と連携します。

  • 会場によって異なる引用スタイルが求められます
  • 適切に書式設定された参考文献を生成します
  • 引用が会場の要件を満たしていることを検証します

リソース

同梱リソース

リファレンス(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. 文書化された検索・抽出方法による再現性

このスキルを使用して、研究全体を通じて引用の正確性と完全性を保ち、出版可能な品質の参考文献リストを作成してください。

コメント