biblatex

LaTeX biblatex/biber packages for modern bibliography management. Use when helping users cite references, manage .bib files, choose citation styles, or troubleshoot bibliography compilation.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "biblatex" with this command: npx skills add igbuend/grimbard/igbuend-grimbard-biblatex

biblatex + biber — Modern Bibliography Management

CTAN: https://ctan.org/pkg/biblatex
Manual: texdoc biblatex

Setup

\usepackage[
  backend=biber,        % modern backend (not bibtex)
  style=authoryear,     % citation + bibliography style
  sorting=nyt,          % name-year-title
  maxbibnames=99,       % show all authors in bibliography
  maxcitenames=2,       % truncate in citations
]{biblatex}

\addbibresource{references.bib}   % .bib file (include extension!)

% At end of document:
\printbibliography

Compilation Workflow

pdflatex  main.tex    # 1. Generate .bcf file
biber     main        # 2. Process bibliography (no extension!)
pdflatex  main.tex    # 3. Resolve references
pdflatex  main.tex    # 4. Final pass (page numbers, back-refs)

Or with latexmk: latexmk -pdf main.tex (handles everything automatically).

.bib File Format

@article{einstein1905,
  author    = {Einstein, Albert},
  title     = {On the Electrodynamics of Moving Bodies},
  journal   = {Annalen der Physik},
  year      = {1905},
  volume    = {322},
  number    = {10},
  pages     = {891--921},
  doi       = {10.1002/andp.19053221004},
}

@book{knuth1984,
  author    = {Knuth, Donald E.},
  title     = {The {\TeX}book},
  publisher = {Addison-Wesley},
  year      = {1984},
  isbn      = {0-201-13447-0},
}

@inproceedings{smith2023,
  author    = {Smith, John and Doe, Jane},
  title     = {Deep Learning for Everything},
  booktitle = {Proceedings of ICML},
  year      = {2023},
  pages     = {100--110},
  doi       = {10.1234/icml.2023.100},
}

