3.5 Cabecera YAML
En un fichero RMarkdown se puede incluir metadatos en una cabecera en formato YAML
(YAML Ain’t Markup Language, https://en.wikipedia.org/wiki/YAML),
comenzando y terminando con tres guiones ---
.
Los metadatos de YAML son típicamente opciones de renderizado consitentes en
pares de etiquetas y valores separados por dos puntos.
Por ejemplo:
---
title: "Creación de contenidos con RMarkdown"
author: "Fernández-Casal, R. y Cotos-Yáñez, T.R."
date: "`r Sys.Date()`"
output: html_document
---
Aunque no siempre es necesario, se recomienda que los valores de texto se introduzcan entre comillas (se puede incluir código R en línea, como por ejemplo `r Sys.Date()`
para obtener la fecha actual). Para valores lógicos se puede emplear yes/true
y no/false
para verdadero y falso, respectivamente.
Los valores pueden ser vectores, por ejemplo las siguientes opciones son equivalentes:
bibliography: [book.bib, packages.bib]
bibliography:
- book.bib
- packages.bib
También pueden ser listas, añadiendo una sangría de dos espacios (importante):
output:
html_document:
toc: yes
toc_float: yes
pdf_document:
toc: yes
El campo output
permite especificar el formato y las opciones de salida (por defecto se empleará la primera). Empleando este campo también se pueden especificar opciones gráficas para los bloques de código, por ejemplo:
output:
html_document:
fig_width: 7
fig_height: 6
fig_caption: true
La mayoría de los campos YAML son opciones que el paquete rmarkdown
le pasa a Pandoc (ver documentación en el Apéndice A).
Un ejemplo adicional7:
---
title: "Creación de contenidos con RMarkdown"
subtitle: "Curso de introducción a R"
author:
- name: "Rubén Fernández Casal (ruben.fcasal@udc.es)"
affiliation: "Universidade da Coruña"
- name: "Tomás R. Cotos Yáñez (tcotos@uvigo.es)"
affiliation: "Universidade de Vigo"
date: "2023-04-01"
logo: rmarkdown.png
output:
html_document:
toc: yes # incluir tabla de contenido
toc_float: yes # toc flotante a la izquierda
number_sections: yes # numerar secciones y subsecciones
code_folding: hide # por defecto el código aparecerá oculto
mathjax: local # emplea una copia local de MathJax, hay que establecer:
self_contained: false # las dependencias se guardan en ficheros externos
lib_dir: libs # directorio para librerías (Bootstrap, MathJax, ...)
pdf_document:
toc: yes
toc_depth: 2
keep_tex: yes # conservar fichero latex
---
Como se puede deducir del ejemplo anterior, en el formato YAML podemos incluir comentarios con el carácter #
(por ejemplo para no emplear alguna de las opciones sin borrarla del encabezado).
En el Capítulo 3 del libro de RMarkdown se tiene información detallada sobre las opciones de los distintos formatos de salida (sobre ficheros HTML en la sección HTML document y sobre PDF/LaTeX en PDF document).
Puede ser interesante ejecutar
str(rmarkdown::html_document())
para ver un listado de todas las opciones disponibles dehtml_document
↩︎