citation-management について
citation-managementは、研究や執筆における引用管理スキルです。学術文献の検索、メタデータ抽出、BibTeXの整形、引用情報の検証を支援し、参考文献を作成・確認する研究者や著者に適しています。
主な機能
- 01Google ScholarとPubMedで検索
- 02DOI、PMID、arXiv IDからメタデータを抽出
- 03BibTeXの生成と整形
- 04引用情報とDOIを検証
- 05重複した参考文献を検出
活用シーン
- 01特定のテーマの学術論文を検索
- 02文献識別子をBibTeXに変換
- 03原稿の参考文献情報を確認
- 04参考文献リストを整理して重複を除去
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ ovachiever/ droid-tings --skill citation-managementインストール後、Claude Code で/citation-managementを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/bibtex_template.bibcitation_checklist.mdreferences/bibtex_formatting.mdcitation_validation.mdgoogle_scholar_search.mdmetadata_extraction.mdpubmed_search.mdscripts/doi_to_bibtex.pyextract_metadata.pyformat_bibtex.pysearch_google_scholar.pysearch_pubmed.pyvalidate_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 を参照):
-
CrossRef API:DOI の主な取得元
- ジャーナル論文の包括的なメタデータ
- 出版社が提供する情報
- 著者、タイトル、ジャーナル、巻、ページ、日付を含む
- 無料で、API キーは不要
-
PubMed E-utilities:生物医学文献
- NCBI の公式メタデータ
- MeSH 用語、抄録を含む
- PMID および PMCID 識別子
- 無料。大量に利用する場合は API キーを推奨
-
arXiv API:物理学、数学、CS、q-bio のプレプリント
- プレプリントの完全なメタデータ
- バージョン追跡
- 著者の所属機関
- 無料で、オープンアクセス
-
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 を参照):
-
DOI の検証:
- doi.org 経由で DOI が正しく解決される
- BibTeX と CrossRef のメタデータが一致する
- 壊れた DOI や無効な DOI がない
-
必須フィールド:
- エントリータイプに必要なフィールドがすべて揃っている
- 重要な情報に空欄や欠落がない
- 著者名が適切にフォーマットされている
-
データの整合性:
- 年が有効である(4 桁で、妥当な範囲内)
- 巻と号が数値である
- ページが正しくフォーマットされている(例:123--145)
- URL にアクセスできる
-
重複の検出:
- 同じ DOI が複数回使われている
- 類似したタイトル(重複の可能性)
- 著者、年、タイトルの組み合わせが同じ
-
フォーマットへの準拠:
- 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 スキル → 引用の技術的な処理
組み合わせたワークフロー:
literature-reviewを使って、複数のデータベースを対象に包括的な検索を行うcitation-managementを使って、すべての引用を抽出して検証するliterature-reviewを使って、調査結果をテーマ別に統合する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)は、精度の高い検索に利用できる統制語彙です。
- https://meshb.nlm.nih.gov/search で MeSH 用語を探します
- クエリで使用します:
"Diabetes Mellitus, Type 2"[MeSH] - 網羅的に検索するため、キーワードと組み合わせます
フィールドタグ:
[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
ベストプラクティス
検索戦略
-
広く検索してから絞り込みます:
- 分野を把握するため、一般的な用語から始めます
- 具体的なキーワードやフィルターを使って絞り込みます
- 同義語や関連用語を使用します
-
複数の情報源を使用します:
- 網羅的な検索には Google Scholar を使用します
- 生物医学に焦点を当てる場合は PubMed を使用します
- プレプリントには arXiv を使用します
- 網羅性を高めるため、検索結果を組み合わせます
-
引用を活用します:
- 重要な論文を見つけるには「Cited by」を確認します
- 重要な論文の参考文献を確認します
- 引用ネットワークを使って関連する研究を見つけます
-
検索内容を記録します:
- 検索クエリと日付を保存します
- 検索結果の件数を記録します
- 適用したフィルターや制限を記録します
メタデータの抽出
-
利用可能な場合は、必ず DOI を使用します:
- 最も信頼性の高い識別子です
- 出版物への恒久的なリンクです
- CrossRef を介して最適なメタデータを取得できます
-
抽出したメタデータを確認します:
- 著者名が正しいことを確認します
- ジャーナル名/カンファレンス名を確認します
- 出版年を確認します
- ページ番号と巻号を検証します
-
特殊なケースに対応します:
- プレプリント:リポジトリ名と ID を含めます
- 後に出版されたプレプリント:出版版を使用します
- カンファレンス論文:カンファレンス名と開催地を含めます
- 書籍の章:書籍名と編者を含めます
-
一貫性を保ちます:
- 著者名の形式を統一します
- ジャーナルの略称を統一します
- DOI の形式を統一します(URL 形式を推奨します)
BibTeX の品質
-
規約に従う:
- 意味のある引用キーを使用します(FirstAuthor2024keyword)
- タイトルの大文字表記を {} で保護します
- ページ範囲には -- を使用します(単一のハイフンは使用しません)
- 近年の出版物にはすべて DOI フィールドを含めます
-
整理された状態を保つ:
- 不要なフィールドを削除します
- 重複する情報を避けます
- 書式を統一します
- 構文を定期的に検証します
-
体系的に整理する:
- 年またはトピックごとに並べ替えます
- 関連する論文をグループ化します
- プロジェクトごとに別々のファイルを使用します
- 重複を避けるため、慎重に統合します
検証
-
早めに、頻繁に検証する:
- 引用を追加する際に確認します
- 投稿前に参考文献全体を検証します
- 手動で編集した後は再検証します
-
問題を速やかに修正する:
- 無効な DOI:正しい識別子を探します
- 不足しているフィールド:元の情報源から取得します
- 重複:最適なバージョンを選び、ほかを削除します
- 書式エラー:安全な場合は自動修正を使用します
-
重要な引用は手動で確認する:
- 重要な論文が正しく引用されていることを確認します
- 著者名が出版物と一致していることを確認します
- ページ番号と巻を確認します
- URL が最新であることを確認します
避けるべきよくある落とし穴
-
単一情報源への偏り:Google Scholar または PubMed のみを使用する
- 解決策:網羅的に検索するため、複数のデータベースを調べます
-
メタデータを無条件に受け入れる:抽出した情報を検証しない
- 解決策:抽出したメタデータを元の情報源と照合して抜き取り確認します
-
DOI エラーを無視する:参考文献に無効または誤った DOI がある
- 解決策:最終投稿前に検証を実行します
-
書式の不統一:引用キーのスタイルや書式が混在している
- 解決策:format_bibtex.py を使用して統一します
-
重複した項目:同じ論文が異なるキーで複数回引用されている
- 解決策:検証時に重複検出を使用します
-
必須フィールドの不足:BibTeX エントリが不完全である
- 解決策:検証を実行し、必須フィールドがすべて揃っていることを確認します
-
古いプレプリント:出版済みの版が存在するのにプレプリントを引用する
- 解決策:プレプリントが出版済みか確認し、ジャーナル版に更新します
-
特殊文字の問題:文字が原因で LaTeX のコンパイルに失敗する
- 解決策:BibTeX では適切なエスケープまたは Unicode を使用します
-
投稿前の検証不足:引用エラーがある状態で投稿する
- 解決策:最終確認として必ず検証を実行します
-
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:メタデータの抽出と検証
連携ワークフロー:
- 体系的な検索手法には literature-review を使用します
- 引用の抽出と検証には citation-management を使用します
- 調査結果の統合には literature-review を使用します
- 参考文献の正確性を確保するには 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:品質保証チェックリスト
外部リソース
検索エンジン:
- Google Scholar:https://scholar.google.com/
- PubMed:https://pubmed.ncbi.nlm.nih.gov/
- PubMed Advanced Search:https://pubmed.ncbi.nlm.nih.gov/advanced/
メタデータ API:
- CrossRef API:https://api.crossref.org/
- PubMed E-utilities:https://www.ncbi.nlm.nih.gov/books/NBK25501/
- arXiv API:https://arxiv.org/help/api/
- DataCite API:https://api.datacite.org/
ツールとバリデーター:
- MeSH Browser:https://meshb.nlm.nih.gov/search
- DOI Resolver:https://doi.org/
- BibTeX Format:http://www.bibtex.org/Format/
引用スタイル:
- BibTeX ドキュメント:http://www.bibtex.org/
- LaTeX の参考文献管理:https://www.overleaf.com/learn/latex/Bibliography_management
依存関係
必須の 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
概要
引用管理スキルでは、次のことができます。
- Google Scholar と PubMed の包括的な検索機能
- DOI、PMID、arXiv ID、URL からのメタデータの自動抽出
- DOI の検証と完全性チェックを含む引用の検証
- 標準化とクリーニングツールによるBibTeX の書式設定
- 検証とレポートによる品質保証
- 科学論文執筆ワークフローとの連携
- 文書化された検索・抽出方法による再現性
このスキルを使用して、研究全体を通じて引用の正確性と完全性を保ち、出版可能な品質の参考文献リストを作成してください。