2.6 Opciones de salida (Output)

Las opciones de salida o output son un conjunto de argumentos y configuraciones que podemos definir para modificar el formato de salida o de visualización del documento. Estas opciones permiten personalizar completamente el diseño de las diapositivas,de las fuentes del texto, de la diapositiva de titulo, entre otras opciones más, como la reproducción automatica de la presentación.

Esta parametrización se define en la sección de YAML, ubicada al inicio del documento y justo después de la sentencia ouput:

---
title: "Presentación"
subtitle: "⚔<br/> con xaringan"
author:
- Diego Sandoval
- Author Two
institute: "Universidad Nacional de Colombia"
date: "(actualizado: `r format(Sys.time(), '%d %B %Y')`)"
output:
  xaringan::moon_reader:
    lib_dir: libs
    css: [default, default-fonts]
    nature:
      highlightStyle: github
      highlightLines: true
      countIncrementalSlides: false
---

La primer linea por definir corresponde a xaringan::moon_reader:, aquí le estamos diciendo a RMarkdown como queremos que sea renderizado el documento. Este formato de salida produce un archivo HTML que contiene la fuente de Markdown (obtenido desde R Markdown) y el código JavaScript necesario para construir las diapositivas.

Seguido de esta linea, podemos enlistar un conjunto de argumentos que xaringan ofrece y que nos permiten modificar ciertos comportamientos de las presentación. A continuación se explica cada una de estas opciones de configuración.

2.6.1 css

css = c("default", "default-fonts", "estilos/textorojo.css")

Este argumento recibe un conjunto de rutas de archivos CSS que se usarán para darle estilo a la presentación. Si el vector de caracteres CSS contiene un valor que no termina con .css, se supone que hace referencia a alguno de los archivos de estilo CSS que vienen incluidos en Xaringan.

Para conocer todos los archivos CSS integrados, utilice:

names(xaringan:::list_css())

Ejemplos:

  • css = c("metropolis", "metropolis-fonts")
  • css = c("rladies-fonts", "rladies")
  • css = c("uio-fonts", "uio")

En los capitulos siguientes se presentan ejemplos de archivos de estilo CSS para realizar modificaciones en las diapositivas y se introduce además un paquete de R que nos va a permitir construir nuestros propios temas de manera sencilla.

2.6.2 self_contained

self_contained = FALSE

2.6.3 seal

seal = TRUE

Como vimos en la sección de diapositiva de titulo, este argumento nos permite decidir si generar una diapositiva de título automáticamente usando los metadatos YAML del documento R Markdown o, si es FALSE, nosotros mismos escribir la diapositiva de título.

2.6.4 chakra

chakra = "https://remarkjs.com/downloads/remark-latest.min.js"

Este argumento recibe una ruta a la libreria de remark.js (puede ser local o remota). Tenga en cuenta que si utiliza la última versión remota predeterminada de remark.js, sus diapositivas no funcionarán cuando no tenga acceso a internet. También puede dejar de funcionar después de que se publique una versión más reciente de remark.js. Si estos problemas le preocupan, debe descargar remark.js localmente (por ejemplo, a través de summon_remark()) y usar la versión local en su lugar.

2.6.5 nature

nature = list(ratio = '16:9', navigation = list(scroll = TRUE), ...)

Este argumento recibe como entrada una lista de configuraciones a ser pasadas a la función remark.create(). Este conjunto de opciones permite definir y/o modificar una amplia gama de propiedades de la presentación:

  • ratio

    Establece la proporción de la dimensión de la pantalla para presentar las diapositivas. Opciones: '16:9', '4:3', … .

  • navigation = list(...)

    Definir opciones de navegación:

    • scroll = TRUE : Habilita o deshabilita la navegación usando scroll.
    • touch = TRUE : Habilita o deshabilita la navegación usando el toque. (touch)
    • click = FALSE : Habilita o deshabilita la navegación usando el clic.
  • timer = list(...)

    Definir opciones de temporizador:

    • startOnChange = TRUE : Iniciar temporizador cuando ocurra el primer cambio.
    • resetable = TRUE : Habilita o deshabilita la opción de reiniciar el temporizador.
    • enabled = TRUE : Habilita o deshabilita el temporizador.
  • slideNumberFormat = 'Slide %current% of %total%'

    Personalizar el formato de la etiqueta del número de la diapositiva. Por defecto, remark.js ofrece dos elementos clave %current% y %total%.

    output:
      xaringan::moon_reader:
    lib_dir: libs
    nature:
      # Ejemplos
      slideNumberFormat: "%current%"                  # 12
      slideNumberFormat: "Slide %current% of %total%" # Slide 12 of 42
      slideNumberFormat: "%current%/%total%"           # 12/42 
      slideNumberFormat: "Diapositiva %current% de %total%" # Diapositiva 12 de 42
    ---
  • countIncrementalSlides = TRUE

    Habilita o deshabilita el recuento de diapositivas incrementales en el conteo de las diapositivas

  • includePresenterNotes = TRUE

    El valor indica si las notas del presentador deben estar visibles o no.

  • highlightLanguage

    Establecer el idioma predeterminado para el resaltado de sintaxis del código.

    • Predeterminado: no-highlight
    • Alternativas: 'javascript' , 'ruby' , 'python' , … .
    • Para deshabilitar el resaltado automático, use no-highlight
  • highlightStyle

    Establecer estilo de resaltado.

    • Predeterminado: default.
    • Alternativas: arta, ascetic, dark, default, far, github, googlecode, idea, ir-black, magula, monokai, rainbow, solarized-dark, solarized-light, sunburst, tomorrow, tomorrow-night-blue, tomorrow-night-bright, tomorrow-night, tomorrow-night-eighties, vs, zenburn.
  • highlightLines = FALSE

    Resalte el fondo de las líneas de código con el prefijo *.

  • autoplay = list(interval = N, loop = TRUE)

    Puede establecer autoplay en un número N de milisegundos para que las diapositivas se reproduzcan automáticamente cada N milisegundos; alternativamente, la reproducción automática puede ser una lista de la forma list(interval = N, loop = TRUE), por lo que las diapositivas irán a la página siguiente cada N milisegundos y, opcionalmente, volverán a la primera página para reiniciar la reproducción cuando loop = TRUE.

  • countdown

    También puede establecer countdown en un número (el número de milisegundos) para incluir un temporizador de cuenta regresiva en cada diapositiva. Si usa autoplay, puede configurar opcionalmente countdown = TRUE para sincronizar la cuenta regresiva con el tiempo de reproducción automática.

  • titleSlideClass

    Para modificar el conjunto de clases aplicadas a la diapositiva de título, puede establecer opcionalmente titleSlideClass como un vector de clases; el valor predeterminado es c("center", "middle", "inverse").