Resumen
En este episodio (E89) Rodo muestra cómo prepara clases usando Quarto, partiendo de un material base ya existente: un Jupyter Notebook sobre test de hipótesis. Lo convierte a `.qmd`, lo renderiza y lo va afinando con el modo visual y el modo source, imágenes, tablas, fórmulas LaTeX y opciones de YAML. Muestra distintos formatos de salida (HTML, PDF, Word y presentaciones revealjs), opciones de los chunks de código (`echo`, `code-fold`, `code-line-numbers`) y una pizarra integrada en la presentación. Al final arma un sitio web con una pestaña por clase y comenta cómo Quarto usa Pandoc y Jupyter por debajo. Entre medio hay una sección de memes, una conversación sobre hacer streams de Data Science y sugerencias de temas del chat. Las conclusiones: Quarto reemplaza a Jupyter para el presentador, separa input de output, y trabajar con proyectos y texto plano mejora la consistencia y la documentación.
Capítulos
- 00:00IntroRodo presenta el episodio 89 sobre cómo crea clases con Quarto, según el tipo de clase: a veces parte de material existente, a veces de cero, o de un notebook, un script o una presentación.
- 00:50Encontrar o crear un material baseParte de un ejemplo de clase sobre test de hipótesis, con un artículo en Medium, videos y un repositorio. Quiere reestructurarlo a su manera, agregarle cosas y citar la referencia original.
- 02:00Creación de un proyecto y por qué es importante.Crea una carpeta temporal y un proyecto en RStudio. Los proyectos fijan la ruta madre, hacen el trabajo consistente y funcionan igual si se los pasa a otra persona. El chat discute por qué mucha gente no los usa: desconocimiento, y que los notebooks enseñan a trabajar todo en una misma carpeta.
- 02:43Diferencia entre rutas absolutas, relativas a archivos y relativas a carpeta del proyectoSe explica que el proyecto es el punto de referencia de todas las rutas. Se comenta que quienes empiezan abren el programa y escriben scripts en cualquier carpeta, mezclando varios análisis en una sola. Un participante recomienda empezar con git desde el principio.
- 06:35Uso de Quarto en RStudio versus VSCode y sus archivos de settingsQuarto se puede usar en VS Code (ejecutando celdas y `quarto render` en terminal), pero RStudio ofrece más herramientas en la barra superior (imagen, tabla, render). Crea el proyecto `.Rproj` y menciona la carpeta `.vscode` con `settings.json` para guardar configuración compartible.
- 10:14Tomando un estado inicial y transformándolo desde JN a QuartoDescarga el notebook de test de hipótesis (hecho por una persona del chat) y lo convierte con `quarto convert` a `.qmd`; el paso inverso también es un comando. Aclara que R y RStudio no son lo mismo, que Quarto viene con RStudio o se instala por separado como CLI, y cómo elegir el ambiente virtual de Python en las opciones globales.
- 15:50Renderización de output, selección de engineRenderiza el documento (33 celdas ejecutadas) y obtiene un HTML con botón de copiar código. Explica que Quarto separa input de output y que el engine por defecto aquí es Jupyter, aunque se puede elegir otro kernel (R, Julia, etc.). Para compartir un HTML se envía junto con su carpeta de archivos; el PDF es un solo archivo.
- 18:20Modo visual, modo source, y trabajando con MarkdownEl modo visual falla por un error en el documento; lo encuentra con búsqueda binaria en cinco iteraciones. Compara cambiar los títulos con buscar y reemplazar en modo source frente al modo visual. Mencionan Quarto Pub para publicar (público y gratuito).
- 28:13Importación de imágenes y resizingInserta imágenes desde el icono de imagen, con opciones de alineación, pie de foto y bloqueo de proporción al reescalar. El código resultante en modo source adapta ancho y alto, hay autocompletado de rutas y previsualización de la imagen.
- 33:18Inserción de tablas y LaTeXInserta tablas en modo visual sin escribirlas a mano, y se discute cómo referenciar celdas de código con `label`. También inserta fórmulas LaTeX (una suma) con previsualización.
- 37:32YAML para editar la forma del documento, independiente del fondoUsa `execute: freeze: true` para no reejecutar las celdas en cada render y agrega `format` con html, pdf y docx con `toc: true`. Se menciona Typst como alternativa a LaTeX, y que el PDF se genera con LaTeX por debajo. El formato Word queda más feo.
- 43:46MemesSe comentan memes sobre programadores, venta de humo en Machine Learning y el estado de "quemado" (burnout). Se propone un tema futuro sobre burnout y se recomienda un libro sobre el tema.
- 50:25Cómo es hacer streams de Data ScienceReflexionan sobre el público (poco pero presente), el valor de subir los episodios a YouTube para responder dudas con un link, y la dificultad de equilibrar temas teóricos y matemáticos con un formato de streaming accesible.
- 53:37Presentaciones en formato revealjsAgrega el formato revealjs; separa diapositivas con `---` y con títulos y subtítulos. Muestra cómo ajustar el contenido que no cabe en una diapositiva.
- 56:30Algunos settings de chunks de código. Fold, echo, include, code-line, etcCon `echo: true` y `code-fold` globales muestra el código sin saturar la diapositiva. Con `#| code-line-numbers` resalta líneas concretas, como la del test de Shapiro-Wilk, y agrupa rangos de líneas. Se menciona GML (Game Maker Language) y la herramienta Machinations para economía de juegos.
- 01:02:37Pizarra integrada en la presentaciónActiva `chalkboard: true`, que da una pizarra y un lápiz asociados a cada diapositiva. Comenta que usa también OpenBoard. Responde que para él Quarto reemplaza a Jupyter y remite a un episodio anterior sobre Jupyter en el ambiente laboral.
- 01:07:05Cómo funciona Quarto y cómo usa PandocDescribe el diagrama: el `.qmd` pasa por Jupyter (o knitr), se convierte a Markdown y Pandoc lo transforma al formato de salida. Jupyter aparece como un mal necesario presente en muchas herramientas.
- 01:08:08Creación de un sitio web con pestañas por cada claseCrea un `_quarto.yml` con tipo de proyecto `website`, barra de navegación y secciones por clase; lo renderiza con varias clases. Prueba convertirlo en libro pero se rompe. Muestra opciones como `date: today`, tema `darkly` y `code-overflow: wrap`.
- 01:12:18CierreComentarios finales: publicar presentaciones Quarto en Confluence para seguir proyectos del equipo, la cultura del texto plano para documentar y episodios previos sobre documentación y traspaso de proyectos. Se proponen temas como marca personal, perfiles para postular a trabajo y la nueva versión de ChatGPT; se invita al Discord y al canal de YouTube.