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.
What this skill does
# biblatex + biber — Modern Bibliography Management
**CTAN:** https://ctan.org/pkg/biblatex
**Manual:** `texdoc biblatex`
## Setup
```latex
\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
```bash
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
```bibtex
@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
| Type | Use for |
|------|---------|
| `@article` | Journal articles |
| `@book` | Books |
| `@inproceedings` | Conference papers |
| `@incollection` | Chapter in edited book |
| `@thesis` | PhD/Master's thesis (use `type` field) |
| `@online` | Websites, web resources |
| `@manual` | Technical documentation |
| `@techreport` | Technical reports |
| `@misc` | Anything else |
| `@unpublished` | Unpublished manuscripts |
| `@patent` | Patents |
| `@software` | Software packages |
### Common Fields
| Field | Description |
|-------|-------------|
| `author` | Author(s) — `{Last, First and Last, First}` |
| `title` | Title — protect caps with `{NASA}` |
| `year`/`date` | Publication year or full date (`2023-06-15`) |
| `journal` | Journal name |
| `booktitle` | Conference/collection title |
| `publisher` | Publisher |
| `volume`/`number` | Volume and issue |
| `pages` | Page range (`10--20`) |
| `doi` | Digital Object Identifier |
| `url` | Web URL |
| `urldate` | Access date for online sources |
| `isbn`/`issn` | Identifiers |
| `editor` | Editor(s) |
| `edition` | Edition (`{2nd}`) |
| `note` | Additional notes |
| `abstract` | Abstract (not printed by default) |
| `keywords` | Keywords for filtering |
| `langid` | Language (`english`, `german`) — for hyphenation |
### Author Name Formats
```bibtex
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
| Command | Output (authoryear) | Output (numeric) |
|---------|--------------------|--------------------|
| `\cite{key}` | Einstein 1905 | [1] |
| `\parencite{key}` | (Einstein 1905) | [1] |
| `\textcite{key}` | Einstein (1905) | Einstein [1] |
| `\autocite{key}` | Style-dependent | Style-dependent |
| `\fullcite{key}` | Full bibliography entry inline | — |
| `\footcite{key}` | Footnote citation | — |
| `\citeauthor{key}` | Einstein | Einstein |
| `\citeyear{key}` | 1905 | 1905 |
| `\citetitle{key}` | On the Electro... | — |
### With Options
```latex
\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
| Style | Citation | Bibliography | Use for |
|-------|----------|-------------|---------|
| `authoryear` | Einstein (1905) | Alphabetical by author | Humanities, social sciences |
| `numeric` | [1] | Numbered by citation order | Sciences, engineering |
| `alphabetic` | [Ein05] | Alphabetical labels | Math, CS |
| `authortitle` | Einstein, "On the..." | Author-title | Humanities |
| `verbose` | Full cite in footnotes | Detailed | Law, history |
| `ieee` | [1] | IEEE format | Engineering (needs `biblatex-ieee`) |
| `apa` | (Einstein, 1905) | APA 7th ed | Psychology (needs `biblatex-apa`) |
| `chicago-authordate` | (Einstein 1905) | Chicago | Humanities (needs `biblatex-chicago`) |
| `nature` | ¹ | Nature format | Natural sciences (`biblatex-nature`) |
```latex
% For IEEE:
\usepackage[style=ieee, backend=biber]{biblatex}
% For APA:
\usepackage[style=apa, backend=biber]{biblatex}
% Also needs: \DeclareLanguageMapping{english}{english-apa}
```
## Sorting Options
| Value | Sorting order |
|-------|---------------|
| `nty` | Name, title, year (default for authoryear) |
| `nyt` | Name, year, title |
| `none` | Citation order (for numeric) |
| `ynt` | Year, name, title |
| `anyt` | Alphabetic label, name, year, title |
## Printing the Bibliography
```latex
% 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
```latex
% 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
```latex
\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
| Feature | biblatex + biber | natbib + BibTeX |
|---------|-----------------|-----------------|
| Unicode | ✅ Full support | ❌ Limited |
| Styles | Flexible (LaTeX macros) | .bst files (hard to edit) |
| Entry types | More (`@online`, `@software`) | Fewer |
| Filtering | `keyword`, `type` filters | Manual |
| Multiple bibliographies | Built-in | Needs multibib/etc |
| Fine-grained citations | `\textcite`, `\parencite`, etc | `\citet`, `\citep` |
| Date handling | Full dates, ranges | Year only |
| Name handlRelated in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.