2.8 Citas

Aunque Pandoc soporta múltiples formas de escribir las citas, se recomienda que utilice las bases de datos BibTeX porque trabajan mejor con la salida de LaTeX/PDF. Pandoc puede procesar otros tipos de bases de datos bibliográficas con la utilidad pandoc-citeproc (https://github.com/jgm/pandoc-citeproc), pero no pone ciertos elementos de bibliografía correctamente (especialmente en el caso de múltiples autores). Con las bases de datos BibTeX, podrá definirse el estilo bibliográfico si se requiere por un determinado editor o revista.

Una base de datos BibTeX es un archivo de texto (con la extensión de nombre de archivo convencional .bib) que consta de entradas bibliográficas como:

@Manual{R-base,
  title = {R: A Language and Environment for Statistical Computing},
  author = {{R Core Team}},
  organization = {R Foundation for Statistical Computing},
  address = {Vienna, Austria},
  year = {2015},
  url = {https://www.R-project.org/},
}

Una entrada bibliográfica comienza con {@type, donde type puede ser article, book,manual, etc.7. A continuación hay una clave de citación, como R-base en el ejemplo anterior. Para citar una entrada, use @ key o [@key] (este último pone la cita entre paréntesis), por ejemplo, @R-base se compila como R Core Team (2017), y [@ R-base] genera “(R Core Team 2017)”. Si no está familiarizado con el paquete natbib de LaTeX, @key es básicamente \citet{key} y [@key] es equivalente a \citep{key}.

Hay una serie de campos en una entrada de bibliografía, tales como title, author, y year, etc. Puede visitar https://en.wikipedia.org/wiki/BibTeX para saber más sobre posibles tipos de entradas y campos en BibTeX.

Hay una función auxiliar write_bib() en knitr para generar entradas BibTeX automáticamente para paquetes en R. Tenga en cuenta que sólo genera una entrada de BibTeX para el propio paquete en el momento, mientras que un paquete puede contener múltiples entradas en el archivo CITATION, y algunas entradas versan sobre las publicaciones relacionadas con el paquete. Estas entradas son ignoradas por write_bib().

# el segundo argumento puede ser un archivo .bib
knitr::write_bib(c('knitr', 'stringr'), '')
@Manual{R-knitr,
  title = {knitr: A General-Purpose Package for Dynamic Report Generation in R},
  author = {Yihui Xie},
  year = {2017},
  note = {R package version 1.18},
  url = {https://CRAN.R-project.org/package=knitr},
}
@Manual{R-stringr,
  title = {stringr: Simple, Consistent Wrappers for Common String Operations},
  author = {Hadley Wickham},
  year = {2017},
  note = {R package version 1.2.0},
  url = {https://CRAN.R-project.org/package=stringr},
}

Una vez que tenga uno o varios archivos .bib, puede utilizar el campo bibliography en los metadatos del documento YAML del documento R Markdown, y también se puede especificar el estilo de bibliografía a través de biblio-style (esto sólo se aplica a las salidas en PDF), por ejemplo,

---
bibliography: ["one.bib", "another.bib", "yet-another.bib"]
biblio-style: "apalike"
link-citations: true
---

El campo link-citations se puede utilizar para añadir enlaces internos a partir del texto de la cita del estilo autor-año de la entrada bibliográfica en la salida HTML.

Cuando el formato de salida es LaTeX, las citas se colocarán automáticamente en un capítulo o sección. Para la salida no LaTeX, puede agregar un capítulo vacío como el último capítulo de su libro. Por ejemplo, si su último capítulo es el archivo Rmd 06-references.Rmd, su contenido puede ser una expresión R en línea:

`r if (knitr:::is_html_output()) '# References {-}'`

Referencias

R Core Team. 2017. R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing. https://www.R-project.org/.


  1. El nombre del tipo no diferencia mayúsculas y minúsculas, por ende no importa si es manual, Manual, o MANUAL.