Skip to content

Inconsistent or absent bibliography heading across formats #13211

@CoryMcCartan

Description

@CoryMcCartan

I have:

  • searched the issue tracker for similar issues
  • installed the latest version of Quarto CLI
  • formatted my issue following the Bug Reports guide

Bug description

Different output formats either create or do not create a references/bibliography section header by default, and may give it different names.

Some formats allow you to customize the name via a heading before ::: {#refs}; others do not (because ::: {#refs} is a Pandoc feature, it cannot be used in some formats, like Typst without citeproc; see #8710).

Overall, this makes it harder to render to multiple formats or change between formats.

Steps to reproduce

Base document:

---
bibliography: refs.bib
---

The Metropolis-Rosenbluth-Teller -@metropolis1953 algorithm uses a symmetric proposal.

In refs.bib:

@article{metropolis1953,
    title={Equation of state calculations by fast computing machines},
    author={Metropolis, Nicholas and Rosenbluth, Arianna W and Rosenbluth, Marshall N and Teller, Augusta H and Teller, Edward},
    journal={The Journal of Chemical Physics},
    volume={21},
    number={6},
    pages={1087--1092},
    year={1953},
    publisher={American Institute of Physics}
}

Actual behavior

  • HTML: heading titled "References"
format: html
  • LaTeX, using citeproc: no bibliography heading created
format: pdf
  • LaTeX using natbib: heading titled "References"
format: pdf
cite-method: natbib
  • Typst default: heading titled "Bibliography" (not customizable)
format: typst
  • Typst with citeproc: no heading created
format: typst
citeproc: true

Expected behavior

  1. The default Typst bibliography heading perhaps should. be "References" to match TeX. This is an easy fix for which I am happy to submit a PR if desired.

  2. Perhaps when citeproc: true, Quarto could insert the following at the end of the document before handing off to Pandoc, if no ::: {#refs} already exists, so that the behavior is more consistent with other methods. Of course this won't work on Typst until Support #refs div bibliography placement for default Typst citation processing  #8710 is resolved.

# References

::: {#refs}
:::

Your environment

  • OS: MacOS 15.6
  • IDE: none

Quarto check output

Quarto 1.7.29
[✓] Checking environment information...
      Quarto cache location: /Users/cmccartan/Library/Caches/quarto
[✓] Checking versions of quarto binary dependencies...
      Pandoc version 3.6.3: OK
      Dart Sass version 1.85.1: OK
      Deno version 1.46.3: OK
      NOTE: Typst version 0.13.1 does not strictly match 0.13.0 and strict checking is enabled. Please use 0.13.0.
[✓] Checking versions of quarto dependencies......OK
[✓] Checking Quarto installation......OK
      Version: 1.7.29
      Path: /Applications/quarto/bin

[✓] Checking tools....................OK
      TinyTeX: (external install)
      Chromium: (not installed)

[✓] Checking LaTeX....................OK
      Using: TinyTex
      Path: /Users/cmccartan/Library/TinyTeX/bin/universal-darwin
      Version: 2025

[✓] Checking Chrome Headless....................OK
      Using: Chrome found on system
      Path: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
      Source: MacOS known location

[✓] Checking basic markdown render....OK

[✓] Checking Python 3 installation....OK
      Version: 3.9.6
      Path: /Library/Developer/CommandLineTools/usr/bin/python3
      Jupyter: (None)

      Jupyter is not available in this Python installation.
      Install with python3 -m pip install jupyter

[✓] Checking R installation...........OK
      Version: 4.5.0
      Path: /Library/Frameworks/R.framework/Resources
      LibPaths:
        - /Library/Frameworks/R.framework/Versions/4.5-arm64/Resources/library
      knitr: 1.50
      rmarkdown: 2.29

[✓] Checking Knitr engine render......OK

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions