10 Seconds vs. 10 Minutes
You've read a great paper. You want to cite it. This should take 10 seconds.
Instead: copy the author names (is it "van" or "Van"?), find the journal name (abbreviated or full?), check the volume and page numbers, format everything according to... which style does this journal want again?
Multiply by 50 references. Welcome to your afternoon.
It doesn't have to be this way. Modern tools can turn citation management from a multi-hour ordeal into a few minutes of copy-paste. Here's the workflow that actually works.
The BibTeX Primer
Before diving into tools and techniques, let's make sure we're on the same page about BibTeX.
Basic Structure
A BibTeX entry looks like this:
@article{einstein1905,
author = {Albert Einstein},
title = {On the Electrodynamics of Moving Bodies},
journal = {Annalen der Physik},
year = {1905},
volume = {322},
number = {10},
pages = {891--921}
}The key components:
@article- Entry type (article, book, inproceedings, etc.)einstein1905- Citation key (how you reference it)- Fields - Author, title, year, etc.
Entry Types You'll Use Most
| Type | Use For |
|------|---------|
| @article | Journal papers |
| @inproceedings | Conference papers |
| @book | Books |
| @incollection | Book chapters |
| @phdthesis | Dissertations |
| @misc | Websites, preprints, anything else |
Citing in Your Document
In your .tex file:
Einstein's theory \cite{einstein1905} revolutionized physics.
% Or with multiple citations:
Recent work \cite{paper1, paper2, paper3} shows...Finding Citations: The Smart Way
DOI Lookup
The Digital Object Identifier (DOI) is your best friend. Every modern paper has one, and it unlocks instant BibTeX.
Method 1: doi2bib
- Find the paper's DOI (usually on the first page or in the URL)
- Go to doi2bib.org
- Paste the DOI
- Copy the generated BibTeX
Method 2: Thetapad's Smart Citations
- Click the citation button in the editor
- Paste a DOI, arXiv ID, or search by title
- Select the correct paper
- Click "Add to bibliography"
The entry is automatically formatted and added to your .bib file.
arXiv Papers
arXiv preprints have their own ID system:
@misc{vaswani2017attention,
title = {Attention Is All You Need},
author = {Vaswani, Ashish and others},
year = {2017},
eprint = {1706.03762},
archivePrefix = {arXiv}
}Most citation tools recognize arXiv IDs and generate proper entries.
Semantic Scholar
For papers where you only have the title:
- Search on semanticscholar.org
- Find your paper
- Click "Cite" → "BibTeX"
- Copy the entry
Semantic Scholar often has cleaner metadata than Google Scholar.
Google Scholar (Last Resort)
Google Scholar's BibTeX is often messy, but it works:
- Search for the paper
- Click the quotation marks icon
- Click "BibTeX"
- Clean up the entry manually
Common issues to fix:
- Author names may be incomplete
- Journal names might not match your style
- Page numbers may be missing
Organizing Your Bibliography
One File Per Project vs. Master Bibliography
Per-project .bib files:
- Pros: Self-contained, portable
- Cons: Duplicate entries across projects
Master bibliography:
- Pros: No duplicates, easier to maintain
- Cons: Large file, need to share separately
For most researchers, per-project files work best. They keep projects independent and easy to share.
Consistent Citation Keys
Develop a naming convention and stick to it:
authorYear → einstein1905
authorYearWord → einstein1905relativity
authorEtAlYear → vaswani2017attentionWhatever you choose, be consistent. Your future self will thank you.
Alphabetize Entries
Keep your .bib file alphabetized by citation key. It makes finding and updating entries much easier.
Citation Styles
Different journals require different styles. Here's how to handle them:
Using natbib
The natbib package provides flexible citation commands:
\usepackage[round]{natbib}
\citet{einstein1905} % Einstein (1905)
\citep{einstein1905} % (Einstein, 1905)
\citeauthor{einstein1905} % Einstein
\citeyear{einstein1905} % 1905Using biblatex
For more control, biblatex offers extensive customization:
\usepackage[style=apa]{biblatex}
\addbibresource{references.bib}
% In text:
\textcite{einstein1905}
\parencite{einstein1905}
% At the end:
\printbibliographyCommon Style Packages
| Field | Package/Style |
|-------|---------------|
| APA | biblatex-apa |
| IEEE | IEEEtran |
| Chicago | biblatex-chicago |
| Nature | naturemag |
| Numeric | \bibliographystyle{plain} |
Check your target journal's author guidelines for the required style.
Common Problems and Solutions
"Citation undefined"
Symptom: [?] appears instead of the citation.
Causes:
- Citation key typo
- Forgot to run BibTeX
- Entry not in
.bibfile
Fix: Check the key matches exactly, then compile twice (LaTeX → BibTeX → LaTeX → LaTeX).
Wrong Author Format
Problem: "John Smith" displays as "Smith, John"
Fix: In your .bib file, use:
author = {Smith, John} % Last, First
% or
author = {John Smith} % First Last (BibTeX figures it out)For multiple authors:
author = {Smith, John and Doe, Jane and Lee, Bob}Special Characters
LaTeX special characters need escaping in BibTeX:
title = {The {\$}100 Algorithm} % Dollar sign
author = {M{\"u}ller, Hans} % Umlaut
title = {Na{\"\i}ve Approach} % Naive with umlautInconsistent Journal Names
Journals may appear as "Nature" in one entry and "Nature (London)" in another.
Fix: Use journal abbreviation strings:
@string{nature = "Nature"}
@article{paper1,
journal = nature,
...
}Advanced Techniques
Auto-Generating from DOI Lists
If you have many DOIs, batch-process them:
- Create a file with one DOI per line
- Use a script to fetch BibTeX for each
- Combine into your
.bibfile
Zotero Integration
Zotero can export BibTeX:
- Collect papers in Zotero
- Right-click → Export Collection
- Choose "BibTeX" format
- Save as your
.bibfile
For ongoing sync, use the Better BibTeX plugin.
Cleaning Up Entries
Tools like bibtool can standardize your bibliography:
bibtool -s references.bib -o cleaned.bibThis sorts entries and normalizes formatting.
The Ideal Workflow
Here's a citation workflow that minimizes friction:
- Find the paper - Use DOI whenever possible
- Add to bibliography - Use smart citation lookup
- Cite in text - Use your editor's autocomplete
- Compile - Let BibTeX do its job
- Review - Check the bibliography renders correctly
With the right tools, each citation takes seconds, not minutes.
Conclusion
Citation management doesn't have to be painful:
- Use DOIs for instant, accurate BibTeX
- Keep your
.bibfile organized - Let your editor help with autocomplete and lookups
- Match your bibliography style to journal requirements
The time you save on citations is time you can spend on actual research. And isn't that the point?
Happy citing!