10 KiB
10 KiB
Citation Quality Checklist
Use this checklist to ensure your citations are accurate, complete, and properly formatted before final submission.
Pre-Submission Checklist
✓ Metadata Accuracy
- All author names are correct and properly formatted
- Article titles match the actual publication
- Journal/conference names are complete (not abbreviated unless required)
- Publication years are accurate
- Volume and issue numbers are correct
- Page ranges are accurate
✓ Required Fields
- All @article entries have: author, title, journal, year
- All @book entries have: author/editor, title, publisher, year
- All @inproceedings entries have: author, title, booktitle, year
- Modern papers (2000+) include DOI when available
- All entries have unique citation keys
✓ DOI Verification
- All DOIs are properly formatted (10.XXXX/...)
- DOIs resolve correctly to the article
- No DOI prefix in the BibTeX field (no "doi:" or "https://doi.org/")
- Metadata from CrossRef matches your BibTeX entry
- Run:
python scripts/validate_citations.py references.bib --check-dois
✓ Formatting Consistency
- Page ranges use double hyphen (--) not single (-)
- No "pp." prefix in pages field
- Author names use "and" separator (not semicolon or ampersand)
- Capitalization protected in titles ({AlphaFold}, {CRISPR}, etc.)
- Month names use standard abbreviations if included
- Citation keys follow consistent format
✓ Duplicate Detection
- No duplicate DOIs in bibliography
- No duplicate citation keys
- No near-duplicate titles
- Preprints updated to published versions when available
- Run:
python scripts/validate_citations.py references.bib
✓ Special Characters
- Accented characters properly formatted (e.g., {"u} for ü)
- Mathematical symbols use LaTeX commands
- Chemical formulas properly formatted
- No unescaped special characters (%, &, $, #, etc.)
✓ BibTeX Syntax
- All entries have balanced braces {}
- Fields separated by commas
- No comma after last field in each entry
- Valid entry types (@article, @book, etc.)
- Run:
python scripts/validate_citations.py references.bib
✓ File Organization
- Bibliography sorted in logical order (by year, author, or key)
- Consistent formatting throughout
- No formatting inconsistencies between entries
- Run:
python scripts/format_bibtex.py references.bib --sort year
Automated Validation
Step 1: Format and Clean
python scripts/format_bibtex.py references.bib \
--deduplicate \
--sort year \
--descending \
--output clean_references.bib
What this does:
- Removes duplicates
- Standardizes formatting
- Fixes common issues (page ranges, DOI format, etc.)
- Sorts by year (newest first)
Step 2: Validate
python scripts/validate_citations.py clean_references.bib \
--check-dois \
--report validation_report.json \
--verbose
What this does:
- Checks required fields
- Verifies DOIs resolve
- Detects duplicates
- Validates syntax
- Generates detailed report
Step 3: Review Report
cat validation_report.json
Address any:
- Errors: Must fix (missing fields, broken DOIs, syntax errors)
- Warnings: Should fix (missing recommended fields, formatting issues)
- Duplicates: Remove or consolidate
Step 4: Final Check
python scripts/validate_citations.py clean_references.bib --verbose
Goal: Zero errors, minimal warnings
Manual Review Checklist
Critical Citations (Top 10-20 Most Important)
For your most important citations, manually verify:
- Visit DOI link and confirm it's the correct article
- Check author names against the actual publication
- Verify year matches publication date
- Confirm journal/conference name is correct
- Check that volume/pages match
Common Issues to Watch For
Missing Information:
- No DOI for papers published after 2000
- Missing volume or page numbers for journal articles
- Missing publisher for books
- Missing conference location for proceedings
Formatting Errors:
- Single hyphen in page ranges (123-145 → 123--145)
- Ampersands in author lists (Smith & Jones → Smith and Jones)
- Unprotected acronyms in titles (DNA → {DNA})
- DOI includes URL prefix (https://doi.org/10.xxx → 10.xxx)
Metadata Mismatches:
- Author names differ from publication
- Year is online-first instead of print publication
- Journal name abbreviated when it should be full
- Volume/issue numbers swapped
Duplicates:
- Same paper cited with different citation keys
- Preprint and published version both cited
- Conference paper and journal version both cited
Field-Specific Checks
Biomedical Sciences
- PubMed Central ID (PMCID) included when available
- MeSH terms appropriate (if using)
- Clinical trial registration number included (if applicable)
- All references to treatments/drugs accurately cited
Computer Science
- arXiv ID included for preprints
- Conference proceedings properly cited (not just "NeurIPS")
- Software/dataset citations include version numbers
- GitHub links stable and permanent
General Sciences
- Data availability statements properly cited
- Retracted papers identified and removed
- Preprints checked for published versions
- Supplementary materials referenced if critical
Final Pre-Submission Steps
1 Week Before Submission
- Run full validation with DOI checking
- Fix all errors and critical warnings
- Manually verify top 10-20 most important citations
- Check for any retracted papers
3 Days Before Submission
- Re-run validation after any manual edits
- Ensure all in-text citations have corresponding bibliography entries
- Ensure all bibliography entries are cited in text
- Check citation style matches journal requirements
1 Day Before Submission
- Final validation check
- LaTeX compilation successful with no warnings
- PDF renders all citations correctly
- Bibliography appears in correct format
- No placeholder citations (Smith et al. XXXX)
Submission Day
- One final validation run
- No last-minute edits without re-validation
- Bibliography file included in submission package
- Figures/tables referenced in text match bibliography
Quality Metrics
Excellent Bibliography
- ✓ 100% of entries have DOIs (for modern papers)
- ✓ Zero validation errors
- ✓ Zero missing required fields
- ✓ Zero broken DOIs
- ✓ Zero duplicates
- ✓ Consistent formatting throughout
- ✓ All citations manually spot-checked
Acceptable Bibliography
- ✓ 90%+ of modern entries have DOIs
- ✓ Zero high-severity errors
- ✓ Minor warnings only (e.g., missing recommended fields)
- ✓ Key citations manually verified
- ✓ Compilation succeeds without errors
Needs Improvement
- ✗ Missing DOIs for recent papers
- ✗ High-severity validation errors
- ✗ Broken or incorrect DOIs
- ✗ Duplicate entries
- ✗ Inconsistent formatting
- ✗ Compilation warnings or errors
Emergency Fixes
If you discover issues at the last minute:
Broken DOI
# Find correct DOI
# Option 1: Search CrossRef
# https://www.crossref.org/
# Option 2: Search on publisher website
# Option 3: Google Scholar
# Re-extract metadata
python scripts/extract_metadata.py --doi CORRECT_DOI
Missing Information
# Extract from DOI
python scripts/extract_metadata.py --doi 10.xxxx/yyyy
# Or from PMID (biomedical)
python scripts/extract_metadata.py --pmid 12345678
# Or from arXiv
python scripts/extract_metadata.py --arxiv 2103.12345
Duplicate Entries
# Auto-remove duplicates
python scripts/format_bibtex.py references.bib \
--deduplicate \
--output fixed_references.bib
Formatting Errors
# Auto-fix common issues
python scripts/format_bibtex.py references.bib \
--output fixed_references.bib
# Then validate
python scripts/validate_citations.py fixed_references.bib
Long-Term Best Practices
During Research
- Add citations to bibliography file as you find them
- Extract metadata immediately using DOI
- Validate after every 10-20 additions
- Keep bibliography file under version control
During Writing
- Cite as you write
- Use consistent citation keys
- Don't delay adding references
- Validate weekly
Before Submission
- Allow 2-3 days for citation cleanup
- Don't wait until the last day
- Automate what you can
- Manually verify critical citations
Tool Quick Reference
Extract Metadata
# From DOI
python scripts/doi_to_bibtex.py 10.1038/nature12345
# From multiple sources
python scripts/extract_metadata.py \
--doi 10.1038/nature12345 \
--pmid 12345678 \
--arxiv 2103.12345 \
--output references.bib
Validate
# Basic validation
python scripts/validate_citations.py references.bib
# With DOI checking (slow but thorough)
python scripts/validate_citations.py references.bib --check-dois
# Generate report
python scripts/validate_citations.py references.bib \
--report validation.json \
--verbose
Format and Clean
# Format and fix issues
python scripts/format_bibtex.py references.bib
# Remove duplicates and sort
python scripts/format_bibtex.py references.bib \
--deduplicate \
--sort year \
--descending \
--output clean_refs.bib
Summary
Minimum Requirements:
- Run
format_bibtex.py --deduplicate - Run
validate_citations.py - Fix all errors
- Compile successfully
Recommended:
- Format, deduplicate, and sort
- Validate with
--check-dois - Fix all errors and warnings
- Manually verify top citations
- Re-validate after fixes
Best Practice:
- Validate throughout research process
- Use automated tools consistently
- Keep bibliography clean and organized
- Document any special cases
- Final validation 1-3 days before submission
Remember: Citation errors reflect poorly on your scholarship. Taking time to ensure accuracy is worthwhile!