Search code examples
markdownpandocpandoc-citeproc

Pandoc - problem with citeproc forcing author's name


No matter which CSL I use, Pandoc's citeproc forces the name of the author into the text.

Here's my Markdown:

---
bibliography: bib.json
csl: american-school-of-classical-studies-at-athens
...

Computers are complicated @verletComputerExperimentsClassical1967.

This should produce

Computers are complicated1

Instead, it produces

Computers are complicated Verlet1

If I use Harvard Cite Them Right it should produce

Computers are complicated (Verlet, 1967).

Instead, I get

Computers are complicated Verlet (1967).

How do I get citeproc to follow the specified CSL?

I'm running pandoc --citeproc test.md -o test.html to generate the output.

Version is pandoc 2.19.2, citeproc 0.8.0.1.

Update

It works as expected if the citation in Markdown is wrapped with [ and ]

Computers are complicated [@verletComputerExperimentsClassical1967].

Is that meant to happen, or is it a bug?


Solution

  • This should be by design, citations without square brackets are called "in-text citations" in Quarto docs and "author-in-text citations" in Pandoc docs:

    Citation Syntax

    Quarto uses the standard Pandoc markdown representation for citations (e.g. [@citation]) — citations go inside square brackets and are separated by semicolons.
    /../
    You can also write in-text citations, as follows:
    MD: @knuth1984 says blah. ; Output: Knuth (1984) says blah.

    https://quarto.org/docs/authoring/footnotes-and-citations.html


    Extension: citations

    To cite a bibliographic item with an identifier foo, use the syntax @foo.
    Normal citations should be included in square brackets, with semicolons separating distinct items /../
    You can also write an author-in-text citation, by omitting the square brackets

    https://pandoc.org/MANUAL.html#extension-citations