En este post voy recopilando Trucos de Quarto en general. Hay una página especifica para trucos de Revealjs slides y otra para webs/blogs
1 Versiones de Quarto
Quarto está en constante evolución, por lo que es importante estar al tanto de las nuevas versiones.
1.1 Quarto 1.4 (enero 2024)
Algunos enlaces interesantes sobre Quarto 1.4:
Quarto 1.4 release. Algunas novedades son: Dashboards, Typst, cross-references, manuscripts, Binder with Quarto, Lightbox Figures
Quarto 1.4 complete release notes
Quarto 1.4 pre-procesa las tablas, si no quieres que lo haga entonces aquí explican que hay que poner
html-table-processing: none
en el YAML
2 Trucos de Quarto
Trucos de Quarto en general. Hay una página aparte para Revealjs slides y otra para webs
2.1 Yaml
2.1.1 Varios autores
¿Cómo añadir múltiples autores y afiliaciones con Quarto? Pues la verdad es que Quarto 1.4 lo hace super-fácil. Puedes verlo aquí
Aquí tienes un ejemplo con multiples autores y que se exporta a MS word
2.1.2 Varios themes
- Puedes tener varios themes en el
_quarto.yml
. Por ejemplo puedes poner un theme light y otro dark. También se puede usar un theme para HTML y otro para Revealjs. Por ejemplo:
format:
revealjs:
theme: theme.scss
html:
theme:
light: theme
dark: [default, cosmos,darl-theme.scss]
2.1.3 Varios formatos
- Se puede hacer que un mismo source document genere varios outputs
- Hay que hacer el render desde la Terminal con:
2.1.4 Code in the yaml
Puedes correr código R en el YAML: https://twitter.com/sharon000/status/1557060949613445120, también en las opciones de los chunks.
Por ejemplo:
#| fig-cap: !expr glue::glue("The mean was {mean(airquality$Temp) |> round()}")
.Otro ejemplo:
#| fig-cap: !expr 'paste("Air", "Quality")
aquí
2.2 Texto
2.2.1 Tamaño texto con :::
2.3 Body
2.3.1 Color en un trozo del documento
Verás esto:
Esto se verá en rojito
2.3.2 Alinear texto de una columna
Funciona tanto en html como en revealjs.
Hay que poner:
style="text-align:left;"
. Para alinear imágenes es:fig-align="center"
Esto de abajo no me acaba de funcionar la alineación del texto, no acabo de descubrir porque. Puede que sea porque aplico
css
o porque para que se pueda ver el código y el resultado, he de anidar y “hackear” las marcas:::
; pero no lo tengo claro, ya lo descubriré; pero a ti, si pegas el código en tus documentos, sí te funcionará.
2.3.3 Conditional content
Es posible que quieras que algúna parte de un documento sólo se vea en un formato concreto. Por ejemplo, que una imagen sólo se vea en HTML y no en PDF.
Documentación oficial aquí.
Se hace uso de
.content-visible
and.content-hidden
classes. Por ejemplo:
- También se puede aplicar a contenido
in-line
:
Para contenido inline has de: [Will only appear in pdf. (inline)]{.content-visible when-format="pdf"}
2.3.4 Incluir toots, etc… en callouts
Se pueden incluir: toots, gists, tweets, videos etc… Es fácil con la extensión collapse-social-embeds. En realidad es una “mejora” de la extensión social-embeds
Por ejemplo, para incluir en un callout el siguiente gist https://gist.github.com/tarleb/852f6ae98764bea56aeeac979f3c17be hay que:
2.4 Chunks
2.4.1 Folding chunks no ejecutables
- Puedes hacerlo con
<details>
- Si escribes esto:
3 Extensiones
3.1 Extensiones
- now: extensión de Garrick Aden-Buie que permite insertar (y formatear) la fecha de creación y de actualización de los .qmd’s. En este post explica su uso
- embedio: permite insertar different file types into Quarto HTML documents. Los archivos pueden ser: archivos de audio, pdf’s y revealjs slides.
3.2 Paquetes
quartostamp: no es una extensión, es un paquete que contiene RStudio addings para insertar divs, callouts etc… Para mi es un poco ptse, PERO en este post les encanta.
quartools: es un paquete de que permite la creación de “quarto-compliant markdown” vía R function calls. As quartools generates quarto-compliant markdown, and not HTML tags, the content will work on any quarto output format. Sí, pero para mi también ptse.
4 ZZ. Biblio
- RMarkdown/Quarto Tips and Tricks: recopilación de truquillos de Rmarkdown y Quarto