@online{wiki2024,
  author    = {{Wikipedia contributors}},
  title     = {LaTeX},
  url       = {https://en.wikipedia.org/wiki/LaTeX},
  urldate   = {2024-01-15},
  year      = {2024},
}

@thesis{jones2020,
  author    = {Jones, Alice},
  title     = {Quantum Computing Applications},
  type      = {phdthesis},
  institution = {MIT},
  year      = {2020},
}

@manual{pgfmanual,
  author    = {Tantau, Till},
  title     = {The TikZ and PGF Packages},
  year      = {2023},
  url       = {https://ctan.org/pkg/pgf},
}

Common Entry Types

TypeUse for
@articleJournal articles
@bookBooks
@inproceedingsConference papers
@incollectionChapter in edited book
@thesisPhD/Master's thesis (use type field)
@onlineWebsites, web resources
@manualTechnical documentation
@techreportTechnical reports
@miscAnything else
@unpublishedUnpublished manuscripts
@patentPatents
@softwareSoftware packages

Common Fields

FieldDescription
authorAuthor(s) — {Last, First and Last, First}
titleTitle — protect caps with {NASA}
year/datePublication year or full date (2023-06-15)
journalJournal name
booktitleConference/collection title
publisherPublisher
volume/numberVolume and issue
pagesPage range (10--20)
doiDigital Object Identifier
urlWeb URL
urldateAccess date for online sources
isbn/issnIdentifiers
editorEditor(s)
editionEdition ({2nd})
noteAdditional notes
abstractAbstract (not printed by default)
keywordsKeywords for filtering
langidLanguage (english, german) — for hyphenation

Author Name Formats

author = {Last, First},                    % single
author = {Last, First and Last, First},    % multiple
author = {Last, Jr., First},               % suffix
author = {{World Health Organization}},    % corporate (double braces)
author = {da Silva, João},                 % name particles

Citation Commands

CommandOutput (authoryear)Output (numeric)
\cite{key}Einstein 1905[1]
\parencite{key}(Einstein 1905)[1]
\textcite{key}Einstein (1905)Einstein [1]
\autocite{key}Style-dependentStyle-dependent
\fullcite{key}Full bibliography entry inline
\footcite{key}Footnote citation
\citeauthor{key}EinsteinEinstein
\citeyear{key}19051905
\citetitle{key}On the Electro...

With Options

\parencite[see][p.~42]{einstein1905}
% Output: (see Einstein 1905, p. 42)

\parencite[p.~42]{einstein1905}
% Output: (Einstein 1905, p. 42)

% Multiple citations
\parencite{einstein1905, knuth1984}
% Output: (Einstein 1905; Knuth 1984)

Bibliography Styles

StyleCitationBibliographyUse for
authoryearEinstein (1905)Alphabetical by authorHumanities, social sciences
numeric[1]Numbered by citation orderSciences, engineering
alphabetic[Ein05]Alphabetical labelsMath, CS
authortitleEinstein, "On the..."Author-titleHumanities
verboseFull cite in footnotesDetailedLaw, history
ieee[1]IEEE formatEngineering (needs biblatex-ieee)
apa(Einstein, 1905)APA 7th edPsychology (needs biblatex-apa)
chicago-authordate(Einstein 1905)ChicagoHumanities (needs biblatex-chicago)
nature¹Nature formatNatural sciences (biblatex-nature)
% For IEEE:
\usepackage[style=ieee, backend=biber]{biblatex}

% For APA:
\usepackage[style=apa, backend=biber]{biblatex}
% Also needs: \DeclareLanguageMapping{english}{english-apa}

Sorting Options

ValueSorting order
ntyName, title, year (default for authoryear)
nytName, year, title
noneCitation order (for numeric)
yntYear, name, title
anytAlphabetic label, name, year, title

Printing the Bibliography

% Simple
\printbibliography

% With title
\printbibliography[title={References}]

% As section (not chapter)
\printbibliography[heading=subbibliography]

% Filtered
\printbibliography[type=article, title={Journal Articles}]
\printbibliography[keyword=primary, title={Primary Sources}]
\printbibliography[notkeyword=primary, title={Secondary Sources}]

Multiple Bibliographies

% By type
\printbibliography[type=book, heading=subbibliography, title={Books}]
\printbibliography[type=article, heading=subbibliography, title={Articles}]

% By keyword
% In .bib: keywords = {primary}
\printbibliography[keyword=primary, title={Primary Sources}]
\printbibliography[notkeyword=primary, title={Other Sources}]

% Per chapter (refsection)
\begin{refsection}
\chapter{First Chapter}
Text \cite{something}.
\printbibliography[heading=subbibliography]
\end{refsection}

Useful Options

\usepackage[
  backend=biber,
  style=authoryear,
  sorting=nyt,
  maxbibnames=99,      % all authors in bibliography
  maxcitenames=2,      % "Smith et al." after 2 authors
  mincitenames=1,      % show at least 1 before "et al."
  uniquelist=false,    % don't disambiguate with more names
  uniquename=false,    % don't disambiguate with initials
  dashed=false,        % repeat author name (vs dash for same author)
  doi=true,            % print DOIs
  isbn=false,          % hide ISBNs
  url=false,           % hide URLs (except @online)
  eprint=false,        % hide eprint info
  date=year,           % show only year
]{biblatex}

Comparison: biblatex vs natbib/BibTeX

Featurebiblatex + bibernatbib + BibTeX
Unicode✅ Full support❌ Limited
StylesFlexible (LaTeX macros).bst files (hard to edit)
Entry typesMore (@online, @software)Fewer
Filteringkeyword, type filtersManual
Multiple bibliographiesBuilt-inNeeds multibib/etc
Fine-grained citations\textcite, \parencite, etc\citet, \citep
Date handlingFull dates, rangesYear only
Name handlingSophisticatedBasic
Compilationpdflatex → biber → pdflatex²pdflatex → bibtex → pdflatex²
Journal requirementSome require BibTeX✅ Traditional

Recommendation: Use biblatex for new documents. Use natbib only if a journal template requires it.

Common Pitfalls

ProblemCauseFix
"I found no \citation commands"biber not runRun biber after first pdflatex
"I found no \bibstyle command"Mixing bibtex with biblatexUse biber, not bibtex
Citation shows [key]biber hasn't run / errorCheck biber log, re-run
.bib file not foundMissing extension in \addbibresourceInclude .bib extension
Unicode in .bib failsUsing BibTeX backendUse backend=biber
Author "et al." wrongmaxcitenames too lowAdjust maxcitenames
Style not foundMissing packageInstall biblatex-ieee, biblatex-apa, etc.
Refsection emptyCitations outside refsectionEach refsection is independent
Name sorting wrongParticles (van, de)Use \DeclareNameAlias or check useprefix
"Runaway argument"Missing comma in .bibCheck .bib syntax (commas between fields)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

tikz

No summary provided by upstream source.

Repository SourceNeeds Review
General

latex

No summary provided by upstream source.

Repository SourceNeeds Review
General

pgfplots

No summary provided by upstream source.

Repository SourceNeeds Review
General

ethical-hacking-ethics

No summary provided by upstream source.

Repository SourceNeeds Review