인용 관리
개요
연구 및 글쓰기 과정 전반에 걸쳐 인용을 체계적으로 관리합니다. 이 스킬은 학술 데이터베이스(Google Scholar, PubMed) 검색, 여러 출처(CrossRef, PubMed, arXiv)에서 정확한 메타데이터 추출, 인용 정보 검증, 올바르게 포맷된 BibTeX 항목 생성을 위한 도구와 전략을 제공합니다.
인용 정확성 유지, 참조 오류 방지, 재현 가능한 연구 보장에 중요합니다. 종합적인 연구 워크플로우를 위해 문헌 검토(literature-review) 스킬과 원활하게 통합됩니다.
이 스킬을 사용해야 할 때
다음과 같은 경우 이 스킬을 사용하세요:
- Google Scholar 또는 PubMed에서 특정 논문 검색
- DOI, PMID, arXiv ID를 올바르게 포맷된 BibTeX으로 변환
- 인용에 대한 완전한 메타데이터(저자, 제목, 저널, 연도 등) 추출
- 기존 인용의 정확성 검증
- BibTeX 파일 정리 및 포맷팅
- 특정 분야에서 높은 인용을 받은 논문 찾기
- 인용 정보가 실제 출판물과 일치하는지 확인
- 원고 또는 논문을 위한 참고문헌 목록 구축
- 중복 인용 확인
- 일관된 인용 포맷팅 보장
이러한 인용으로 구축된 문서에 다이어그램이 필요한 경우 scientific-schematics 스킬을 사용하세요.
핵심 워크플로우
인용 관리는 체계적인 프로세스를 따릅니다. 아래 각 단계는 표준 명령을 보여줍니다. 모든 변형, 옵션 및 메타데이터 출처 세부 정보는 references/core_workflow.md에 있습니다.
1단계: 논문 발견 및 검색
관련 논문을 찾습니다. 둘 이상의 데이터베이스를 검색하세요. 적용 범위가 크게 다르며, 단일 출처만 사용하는 것이 편향된 참조 목록의 가장 흔한 원인입니다.
# OpenAlex: 다학제 REST API; 선택적 OPENALEX_API_KEY로 계정 할당량 사용
python scripts/search_openalex.py "CRISPR 유전자 편집" --limit 50 --output results.json
# PubMed: 생물의학 및 생명과학 분야의 권위 (3500만+ 인용)
python scripts/search_pubmed.py "알츠하이머병 치료" --limit 100 --output alz.json
# Google Scholar: 가장 광범위한 범위, 그러나 스크래핑 방식 -- 속도 제한 및 차단 위험
python scripts/search_google_scholar.py "CRISPR 유전자 편집" --limit 50 --output scholar.json
기본 출처로 OpenAlex 또는 PubMed를 선호하세요. Google Scholar는 API가 없습니다: scholarly가 스크래핑하며, 결과 사이에 2~5초 대기하고, 차단이 자주 발생하므로 의존하기보다는 보조 수단으로 사용해야 합니다.
쿼리 연산자, 필드 태그 및 MeSH 용어 구성은 references/search_strategies.md에 있습니다.
2단계: 메타데이터 추출
식별자(DOI, PMID, PMCID, arXiv ID, URL)를 완전한 메타데이터로 변환합니다. CrossRef가 DOI의 기본 출처입니다.
python scripts/doi_to_bibtex.py 10.1038/s41586-021-03819-2 # 빠른 단일 DOI
python scripts/extract_metadata.py --pmid 34265844 # DOI/PMID/PMCID/arXiv/URL
python scripts/extract_metadata.py --input identifiers.txt --output citations.bib
경로에 DOI가 없는 URL은 게시자가 기사 페이지에 포함시키는 citation_doi 메타 태그를 통해 확인한 후 CrossRef에 전달됩니다. 생성기는 공유 인용 키 체계를 사용합니다. 메타데이터 차이로 인해 다른 키가 생성될 수 있습니다. DOI 및 서지 정체성을 통해 중복을 확인하세요.
2.5단계: 웹 검색을 통한 메타데이터 보강 (필수)
API는 종종 불완전한 레코드를 반환합니다. 추출 후, 포맷팅 전에 이 단계를 실행하세요. 게시자 레코드에서 누락된 서지 필드를 조사하고 각 출처를 기록하세요. 온라인 우선 논문은 아직 권/페이지가 없을 수 있습니다. 일부는 기사 번호를 사용하거나 DOI가 없을 수 있습니다. 실제 출판 상태를 유지하고, 스타일에 적합한 기사 번호 필드를 사용하며, 페이지, 권 또는 DOI를 절대 임의로 만들지 마세요. 사용 불가/해당 없음 필드를 감사 로그에 기록하고, 독자에게 유용하거나 인용 스타일에서 요구하는 경우에만 렌더링된 note를 추가하세요.
먼저 비용이 적게 드는 출처를 확인하세요. OpenAlex 또는 CrossRef 레코드에는 PubMed가 누락한 필드가 있는 경우가 많습니다.
python scripts/search_openalex.py "<정확한 제목>" --limit 1
추출된 메타데이터를 신뢰하지 마세요. 저자, 제목 및 저널 문자열은 게시자가 제어하는 레코드에서 그대로 가져온 것입니다.
$(...), 백틱 또는 따옴표가 포함된 제목은 명령에 붙여넣는 순간 셸 구문이 됩니다. 메타데이터를 셸 문자열로 구성하지 말고subprocess인수 목록으로 전달하세요. 셸을 사용해야 하는 경우 모든 대체 값을 작은따옴표로 묶고 포함된 따옴표를'\''로 이스케이프하세요. 인용 키가 경로에 도달하기 전에^[A-Za-z0-9]+$에 대해 검증하세요.
필드별 검색 전략, 네 가지 검색 옵션 및 로깅 형식은 references/core_workflow.md에 있습니다.
3단계: BibTeX 포맷팅
깔끔하고 일관된 항목을 생성합니다. 항목 유형 및 필수 필드는 references/bibtex_formatting.md에 있습니다.
python scripts/format_bibtex.py references.bib --output clean.bib --deduplicate
python scripts/format_bibtex.py references.bib --output clean.bib --rekey --deduplicate
쓰기는 선택 사항입니다. --output(또는 --in-place) 없이 결과는 표준 출력으로 가고 입력 파일은 그대로 유지됩니다. 여러 출처의 결과를 병합할 때 --rekey를 사용하면 동일한 논문이 하나의 항목으로 축소됩니다.
4단계: 인용 검증
완전성, 학술지 적합성 및 원고와의 일치성을 확인합니다.
python scripts/validate_citations.py references.bib --report report.json
python scripts/validate_citations.py references.bib --venue nature
python scripts/validate_citations.py references.bib --manuscript paper.tex
python scripts/validate_citations.py references.bib --check-dois # 느림; CrossRef 접속
스크립트는 높은 심각도의 오류(필수 필드 누락, 잘못된 연도, 해결되지 않은 인용 또는 명시적 --min-count 미만 개수)에서 0이 아닌 값을 반환합니다. 학술지 참조 개수 수치는 편집 규칙의 지침일 뿐 제출 요구 사항이 아니므로, 기준에 미치지 못하는 경우 경고만 표시됩니다.
검증 규칙 및 학술지 기준은 references/citation_validation.md에 있습니다.
5단계: 글쓰기 워크플로우와의 통합
검색, 추출, 포맷, 검증, 인용. 문헌 검토 및 Zotero/pyzotero 내보내기 경로를 포함한 종단 간 시퀀스는 references/core_workflow.md 및 references/example_workflows.md에 있습니다.
API 계약은 2026-09-30에 공식 문서를 기준으로 검토되었습니다. 엔드포인트, 인증, 페이지네이션 및 확인 제한에 대해서는 references/api_contracts.md를 참조하세요. 참조의 네트워크 예제는 해당 위치에 실시간 스모크 테스트로 기록되지 않는 한 예시입니다.
참조 파일
- references/core_workflow.md: 전체 5단계 전체.
- references/search_strategies.md: OpenAlex, Google Scholar 및 PubMed 쿼리 구성.
- references/script_reference.md: 모든 번들 스크립트의 인수 및 예제.
- references/best_practices.md: 검색, 추출, BibTeX 품질, 검증.
- references/example_workflows.md: 4가지 종단 간 작업 예제.
- references/google_scholar_search.md, references/pubmed_search.md: 고급 검색 구문.
- references/metadata_extraction.md, references/bibtex_formatting.md, references/citation_validation.md: 주제별 세부 정보.
피해야 할 일반적인 실수
-
단일 출처 편향: 하나의 데이터베이스만 사용
- 해결책: 최소 OpenAlex와 PubMed를 검색한 후
format_bibtex.py --rekey --deduplicate로 병합
- 해결책: 최소 OpenAlex와 PubMed를 검색한 후
-
메타데이터 맹목적 수용: 추출된 정보를 확인하지 않음
- 해결책: 추출된 메타데이터를 원본 출처와 대조 확인
-
DOI 오류 무시: 참고문헌에서 깨지거나 잘못된 DOI
- 해결책: 최종 제출 전에 검증 실행
-
불일치 포맷팅: 혼합된 인용 키 스타일, 포맷
- 해결책: format_bibtex.py를 사용하여 표준화
-
중복 항목: 동일한 논문이 다른 키로 여러 번 인용됨
- 해결책: 검증에서 중복 탐지 사용
-
필수 필드 누락: 불완전한 BibTeX 항목 (권, 페이지, DOI 누락)
- 해결책: 게시자 레코드 확인, 누락과 해당 없음 또는 아직 할당되지 않음을 구분하고, 메타데이터를 임의로 만들지 않고 해결되지 않은 필드를 기록.
-
오래된 프리프린트: 출판된 버전이 있는데 프리프린트 인용
- 해결책: 프리프린트가 출판되었는지 확인하고 저널 버전으로 업데이트
-
특수 문자 문제: 문자로 인한 LaTeX 컴파일 실패
- 해결책: BibTeX에서 적절한 이스케이프 또는 유니코드 사용
-
제출 전 검증 누락: 인용 오류가 있는 상태로 제출
- 해결책: 최종 확인으로 항상 검증 실행
-
수동 BibTeX 입력: 항목을 수동으로 입력
- 해결책: 스크립트를 사용하여 항상 메타데이터 출처에서 추출
다른 스킬과의 통합
문헌 검토 스킬
인용 관리는 문헌 검토에 기술 인프라를 제공합니다:
- 문헌 검토: 다중 데이터베이스 체계적 검색 및 종합
- 인용 관리: 메타데이터 추출 및 검증
결합 워크플로우:
- 문헌 검토를 사용하여 체계적 검색 방법론 적용
- 인용 관리를 사용하여 인용 추출 및 검증
- 문헌 검토를 사용하여 결과 종합
- 인용 관리를 사용하여 참고문헌 정확성 보장
과학 글쓰기 스킬
인용 관리는 과학 글쓰기를 위한 정확한 참조를 보장합니다:
- 검증된 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_openalex.py: OpenAlex 검색 클라이언트 (선택적 계정 API 키)search_pubmed.py: PubMed E-utilities API 클라이언트search_google_scholar.py: Google Scholar 검색 자동화extract_metadata.py: 범용 메타데이터 추출기validate_citations.py: 인용 검증 및 확인format_bibtex.py: BibTeX 포맷터 및 정리 도구doi_to_bibtex.py: 빠른 DOI to BibTeX 변환기_common.py: 공유 BibTeX 파서, 렌더러 및 인용 키 체계
에셋 (assets/ 내):
bibtex_template.bib: 모든 유형에 대한 예제 BibTeX 항목citation_checklist.md: 품질 보증 체크리스트
외부 리소스
검색 엔진:
- OpenAlex: https://openalex.org/
- Google Scholar: https://scholar.google.com/
- PubMed: https://pubmed.ncbi.nlm.nih.gov/
- PubMed 고급 검색: https://pubmed.ncbi.nlm.nih.gov/advanced/
메타데이터 API:
- OpenAlex API: https://docs.openalex.org/
- 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 브라우저: https://meshb.nlm.nih.gov/search
- DOI 리졸버: https://doi.org/
- BibTeX 형식: http://www.bibtex.org/Format/
인용 스타일:
- BibTeX 문서: http://www.bibtex.org/
- LaTeX 참고문헌 관리: https://www.overleaf.com/learn/latex/Bibliography_management
종속성
필수 Python 패키지
uv pip install requests # CrossRef, PubMed, OpenAlex, arXiv HTTP 접속
BibTeX 파싱, 렌더링, 중복 제거 및 검증은 표준 라이브러리입니다 (scripts/_common.py). format_bibtex.py는 타사 패키지가 필요 없습니다. validate_citations.py는 requests를 가져옵니다 (로컬 전용 검증 포함).
선택 사항
uv pip install scholarly # search_google_scholar.py 전용
자격 증명 전송 위치
키는 기본 사용에 선택 사항입니다. 각 자격 증명은 해당 서비스에만 전송됩니다. 어떤 스크립트도 환경 변수를 함께 묶지 않습니다. OpenAlex는 약속된 이메일 기반 할당량 부스트가 아닌 문서화된 계정 예산을 사용합니다. 실패한 페이지는 부분 검색을 완료된 것으로 내보내지 않고 오류와 함께 종료됩니다.
| 변수 | 전송 대상 | 목적 |
|---|---|---|
NCBI_API_KEY | eutils.ncbi.nlm.nih.gov | Entrez 속도 제한 증가 |
NCBI_EMAIL | eutils.ncbi.nlm.nih.gov, pmc.ncbi.nlm.nih.gov | NCBI가 요청한 호출자 식별 |
OPENALEX_EMAIL | api.openalex.org | 선택적 연락처 식별자 |
OPENALEX_API_KEY | api.openalex.org | 선택적 계정 할당량, Authorization 헤더로 전송 |
api.openalex.org, api.crossref.org, api.datacite.org, export.arxiv.org, pmc.ncbi.nlm.nih.gov, doi.org 및 eutils.ncbi.nlm.nih.gov는 이러한 변수가 설정되지 않은 경우 자격 증명 없이 쿼리됩니다.
요약
인용 관리 스킬은 다음을 제공합니다:
- OpenAlex, PubMed 및 Google Scholar에 대한 종합적인 검색 기능
- DOI, PMID, PMCID, arXiv ID, URL에서 자동 메타데이터 추출
- DOI 확인 및 학술지별 참조 기준을 포함한 인용 검증