Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Quarto manuscripts: Code chunks and Figure divs can't coexist #8708

Closed
m-delem opened this issue Feb 12, 2024 · 1 comment · Fixed by #8712
Closed

Quarto manuscripts: Code chunks and Figure divs can't coexist #8708

m-delem opened this issue Feb 12, 2024 · 1 comment · Fixed by #8712
Assignees
Labels
bug Something isn't working

Comments

@m-delem
Copy link

m-delem commented Feb 12, 2024

Bug description

First, thank you for the new Manuscript project type, such a synthesis of Quarto's amazing features looks very promising!

Now, I wanted to report a bug I encountered today: my index.qmd file wouldn't render when I added a simple code chunk, even as barebones as

```{r} 
library(tidyverse)
```

Rendering (or previewing) the index.qmd returned the following error:

processing file: index.qmd
                                                                                                            
output file: index.knit.md

Rendering qmd embeds [index.qmd]
Error running filter C:/Users/Mael/AppData/Local/Programs/Quarto/share/filters/main.lua:
...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:835: attempt to call a nil value (field 'render')
stack traceback:
	...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:302: in function <...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:292>
	(...tail calls...)
	[C]: in ?
	[C]: in method 'walk'
	...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:224: in function <...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:214>
	(...tail calls...)
	...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:936: in local 'callback'
	...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:954: in upvalue 'run_emulated_filter_chain'
	...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:990: in function <...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:987>
stack traceback:
	...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:224: in function <...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:214>
	(...tail calls...)
	...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:936: in local 'callback'
	...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:954: in upvalue 'run_emulated_filter_chain'
	...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:990: in function <...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:987>

All my code chunks ran very well in all my companion notebooks located in notebooks/, while index.qmd also rendered correctly without any code chunk.
After hours searching for the culprit in packages, files, yaml, and everywhere, I ended up trying to delete everything else in my index.qmd file out besides code chunks... and index.qmd rendered well with the code chunks. So I built back my file brick by brick, and found out that the only thing that interfered with the code chunks and made the error reappear was a simple figure div with two figures of mine.

I managed to reproduce the error in the manuscript-template from the Quarto manuscript tutorial, simply adding the following div:

:::{#fig-test layout-ncol=2}

![Map of La Palma](images/la-palma-map.png)

![Map of La Palma](images/la-palma-map.png)
:::

Steps to reproduce

The folder structure and files associated with the manuscript-template were cloned from https://github.com/quarto-ext/manuscript-template-rstudio. Nothing was changed besides the experiments done on index.qmd.

I managed to reproduce the bug even with an index.qmd file as simple as this:

---
title: La Palma Earthquakes
---

## Introduction

```{r}
eruptions <- c(1492, 1585, 1646, 1677, 1712, 1949, 1971, 2021)
n_eruptions <- length(eruptions)
```

:::{#fig-test layout-ncol=2}

![Map of La Palma](images/la-palma-map.png)

![Map of La Palma](images/la-palma-map.png)
:::

(This is my first ever bug report, so tell me if anything is missing!)

Expected behavior

A simple HTML should be rendered with both a (non-echoed) code chunk and a figure div with two side-by-side figures.

Actual behavior

The following error happens during preview or render:

processing file: index.qmd
                                                                                                            
output file: index.knit.md

Rendering qmd embeds [index.qmd]
Error running filter C:/Users/Mael/AppData/Local/Programs/Quarto/share/filters/main.lua:
...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:835: attempt to call a nil value (field 'render')
stack traceback:
	...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:302: in function <...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:292>
	(...tail calls...)
	[C]: in ?
	[C]: in method 'walk'
	...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:224: in function <...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:214>
	(...tail calls...)
	...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:936: in local 'callback'
	...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:954: in upvalue 'run_emulated_filter_chain'
	...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:990: in function <...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:987>
stack traceback:
	...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:224: in function <...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:214>
	(...tail calls...)
	...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:936: in local 'callback'
	...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:954: in upvalue 'run_emulated_filter_chain'
	...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:990: in function <...ael/AppData/Local/Programs/Quarto/share/filters/main.lua:987>

Your environment

RStudio version 2023.12.1+402
R version 4.3.2 (2023-10-31 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 11 x64 (build 22631)

Quarto check output

Quarto 1.4.549
[>] 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.549
      Path: C:\Users\Mael\AppData\Local\Programs\Quarto\bin
      CodePage: unknown

[>] Checking tools....................OK
      TinyTeX: v2023.12
      Chromium: (not installed)

[>] Checking LaTeX....................OK
      Using: TinyTex
      Path: C:\Users\Mael\AppData\Roaming\TinyTeX\bin\windows\
      Version: 2023

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

[>] Checking Python 3 installation....(None)

      Unable to locate an installed version of Python 3.
      Install Python 3 from https://www.python.org/downloads/

[>] Checking R installation...........OK
      Version: 4.3.2
      Path: C:/PROGRA~1/R/R-43~1.2
      LibPaths:
        - C:/Users/Mael/AppData/Local/R/win-library/4.3
        - C:/Program Files/R/R-4.3.2/library
      knitr: 1.45
      rmarkdown: 2.25

[>] Checking Knitr engine render......OK
@m-delem m-delem added the bug Something isn't working label Feb 12, 2024
@cscheid cscheid self-assigned this Feb 12, 2024
@cscheid
Copy link
Collaborator

cscheid commented Feb 12, 2024

Thanks for the report. I can repro it. We'll fix immediately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants