Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions news/changelog-1.11.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ All changes included in 1.11:

## Regression fixes

- ([#13669](https://github.com/quarto-dev/quarto-cli/issues/13669)): Fix the copy button of the BibTeX citation in the HTML appendix showing no icon and being placed outside the code block (regression introduced in v1.8.15). (author: @AJBogo9)
- ([#14920](https://github.com/quarto-dev/quarto-cli/issues/14920)): Fix Windows ARM diagnostics for x64 R crashes to preserve the specialized error in `quarto check`, JSON output, and render failures, and update the native ARM64 R installation guidance.
- ([#14731](https://github.com/quarto-dev/quarto-cli/pull/14731)): Fix `QUARTO_VENDOR_BINARIES=false` builds silently succeeding with missing binaries. The `configure` step's "is it on PATH?" check for `typst-gather`, `typst`, `pandoc` and `esbuild` compared an unawaited `Promise` against `undefined`, so the guard never fired. A build with `typst-gather` neither vendored nor on PATH reported success and produced a Quarto tree without it, surfacing only at render time as `typst-gather analyze failed; staging all packages as fallback`. The missing-binary error message now also names the path that was checked and the `QUARTO_TYPST_GATHER` environment variable.
- ([#14741](https://github.com/quarto-dev/quarto-cli/issues/14741)): Fix PDF rendering of a cross-referenced table failing with `! Extra }, or forgotten \endgroup.` when the `endfloat` package defers `longtable` environments (`\DeclareDelayedFloatFlavor*{longtable}{table}`).
Expand Down
8 changes: 6 additions & 2 deletions src/format/html/format-html-appendix.ts
Original file line number Diff line number Diff line change
Expand Up @@ -305,10 +305,14 @@ export async function processDocumentAppendix(

const bibTexDiv = createCodeBlock(doc, cite.bibtex, "bibtex");
bibTexDiv.classList.add(kQuartoCiteBibtexClass);
contentsDiv.appendChild(bibTexDiv);

const outerScaffold = doc.createElement("div");
outerScaffold.classList.add("code-copy-outer-scaffold");
outerScaffold.appendChild(bibTexDiv);
contentsDiv.appendChild(outerScaffold);

const copyButton = createCodeCopyButton(doc, format);
bibTexDiv.appendChild(copyButton);
outerScaffold.appendChild(copyButton);
}

if (cite?.html) {
Expand Down
17 changes: 17 additions & 0 deletions tests/docs/smoke-all/2026/10/27/issue-13669.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
title: "Citation BibTeX copy button"
author: "Author name"
date: "2025-01-01"
format: html
citation: true
_quarto:
tests:
html:
ensureHtmlElements:
-
- '#quarto-citation div.code-copy-outer-scaffold > pre.quarto-appendix-bibtex'
- '#quarto-citation div.code-copy-outer-scaffold > button.code-copy-button'
- []
---

The BibTeX block in the citation appendix sits in the same `code-copy-outer-scaffold` wrapper as other code blocks, so the copy button is positioned inside the block and its icon shows on hover (#13669).
Loading