|
| 1 | +--- |
| 2 | +title: "Untitled" |
| 3 | +format: html |
| 4 | +--- |
| 5 | + |
| 6 | +## Quarto |
| 7 | + |
| 8 | +### Qué es Quarto |
| 9 | + |
| 10 | +Quarto es un sistema de publicación de documentos dinámicos que permite crear informes, libros, manuscrtos, presentaciones y sitios web. Es una herramienta muy versátil que soporta múltiples lenguajes de programación (R, Python, Julia, etc.) y formatos de salida (HTML, PDF, Word, etc.). Quarto se basa en R Markdown pero ofrece una serie de mejoras y nuevas funcionalidades que lo hacen más potente y flexible. |
| 11 | + |
| 12 | + |
| 13 | + |
| 14 | +### Por qué usar Quarto |
| 15 | + |
| 16 | +Quarto es una herramienta ideal para la creación de *documentos científicos reproducibles* y *colaborativos*. Permite integrar código, texto y resultados en un **único documento**, facilitando la creación de informes y publicaciones científicas. Además, Quarto es **compatible con Git y GitHub**, lo que permite llevar un control de versiones de los documentos y colaborar con otros usuarios de manera eficiente. Se puede usar en diferentes workspaces (p.ej. Rstudio, Jupiter) y tiene una interfaz para la edicion visual en Rstudio. |
| 17 | + |
| 18 | + |
| 19 | + |
| 20 | + |
| 21 | + |
| 22 | +### Breve historia: evolución desde R Markdown |
| 23 | + |
| 24 | +Quarto (<https://quarto.org/>) comenzó como un proyecto de código abierto en 2021 por parte de Posit Software (anteriormente RStudio) y se basa en la experiencia adquirida de 10 años con R Markdown. Quarto funciona como un sistema de publicación científica y técnica de código abierto construido sobre Pandoc (<https://pandoc.org>). Convierte los formatos de texto plano (p.ej ``` .md,``.Rmd ```) o los formatos mixtos (p. ej. `.ipynb`) en informes estáticos y más. Puede entrelazar texto narrativo y código para producir resultados con un formato elegante en forma de documentos, páginas web, entradas de blog, libros, etc. |
| 25 | + |
| 26 | +La extensión de Quarto es `.qmd` y utiliza filtros Lua que es el lenguaje de extensión de Pandoc (<https://quarto.org/docs/extensions/lua.html>). Para ello, Quarto utiliza un *engine* como `knitr` para ejecutar el código y generar una salida temporal `.md`. El archivo `.md` se procesa mediante Pandoc y los filtros Lua de Quarto + Bootstrap CSS para HTML o LaTeX para PDF. Lua filters written by R/Python/Julia developers should be interchangeable between formats - typically not language specific. |
| 27 | + |
| 28 | + |
| 29 | + |
| 30 | +### Instalación de Quarto |
| 31 | + |
| 32 | +Quarto viene instalado con las ultimas versiones de Rstudio (v2022.07 y posterior). No obstante, si se quiere utilizar tambien en otras interfaces se pueden seguir las instrucciones de instalacion en la página oficial: <https://quarto.org/docs/get-started/>. |
| 33 | + |
| 34 | +Para usar Quarto desde R, hay que tener instalado rmarkdown: |
| 35 | + |
| 36 | +``` r |
| 37 | +#|eval: false |
| 38 | +install.packages("rmarkdown") |
| 39 | +``` |
| 40 | + |
| 41 | +Tambien se puede verificar la instalación de Quarto y su localizacion con el siguiente comando: |
| 42 | + |
| 43 | +``` r |
| 44 | +#|eval: false |
| 45 | +quarto::quarto_path() |
| 46 | +``` |
| 47 | + |
| 48 | +### Diferencias clave entre R Markdown y Quarto |
| 49 | + |
| 50 | +La diferencia principal de Quarto respecto a R Markdown es que se ha generado para la colaboración de más de una comunidad (es decir, no solo usuarios de R o Python) y utiliza una sintaxis y formato compartido entre distintos lenguajes. Además, a medida que se añadían más capacidades a R Markdown a través de paquetes externos de R, la sintaxis para las tareas básicas se volvía incoherente. Algunas diferencias entre Quarto y R Markdown en cuanto al código: |
| 51 | + |
| 52 | +- **YAML structure -** both follow `key: value` but Quarto is more flexible and nested |
| 53 | + |
| 54 | +- **code chunk header syntax -** `#|` sintaxis *(hash pipe)*. Esta es la sintaxis preferida de Quarto, aunque es compatible con la sintaxis anterior de R Markdown. El *hash pipe* le añade más consistencia entre los *engine* (Jupyter, knitr) y nos da más control sobre el orden o espacio de las opciones del chunk (no está limitado a una línea de opciones). Each `#|` line is interpreted as a `key: value` pair. |
| 55 | + |
| 56 | +- Tabulación enriquecida: inicias una palabra y tabulas para completar o `Ctrl + espacio` para ver todas las opciones disponibles. |
| 57 | + |
| 58 | +```{r} |
| 59 | +#| echo: true |
| 60 | +2 * 2 |
| 61 | +``` |
| 62 | + |
| 63 | +### ¿Por qué utilizar Quarto en lugar de R Markdown? |
| 64 | + |
| 65 | +- Sintaxis compartida (elige tu propio editor y lenguaje preferido) |
| 66 | + |
| 67 | +- Mayor versartilidad |
| 68 | + |
| 69 | +- Mejores características y más mejoras en el futuro (R Markdown todavía se mantiene, pero la mayoría de las nuevas características serán incorporadas en Quarto) |
| 70 | + |
| 71 | +### ¿Qué hago con mi `.Rmd` o `.ipynb` existentes? |
| 72 | + |
| 73 | +¡No pasa nada! La mayoría de los `.Rmd` o `.ipynb` existentes se pueden convertir `as-is` a través de Quarto. Para hacerlo a través de la línea de comandos de la terminal se escribe: |
| 74 | + |
| 75 | +`quarto render archivo.Rmd --to html` |
| 76 | + |
| 77 | +Además existen distintas opciones para convertir archivos `.Rmd` a `.qmd`: |
| 78 | + |
| 79 | +1. Cambiar `.Rmd` a `.qmd` (esto siempre usará Quarto para la renderización) |
| 80 | + |
| 81 | +2. Cambiar la salida YAML: `html_document` a `format: html` |
| 82 | + |
| 83 | +3. `knitr::convert_chunk_header("archivo.Rmd", "archivo.qmd")` |
| 84 | + |
| 85 | +No tienes que convertir la sintaxis de todos tus documentos antiguos. Quarto es compatible con versiones anteriores de R Markdown. |
| 86 | + |
| 87 | +### Inicio Quarto |
| 88 | + |
| 89 | + |
| 90 | + |
| 91 | +### Crear un documento Quarto |
| 92 | + |
| 93 | +Para crear un documento Quarto en RStudio, se pueden seguir estos pasos: |
| 94 | + |
| 95 | +1. En RStudio, ve a *File* -\> *New File* -\> *Quarto Document*. |
| 96 | + |
| 97 | +2. Se abrirá una ventana donde podrás elegir el tipo de documento que quieres crear (por ejemplo, un informe, una presentación, etc.). Selecciona el tipo de documento que desees y haz clic en *OK*. |
| 98 | + |
| 99 | +3. Se generará un archivo con la extensión *.qmd* (Quarto Markdown) que contiene una estructura básica del documento. |
| 100 | + |
| 101 | +## Enlaces de interés |
| 102 | + |
| 103 | +**Quarto** |
| 104 | + |
| 105 | +- [Quarto](https://quarto.org) |
| 106 | + |
| 107 | +- [Quarto workshop](https://www.youtube.com/watch?v=yvi5uXQMvu4) |
| 108 | + |
| 109 | +- [What is Quarto? RStudio rolls out next-generation R Markdown](https://www.infoworld.com/article/3666743/what-is-quarto-rstudio-quietly-rolls-out-next-generation-r-markdown.html) |
| 110 | + |
| 111 | +- [How to create Word docs from R or Python with Quarto](https://www.infoworld.com/article/3671668/how-to-create-word-docs-from-r-or-python-with-quarto.html) |
| 112 | + |
| 113 | +- [Install TinyTeX to create PDF reports](https://yihui.org/tinytex/) |
0 commit comments