C

Comprehensive Citation Management

Enterprise-grade skill for comprehensive, citation, management, academic. Includes structured workflows, validation checks, and reusable patterns for scientific.

SkillClipticsscientificv1.0.0MIT
0 views0 copies

Comprehensive Citation Management

A scientific computing skill for managing citations throughout the research and writing process. Comprehensive Citation Management helps you organize references, format bibliographies in multiple citation styles, integrate with reference databases, and maintain consistent citations across manuscripts and documents.

When to Use This Skill

Choose Comprehensive Citation Management when:

  • Organizing references for a research paper or thesis
  • Converting between citation formats (APA, MLA, Chicago, Vancouver)
  • Building BibTeX databases from DOIs or PubMed IDs
  • Managing large reference collections with tagging and categorization

Consider alternatives when:

  • You need a GUI reference manager (use Zotero, Mendeley, or EndNote)
  • You need full-text PDF management (use a dedicated reference manager)
  • You're writing a blog post without formal citations

Quick Start

claude "Create a BibTeX entry from this DOI: 10.1038/s41586-021-03819-2"
import requests doi = "10.1038/s41586-021-03819-2" headers = {"Accept": "application/x-bibtex"} response = requests.get(f"https://doi.org/{doi}", headers=headers) print(response.text) # @article{Jumper_2021, # title={Highly accurate protein structure prediction with AlphaFold}, # author={Jumper, John and Evans, Richard and ...}, # journal={Nature}, # volume={596}, # pages={583--589}, # year={2021}, # doi={10.1038/s41586-021-03819-2} # }

Core Concepts

Citation Styles

StyleFieldExample In-Text
APA 7thPsychology, social sciences(Jumper et al., 2021)
MLA 9thHumanities(Jumper et al. 583)
ChicagoHistory, businessJumper et al., "Highly Accurate..."
VancouverBiomedical[1] or superscriptΒΉ
IEEEEngineering, CS[1]
HarvardGeneral academic(Jumper et al. 2021)

BibTeX Management

import bibtexparser # Parse existing .bib file with open("references.bib", "r") as f: bib_db = bibtexparser.load(f) print(f"References: {len(bib_db.entries)}") # Add new entry new_entry = { "ENTRYTYPE": "article", "ID": "jumper2021alphafold", "title": "Highly accurate protein structure prediction with AlphaFold", "author": "Jumper, John and Evans, Richard", "journal": "Nature", "volume": "596", "pages": "583--589", "year": "2021", "doi": "10.1038/s41586-021-03819-2" } bib_db.entries.append(new_entry) # Write updated .bib file with open("references.bib", "w") as f: bibtexparser.dump(bib_db, f)

DOI-Based Reference Building

def doi_to_bibtex(doi): """Convert a DOI to BibTeX entry""" headers = {"Accept": "application/x-bibtex"} resp = requests.get(f"https://doi.org/{doi}", headers=headers, allow_redirects=True) if resp.status_code == 200: return resp.text return None def pubmed_to_bibtex(pmid): """Convert PubMed ID to BibTeX via NCBI""" from Bio import Entrez Entrez.email = "[email protected]" handle = Entrez.efetch(db="pubmed", id=pmid, rettype="xml") records = Entrez.read(handle) article = records["PubmedArticle"][0]["MedlineCitation"]["Article"] return format_as_bibtex(article) # Batch convert DOIs dois = [ "10.1038/s41586-021-03819-2", "10.1126/science.abj8754", "10.1038/s41592-021-01252-x" ] for doi in dois: bib = doi_to_bibtex(doi) print(bib)

Configuration

ParameterDescriptionDefault
citation_styleOutput citation formatapa
bib_filePath to .bib databasereferences.bib
auto_fetch_metadataResolve DOIs automaticallytrue
dedup_strategyDeduplication method (DOI, title)doi
sort_orderBibliography sort orderauthor_year

Best Practices

  1. Use DOIs as the primary identifier. DOIs are permanent, unique identifiers for publications. Always include the DOI in your BibTeX entries β€” it enables automatic metadata lookup, deduplication, and linking to the full text.

  2. Maintain a single centralized .bib file. Keep all references in one BibTeX file per project and let your LaTeX or Markdown build system handle formatting. This prevents duplicate entries and makes bibliography management tractable.

  3. Validate BibTeX entries before submission. Check for missing required fields (year, author, title), broken DOIs, and encoding issues (LaTeX special characters). Tools like bibtex-tidy can normalize and validate your .bib file.

  4. Tag references for organization. Use the keywords field in BibTeX entries to categorize references by topic, methodology, or relevance. This makes it easy to generate topic-specific bibliographies from a large reference collection.

  5. Convert citation styles programmatically. Use CSL (Citation Style Language) with tools like citeproc-py or Pandoc for reliable style conversion. Manual reformatting introduces errors, especially with author name formats and date styles.

Common Issues

BibTeX keys conflict across merged .bib files. Use a consistent key generation scheme: firstauthor_year_keyword (e.g., jumper2021alphafold). When merging files, check for key duplicates and rename before merging.

Special characters break LaTeX compilation. BibTeX requires LaTeX escaping for characters like &, %, #, and accented letters (ΓΌ β†’ "{u}). Use UTF-8 encoded .bib files with \usepackage[utf8]{inputenc} in LaTeX, or escape characters in the .bib entries.

Citation formatting doesn't match target journal requirements. Each journal has specific citation style requirements. Download the journal's CSL file from the Zotero Style Repository and use it with Pandoc or your citation processor. Don't manually format citations β€” it's error-prone and tedious.

Community

Reviews

Write a review

No reviews yet. Be the first to review this template!

Similar Templates