quarto-dev / quarto-dev/quarto-cli

Cite Method: biblatex cannot handle underscores in filename of .bib file

Open
#10,027 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bibliography bug latex pandoc upstream
Dominant language
JavaScript
Stars
6k
Forks
458
Avg merge
1d 9h
Merged PRs (30d)
41

Description

Bug description

If you write an article that contains citations and use the biblatex engine instead of the default one (citeproc), Quarto cannot handle underscores in the filename of the .bib file.

Steps to reproduce

Content of documend.qmd:

---
format:
  pdf:
    cite-method: biblatex
    keep-latex: true
bibliography: quarto_references.bib
---

Quarto [@Allaire_Quarto_2024] is really awesome!

Content of quarto_references.bib:

@software{Allaire_Quarto_2024,
        author = {Allaire, J.J. and Teague, Charles and Scheidegger, Carlos and Xie, Yihui and Dervieux, Christophe},
        doi = {10.5281/zenodo.5960048},
        month = feb,
        title = {{Quarto}},
        url = {https://github.com/quarto-dev/quarto-cli},
        version = {1.4},
        year = {2024}
}
Expected behavior

Quarto should render the document to a pdf-file and use biber to create correct citations:

2024-06-15-173450_1501x356_scrot

Actual behavior

Quarto apparently runs biber on quarto\_references.bib (notice the backslash), which doesn't exist. This causes biber to fail with an error message:

generating bibliography
  INFO - This is Biber 2.19
  INFO - Logfile is 'document.blg'
  INFO - Reading 'document.bcf'
  INFO - Found 1 citekeys in bib section 0
  INFO - Processing section 0
  INFO - Looking for bibtex file 'quarto\_references.bib' for section 0
  ERROR - Cannot find 'quarto\_references.bib'!
  INFO - ERRORS: 1
Your environment
  • OS: Ubuntu 23.10 mantic
Quarto check output
Quarto 1.4.554
[✓] Checking versions of quarto binary dependencies...
      Pandoc version 3.1.11: OK
      Dart Sass version 1.69.5: OK
      Deno version 1.37.2: OK
[✓] Checking versions of quarto dependencies......OK
[✓] Checking Quarto installation......OK
      Version: 1.4.554
      Path: /opt/quarto/bin

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

[✓] Checking LaTeX....................OK
      Using: Installation From Path
      Path: /usr/bin
      Version: 2023

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

[✓] Checking Python 3 installation....OK
      Version: 3.11.6
      Path: /usr/bin/python3
      Jupyter: 5.3.1
      Kernels: julia-1.10, python3, sagemath

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

[✓] Checking R installation...........OK
      Version: 4.3.1
      Path: /usr/lib/R
      LibPaths:
        - /home/marcel/R/x86_64-pc-linux-gnu-library/4.3
        - /usr/local/lib/R/site-library
        - /usr/lib/R/site-library
        - /usr/lib/R/library
      knitr: 1.43
      rmarkdown: 2.23

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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with documend.qmd and quarto_references.bib, then run the reported PDF render using cite-method: biblatex and keep-latex: true. Inspect document.bcf and the biber invocation to trace why the underscore is escaped; done means biber reads quarto_references.bib and the PDF renders with correct citations.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, latex
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.