computorg / computo-quarto-extension

Quarto extension for Computo template
https://computorg.github.io/computo-quarto-extension/
MIT License
16 stars 4 forks source link

tikz rendered with knitr is broken in html output (but webshotted correctly in pdf) #24

Closed durandg12 closed 1 week ago

durandg12 commented 4 months ago

Similar to #21 but for Figure 5 (tikz)

durandg12 commented 2 months ago

On the submission that I am preparing it is even worse, it is totally broken in html rendering and makes the rendering fail.

This is the traceback of the failing rendering on my computer:

==> quarto preview algo-curve.qmd --to computo-html --no-watch-inputs --no-browse

processing file: algo-curve.qmd

output file: algo-curve.knit.md

pandoc 
  to: html
  output-file: algo-curve.html
  standalone: true
  section-divs: true
  html-math-method: mathjax
  wrap: none
  default-image-extension: png
  number-sections: true
  toc: true

metadata
  document-css: false
  link-citations: true
  lang: en
  knitr:
    opts_chunk:
      screenshot.opts:
        cliprect: viewport
        vwidth: 640
        vheight: 400
  toc-title: Contents
  code-copy: true
  code-block-background: true
  theme:
    - _extensions/computorg/computo/code-block-all.scss
    - _extensions/computorg/computo/custom.scss
  title-block-banner: '#034E79'
  title-block-banner-color: '#FFFFFF'
  license: CC BY
  reference-section-title: Bibliography
  date-format: long
  hover-citations: true
  hover-footnotes: true
  code-summary: Hide/Show the code
  anchor-sections: true
  crossref: null
  sec-prefix: Section
  eq-prefix: Equation
  fig-prefix: Figure
  tbl-prefix: Table
  title: title
  author:
    - name: Guillermo Durand
      corresponding: true
      email: guillermo.durand@universite-paris-saclay.fr
      url: 'https://durandg12.github.io/'
      orcid: 0000-0003-4056-5631
      affiliations:
        - name: Université Paris-Saclay
          department: Laboratoire de Mathématiques d'Orsay
          url: 'https://www.imo.universite-paris-saclay.fr/fr/'
  date: last-modified
  date-modified: last-modified
  abstract: |
    abstract
  keywords:
    - multiple testing
    - algorithmic
    - post hoc inference
    - false discovery proportion
    - confidence bound
  citation:
    type: article-journal
    container-title: Computo
    doi: xxxx
    url: 'https://computo.sfds.asso.fr/algo-curve'
    publisher: Société Française de Statistique
    issn: 2824-7795
  bibliography:
    - algo-curve.bib
  github-user: durandg12
  repo: algo-curve
  draft: true
  published: false

pdflatex failed with status nil and signal nil. Output:
This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode

