agentsclimarketplace

Bibliography

Skill SeidSmatti/misc-CC-Plugins/plugins/academic-latex/skills/bibliography

Personal multi usage Claude Code plugins/skills marketplace

Install
npx -y skills add SeidSmatti/misc-CC-Plugins --skill bibliography

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Manages LaTeX bibliographies — biblatex+biber (modern, Unicode, customizable) and natbib+bibtex (classic, journal-template-required). Detects the active stack from the preamble, sets up new ones from scratch, picks an appropriate style, normalizes .bib entries, and converts between stacks when migration is needed. Use when the user adds citations, edits .bib files, asks about citation styles, or hits a "Citation undefined"/"empty bibliography" error. Delegates to /academic-latex:docs-lookup for non-trivial style options.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

7.5 KB, as published. Nobody here has run it

bibliography — biblatex+biber and natbib+bibtex

This suite supports both stacks equally. The first action is always: detect what the document uses.

Detect the active stack

# biblatex+biber if either is present:
grep -E '\\usepackage(\[[^\]]*\])?\{biblatex\}' main.tex
grep -E '\\addbibresource' main.tex

# natbib+bibtex if these are present and biblatex is not:
grep -E '\\usepackage(\[[^\]]*\])?\{natbib\}' main.tex
grep -E '\\bibliographystyle\{' main.tex
grep -E '\\bibliography\{' main.tex

If both biblatex and natbib are loaded, that's a bug — they conflict. Stop and report.

If neither is loaded but the document has \cite{...} calls, the user is using LaTeX's built-in thebibliography env or the document is broken.

biblatex + biber (recommended for new work)

Setup

\usepackage[backend=biber, style=authoryear-comp, sorting=nyt, maxcitenames=2]{biblatex}
\addbibresource{refs.bib}                  % NOTE: WITH .bib extension
% In body:
As shown by \textcite{einstein1905}, ...
\parencite{wallace1905}                    % "(Wallace, 1905)"
\printbibliography

Compile order: pdflatexbiberpdflatexpdflatex. Latexmk handles automatically.

Built-in biblatex styles

StyleOutput
numeric (default)[1]
numeric-comp[1, 2-4]
alphabetic[Ein05]
authoryear(Einstein, 1905)
authoryear-comp(Einstein 1905; Wallace 1906)
authortitle(Einstein, "Theory")
verbosefull bibliographic info on first cite
readingannotated reading-list style

Discipline-specific styles (load matching package)

  • IEEE: \usepackage[backend=biber, style=ieee]{biblatex} + biblatex-ieee package.
  • APA 7: \usepackage[backend=biber, style=apa]{biblatex} + biblatex-apa.
  • Chicago author-date: \usepackage[backend=biber, style=chicago-authordate]{biblatex} + biblatex-chicago.
  • Chicago notes-bib: style=chicago-notes.
  • Nature: style=nature + biblatex-nature.
  • ACS (chemistry): \usepackage[style=chem-acs]{biblatex} + biblatex-chem.

Citation commands

CommandOutput (authoryear-comp)
\cite{key}per-style default
\textcite{key}"Author (year)"
\parencite{key}"(Author year)"
\autocite{key}engine-style aware
\footcite{key}footnote with full cite
\nocite{*}include all .bib entries without citing

Common errors

  • Empty bibliography — ran bibtex when biber expected. Check <main>.bcf exists (biber) vs <main>.aux only (bibtex). Latexmk normally picks correctly.
  • Package biblatex Warning: Please rerun LaTeX after biber — needs another pdflatex pass. Latexmk auto-handles.
  • Mixing \bibliography{refs} (legacy) with biblatex causes silent miscompiles. Use \addbibresource{refs.bib} only.

Sources: https://ctan.org/pkg/biblatex, https://github.com/plk/biblatex.

natbib + bibtex (legacy and many journal templates)

Setup

\usepackage[round, authoryear]{natbib}    % options: round|square, authoryear|numbers
% In body:
\citet{einstein1905}                       % "Einstein (1905)"  textual
\citep{einstein1905}                       % "(Einstein, 1905)" parenthetical
% Bibliography:
\bibliographystyle{plainnat}               % no .bst extension
\bibliography{refs}                        % no .bib extension

Compile order: pdflatexbibtexpdflatexpdflatex. Latexmk handles automatically.

Standard natbib styles

plainnat, abbrvnat, unsrtnat. Plus discipline-specific: agsm (Harvard), apalike, chicago, dinat.

Journal-required styles (often natbib-mandated)

Publisher / JournalStyle file
Elsevier elsarticleelsarticle-num, elsarticle-harv, model5-names
Springer SVJourspbasic, spphys, spmpsci
IEEE (with IEEEtran class)IEEEtran (bibtex), or biblatex-ieee for biblatex
ACM (older)acm, acmlarge
AGUagu
AMSvarious per-journal .bst files

When a journal class loads natbib and provides a .bst, do not switch to biblatex. Switching breaks submission.

Citation commands (natbib)

CommandOutput
\citet{key}"Author (year)"
\citep{key}"(Author, year)"
\citealt{key}"Author year" (no parens)
\citealp{key}"Author, year" (no parens)
\citeauthor{key}"Author"
\citeyear{key}"year"

Common errors

  • I couldn't open database file refs.bib.bib — passed refs.bib to \bibliography{}; pass basename refs only.
  • Citation appears as [?] — bibtex didn't run, or the key isn't in any .bib. Run bibtex <main> and check output.
  • Loading natbib AFTER hyperref breaks citation links — natbib must be loaded first.
  • Non-ASCII in .bib may corrupt silently — use {\"o}, \'e escapes for bibtex; or migrate to biblatex+biber.

Sources: https://ctan.org/pkg/natbib.

.bib file hygiene

Whichever stack:

  • Use stable, lowercase, hyphen-separated keys: einstein1905-relativity, not Einstein 05 or MyKey42.
  • One reference per record. Required fields per type per BibTeX spec (@article needs author, title, journal, year; etc.).
  • For DOI: doi = {10.1234/abc} (no URL prefix; biblatex/natbib add it).
  • For multi-author last names with prefixes ("van der Waals"), use {van der Waals} to keep them grouped, or split with family=Waals, prefix=van der.

Migrating natbib → biblatex (or vice versa)

When a paper changes target journal:

  1. Confirm the new template's required stack (read the journal's author-instructions PDF — delegate to /academic-latex:docs-lookup).
  2. Remove the old stack's preamble lines and bibliography commands.
  3. Add the new stack's preamble.
  4. Rewrite citation commands per the mapping table:
natbibbiblatex
\citet{x}\textcite{x}
\citep{x}\parencite{x}
\citealt{x}\textcite[][]{x} (rough)
\citeauthor{x}\citeauthor{x} (same)
\citeyear{x}\citeyear{x} (same)
  1. Replace \bibliography{refs} + \bibliographystyle{...} with \addbibresource{refs.bib} + biblatex's style= option.
  2. Recompile. Confirm output looks right.

Mass-rewrite with care — sed -i on \citet\textcite is OK only if you've reviewed the .tex first; some \citet calls may need \textcite while others want \citeauthor.

When uncertain

For style-specific options (e.g., "does biblatex-apa support et-al-min=3 for 7th edition?") delegate to /academic-latex:docs-lookup. For journal templates, fetch the journal's author-instructions PDF before assuming a stack.

Last verified

2026-05-09 — biblatex v3.21 (2025-07-10), natbib v8.31b, biber, plk/biblatex on GitHub.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.