Bibliography¶
NormaDocs uses Pandoc as the conversion engine, which
means bibliography handling is exactly Pandoc's: a BibTeX (.bib) file plus
a Citation Style Language (.csl) file.
The CLI flags are:
| Flag | Purpose |
|---|---|
-b FILE / --bibliography FILE |
Path to a BibTeX file (.bib). |
-c FILE / --csl FILE |
Path to a CSL file (.csl) that controls the citation format. |
If you pass --bibliography without --csl, the standard's default CSL is
used (when one is bundled). If you pass --csl without --bibliography,
Pandoc accepts the file but no citations are rendered unless your Markdown
contains citation keys.
Minimal example¶
The repository ships a sample BibTeX file at
examples/references.bib.
Use it like this:
In the Markdown source, cite with Pandoc syntax:
Pandoc resolves the citation keys against the .bib file and renders the
references list at the end of the document using the style's CSL.
Choosing a CSL style¶
Common style files for academic work:
apa.csl— APA 7th Edition.ieee.csl— IEEE.chicago-author-date.csl— Chicago author-date.modern-language-association.csl— MLA 9th.
CSL files are maintained by the CSL project. You can download them from the CSL styles repository.
Save the .csl file locally and pass it with --csl:
CSL bundled with NormaDocs¶
NormaDocs does not currently bundle CSL files. The --csl flag accepts any
CSL 1.0.2 file on disk. If you want a default CSL per standard, fetch the
matching CSL file from the upstream repository and pass it explicitly.
Common issues¶
- Citations appear as
[@doe2024article]in the output. Your CSL file is missing or the citation key has a typo. Run a quickpandoc --citeproccheck against the same.biband.cslto isolate the problem. - References list is empty. The
.bibfile is missing or--bibliographywas not passed. Pandoc only renders references it can resolve. - Output is not styled. The
.cslfile is malformed. Validate it at https://validator.citationstyles.org/.
See Troubleshooting for more.