(/private/var/folders/fs/2ppryh8s3qs72m7n1k_4w13c0000gp/T/tikz-d39c3ce7f7657134
/tikz-image.tex
LaTeX2e <2020-10-01> patch level 4
L3 programming layer <2021-02-18>
(/usr/local/texlive/2021/texmf-dist/tex/latex/standalone/standalone.cls
Document Class: standalone 2018/03/26 v1.3a Class to compile TeX sub-files stan
dalone
(/usr/local/texlive/2021/texmf-dist/tex/latex/tools/shellesc.sty)
(/usr/local/texlive/2021/texmf-dist/tex/generic/iftex/ifluatex.sty
(/usr/local/texlive/2021/texmf-dist/tex/generic/iftex/iftex.sty))
(/usr/local/texlive/2021/texmf-dist/tex/latex/xkeyval/xkeyval.sty
(/usr/local/texlive/2021/texmf-dist/tex/generic/xkeyval/xkeyval.tex
(/usr/local/texlive/2021/texmf-dist/tex/generic/xkeyval/xkvutils.tex
(/usr/local/texlive/2021/texmf-dist/tex/generic/xkeyval/keyval.tex))))
(/usr/local/texlive/2021/texmf-dist/tex/latex/standalone/standalone.cfg)
(/usr/local/texlive/2021/texmf-dist/tex/latex/base/article.cls
Document Class: article 2020/04/10 v1.4m Standard LaTeX document class
(/usr/local/texlive/2021/texmf-dist/tex/latex/base/size10.clo))
(/usr/local/texlive/2021/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty
(/usr/local/texlive/2021/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty
(/usr/local/texlive/2021/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.te
x
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-li
sts.tex))
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def
) (/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/pgf.revision.tex)))
(/usr/local/texlive/2021/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty
(/usr/local/texlive/2021/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/local/texlive/2021/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/local/texlive/2021/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/local/texlive/2021/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(/usr/local/texlive/2021/texmf-dist/tex/latex/graphics-def/pdftex.def)))
(/usr/local/texlive/2021/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.c
ode.tex))
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.d
ef
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-p
df.def)))
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.
code.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.
code.tex)) (/usr/local/texlive/2021/texmf-dist/tex/latex/xcolor/xcolor.sty
(/usr/local/texlive/2021/texmf-dist/tex/latex/graphics-cfg/color.cfg))
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex
)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.
tex
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic
.code.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigo
nometric.code.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.rando
m.code.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.compa
rison.code.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.
code.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round
.code.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.
code.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integ
erarithmetics.code.tex)))
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex)
) (/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/math/pgfint.code.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.co
de.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconst
ruct.code.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage
.code.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.co
de.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicst
ate.code.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransform
ations.code.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.cod
e.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.c
ode.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathproce
ssing.code.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.co
de.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.cod
e.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.cod
e.tex
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.
code.tex))
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.co
de.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretranspare
ncy.code.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.
code.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.
tex)))
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.cod
e.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.
tex)
(/usr/local/texlive/2021/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version
-0-65.sty)
(/usr/local/texlive/2021/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version
-1-18.sty))
(/usr/local/texlive/2021/texmf-dist/tex/latex/pgf/utilities/pgffor.sty
(/usr/local/texlive/2021/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)
) (/usr/local/texlive/2021/texmf-dist/tex/latex/pgf/math/pgfmath.sty
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex))
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)))
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.cod
e.tex
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothan
dlers.code.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.cod
e.tex)
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/frontendlayer/tikz/librarie
s/tikzlibrarytopaths.code.tex))))
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/frontendlayer/tikz/librarie
s/tikzlibraryarrows.code.tex
(/usr/local/texlive/2021/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.
code.tex))
(/usr/local/texlive/2021/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def)
No file tikz-image.aux.
(/usr/local/texlive/2021/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
) (/usr/local/texlive/2021/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
(/usr/local/texlive/2021/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg))
[1{/usr/local/texlive/2021/texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
(/private/var/folders/fs/2ppryh8s3qs72m7n1k_4w13c0000gp/T/tikz-d39c3ce7f7657134
/tikz-image.aux) )</usr/local/texlive/2021/texmf-dist/fonts/type1/public/amsfon
ts/cm/cmmi10.pfb></usr/local/texlive/2021/texmf-dist/fonts/type1/public/amsfont
s/cm/cmr7.pfb>
Output written on /private/var/folders/fs/2ppryh8s3qs72m7n1k_4w13c0000gp/T/tikz
-d39c3ce7f7657134/tikz-image.pdf (1 page, 18314 bytes).
Transcript written on /private/var/folders/fs/2ppryh8s3qs72m7n1k_4w13c0000gp/T/
tikz-d39c3ce7f7657134/tikz-image.log.
Error running filter /Applications/quarto/share/filters/main.lua:
inkscape: createProcess: posix_spawnp: does not exist (No such file or directory)
stack traceback:
    ...utorg/computo/_extensions/pandoc-ext/diagram/diagram.lua:353: in upvalue 'pdf2svg'
    ...utorg/computo/_extensions/pandoc-ext/diagram/diagram.lua:491: in function <...utorg/computo/_extensions/pandoc-ext/diagram/diagram.lua:439>
    [C]: in ?
    [C]: in method 'walk'
    ...utorg/computo/_extensions/pandoc-ext/diagram/diagram.lua:526: in function <...utorg/computo/_extensions/pandoc-ext/diagram/diagram.lua:524>
    [C]: in ?
    [C]: in method 'walk'
    /Applications/quarto/share/filters/main.lua:224: in local 'checked_walk'
    /Applications/quarto/share/filters/main.lua:276: in function 'run_emulated_filter'
    /Applications/quarto/share/filters/main.lua:942: in local 'callback'
    [string "..."]:1888: in field 'withScriptFile'
    /Applications/quarto/share/filters/main.lua:958: in upvalue 'run_emulated_filter_chain'
    /Applications/quarto/share/filters/main.lua:996: in function </Applications/quarto/share/filters/main.lua:993>
stack traceback:
    ...utorg/computo/_extensions/pandoc-ext/diagram/diagram.lua:526: in function <...utorg/computo/_extensions/pandoc-ext/diagram/diagram.lua:524>
    [C]: in ?
    [C]: in method 'walk'
    /Applications/quarto/share/filters/main.lua:224: in local 'checked_walk'
    /Applications/quarto/share/filters/main.lua:276: in function 'run_emulated_filter'
    /Applications/quarto/share/filters/main.lua:942: in local 'callback'
    [string "..."]:1888: in field 'withScriptFile'
    /Applications/quarto/share/filters/main.lua:958: in upvalue 'run_emulated_filter_chain'
    /Applications/quarto/share/filters/main.lua:996: in function </Applications/quarto/share/filters/main.lua:993>
stack traceback:
    /Applications/quarto/share/filters/main.lua:224: in local 'checked_walk'
    /Applications/quarto/share/filters/main.lua:276: in function 'run_emulated_filter'
    /Applications/quarto/share/filters/main.lua:942: in local 'callback'
    [string "..."]:1888: in field 'withScriptFile'
    /Applications/quarto/share/filters/main.lua:958: in upvalue 'run_emulated_filter_chain'
    /Applications/quarto/share/filters/main.lua:996: in function </Applications/quarto/share/filters/main.lua:993>

I get the same error and traceback in the build github action once I push so the problem is not due to my old 2021 version of TeX Live.

Pdf rendering with latex is still not impacted at all.

This bug is rather impacting.

jchiquet commented 2 months ago

Dear @durandg12 ,

Many thanks for your feedback.

We planed to remove this functionality. TiKZ will not be supported in our template. Please use tools supported by the quarto team like mermaid.

As an alternative, we suggest you to write your tikz code in a separated LaTeX file (minimal class) and include the corresponding fig file.

fradav commented 1 week ago

workaround found, see #20

durandg12 commented 1 week ago

Will tikz remain supported thanks to the workaround, or will it still be removed and so I should move on from tikz and follow the recommendations from https://github.com/computorg/computo-quarto-extension/issues/24#issuecomment-2310045430 ?

fradav commented 1 week ago

At first I thought I'd leave it up to the authors to generate tikz outputs by themselves, but I changed my mind after a few exchanges with one. Sometimes for some of them, it will be overhead to put a latex/dvisgm/pdf2svg pipeline just for a few tikz schemas, so here we are.