Skip to content

Issue when rendering to docx or PDF #13

Description

@sm-thirdman

Hi,

I'm using Quarto 1.9.37
d2 0.7.1
quarto-d2 1.1.0
(I've had to mess with the file quote marks to display correctly in this message, but the files are valid)
When using the following simple file called Test4_1.qmd:


---
title: D2 Extension For Quarto
format: html
eval: false
filters:
  - d2
d2:
  layout: "elk"
---

``{.d2}
x -> y: hello world
``

If I run

quarto render Test4-1.qmd --to docx

I get the following error:

pandoc 
  to: latex
  output-file: Test4-1.tex
  standalone: true
  pdf-engine: lualatex
  variables:
    graphics: true
    tables: true
  default-image-extension: pdf
  
metadata
  documentclass: scrartcl
  classoption:
    - DIV=11
    - numbers=noendperiod
  papersize: letter
  header-includes:
    - \KOMAoption{captions}{tableheading}
  block-headings: true
  engines:
    - path: /Applications/quarto/share/extension-subtrees/julia-engine/_extensions/julia-engine/julia-engine.js
  title: D2 Extension For Quarto
  d2:
    layout: elk
  
err: bad usage: too many arguments passed
err: Run with --help to see usage.
Error running filter /Applications/quarto/share/filters/main.lua:
string expected, got nil
	while retrieving function argument contents
	while retrieving arguments for function insert
stack traceback:
	.../.../_extensions/data-intuitive/d2/d2.lua:210: in function <.../.../_extensions/data-intuitive/d2/d2.lua:181>
	[C]: in ?
	[C]: in method 'walk'
	.../.../_extensions/data-intuitive/d2/d2.lua:366: in function <.../.../_extensions/data-intuitive/d2/d2.lua:339>
	[C]: in ?
	[C]: in method 'walk'
	/Applications/quarto/share/pandoc/datadir/_utils.lua:607: in function '_utils.walk'
	/Applications/quarto/share/filters/main.lua:574: in local 'checked_walk'
	/Applications/quarto/share/filters/main.lua:629: in function 'run_emulated_filter'
	/Applications/quarto/share/filters/main.lua:1317: in local 'callback'
	[string "if pandoc.system.os == "mingw32" then..."]:778: in field 'withScriptFile'
	/Applications/quarto/share/filters/main.lua:1333: in upvalue 'run_emulated_filter_chain'
	/Applications/quarto/share/filters/main.lua:1371: in function </Applications/quarto/share/filters/main.lua:1368>
stack traceback:
	.../.../_extensions/data-intuitive/d2/d2.lua:366: in function <.../.../_extensions/data-intuitive/d2/d2.lua:339>
	[C]: in ?
	[C]: in method 'walk'
	/Applications/quarto/share/pandoc/datadir/_utils.lua:607: in function '_utils.walk'
	/Applications/quarto/share/filters/main.lua:574: in local 'checked_walk'
	/Applications/quarto/share/filters/main.lua:629: in function 'run_emulated_filter'
	/Applications/quarto/share/filters/main.lua:1317: in local 'callback'
	[string "if pandoc.system.os == "mingw32" then..."]:778: in field 'withScriptFile'
	/Applications/quarto/share/filters/main.lua:1333: in upvalue 'run_emulated_filter_chain'
	/Applications/quarto/share/filters/main.lua:1371: in function </Applications/quarto/share/filters/main.lua:1368>
stack traceback:
	/Applications/quarto/share/pandoc/datadir/_utils.lua:607: in function '_utils.walk'
	/Applications/quarto/share/filters/main.lua:574: in local 'checked_walk'
	/Applications/quarto/share/filters/main.lua:629: in function 'run_emulated_filter'
	/Applications/quarto/share/filters/main.lua:1317: in local 'callback'
	[string "if pandoc.system.os == "mingw32" then..."]:778: in field 'withScriptFile'
	/Applications/quarto/share/filters/main.lua:1333: in upvalue 'run_emulated_filter_chain'
	/Applications/quarto/share/filters/main.lua:1371: in function </Applications/quarto/share/filters/main.lua:1368>
WARN: Error encountered when rendering files

The same error occurs with
quarto render Test4-1.qmd --to pdf

I messed around with an idea to create diagrams as external files and then pull them back into the main Quarto document. Interestingly when I change Test4_1.qmd to:

---
title: D2 Extension For Quarto
format: html
eval: false
filters:
  - d2
d2:
  layout: "elk"
---

``{.d2 .d2 folder="./d2_images" filename="test.svg"}
x -> y: hello world
``

It does now render. This now works for both PDF and docx, although the the docx does show a warning:

quarto render Test4-1.qmd --to docx
pandoc 
  to: docx
  output-file: Test4-1.docx
  default-image-extension: png
  variables: {}
  
metadata
  engines:
    - path: /Applications/quarto/share/extension-subtrees/julia-engine/_extensions/julia-engine/julia-engine.js
  title: D2 Extension For Quarto
  d2:
    layout: elk
  
success: successfully compiled /private/var/folders/qz/dpmxf0gd53z1kjq04tp158xh0000gq/T/d2-render-caa57b133265b2b0/diagram-1.d2 to d2_images/test.svg in 272.12ms
[WARNING] Could not convert image d2_images/test.svg: "check that rsvg-convert is in path.\nrsvg-convert: createProcess: posix_spawnp: does not exist (No such file or directory)"
Output created: Test4-1.docx

Sam.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions