Incluir bibliografía en un documento R Markdown (2 Métodos)

Autor

Pedro L. Luque

Fecha de Publicación

3 diciembre 2020

Información

Las siguientes páginas contienen información relacionada con la creación de bibliografías con R Markdown:

Métodos para generar bibliografía en R Markdown

Método 1: uso de “csl” (recomendado para salidas: html, pdf y word)

---
title: "Título del trabajo"
author: "Pedro ..."
date: "23/12/2020"
output:
  pdf_document: default
  html_document: default
csl: apa.csl
bibliography:
- mibibliografiaPaquetes.bib
- mibibliografia.bib
---

---
nocite: |
  @R-base
...

Método 2: uso de BibTeX: “natbib” (usar solamente con salidas pdf)

No funciona el uso de “nocite” (ver una posible solución más adelante).

---
title: "Título del trabajo"
author: "Pedro ..."
date: "23/12/2020"
biblio-style: "plainnat"
# header-includes: # descomentar para que aparezcan números entre corchetes
#   - \usepackage[square,numbers]{natbib}
output:
  pdf_document: 
    citation_package: natbib
  html_document: default
bibliography:
- mibibliografiaPaquetes.bib
- mibibliografia.bib
---

Las opciones disponibles para “biblio-style” pueden ser alguno de los siguientes estilos:

  • plain, alpha, abbrv, unsrt (nota: con estos estilos no funciona las variantes de [] que se verán más adelante)
  • específicas de “natbib”: plainnat, abbrvnat, unsrtnat, rusnat, apalike, chicago

Atención, no funcionan los siguientes estilos:

  • harvard, astron, authordate

  • de natbib: ieeetr, apalike, acm, siam, humannat, ksfh_nat, dinat

  • Ver ejemplo: Método 2 (pdf)

Cómo hacer citaciones bibliográficas

En este trabajo se ha usado el paquete “knitr” (ver: (Xie, 2022) y (Xie, 2015))….. bla….

Como aparece en (Glur, 2018, p. 1 a 3), los métodos multicriterio ….

Como aparece en (Cheng et al., 2002)

  • Información obtenida de: url: R Markdown Cookbook (nota: lo que se recoge a continuación funciona con el método 1 de estilos “csl”, pero algunas cosas fallan con el método 2 sobre todo si se usan estilos que no sean de “natbib”)

    Los productos que pueden ser citados directamente dentro de la documentación utilizando la sintaxis @keydonde keyes la clave cita en la primera línea de la entrada, por ejemplo, @R-base. Para poner las citas entre paréntesis, utilice [@key]. Para citar múltiples entradas, separar las llaves de punto y coma, por ejemplo, [@key-1; @key-2; @key-3]. Para suprimir la mención del autor, añadir un signo menos delante de @, por ejemplo, [-@R-base].

Ejemplos:

Nota: También se puede usar el comando LaTeX \cite (y sus variantes) como alternativa a estos usos avanzados, para salidas pdf (no usar con estilos bibtex que no sean de natbib):

  • Sigue funcionando (no en método 1: csl): [@key-1; @key-2; @key-3]. Pero: , se obtiene al escribir: \cite{R-knitr,R-base}.

  • Sigue funcionando (no en método 1: csl): [-@R-base]. Pero: \citeyear{R-base}, se obtiene al escribir: \citeyear{R-base}.

Consejos

  • Para citar se recomienda usar los corchetes: []. El motivo es que cuando al usarlo sin [] no pone paréntesis a la referencia en el texto y esto en los PDF (con natbib) no funciona correctamente.

  • Utilizar en alguno de los primeros chunks (se recomienda en el inicial) las siguientes órdenes R permite crear un fichero de bibliografía con las referencias a los paquetes R que se añadan:

    knitr::write_bib(c("base","knitr","ahp"),
                     file="mibibliografiaPaquetes.bib")
  • Incluir:

    <div id="refs"></div>

    Coloca la bibliografía en el lugar que aparezcan. Tanto para html como para pdf (vale para estilos “csl”, no para: “natbib”, “biblatex”)

  • Se puede emplear:

    ---
    nocite: '@*'
    ---

    para incluir todas las referencias bibliográficas incluidas en los ficheros de bibliografía, aunque no hayan sido citadas en el documento.

  • Para incluir “nocite” para salidas pdf (método 2: natbib), se puede añadir al final del documento R Markdown la siguiente orden:

    \nocite{R-base,R-knitr}

    o

    \nocite{*}
  • Si se usa el sistema “natbib” se puede incluir en la cabecera yaml la siguiente línea para que aparezcan los estilos bibliográficos con numeración entre corchetes y las citaciones (si no se usa, no aparecen númeradas las referencias):

    \usepackage[square,numbers]{natbib}

    En la cabecera yaml del documento R Markdown se puede incluir del siguiente modo:

    ---
    header-includes:
       - \usepackage[square,numbers]{natbib}
    ---

    También se puede hacer del siguiente modo:

    ---
    title: "Untitled"
    output: 
      pdf_document:
        extra_dependencies: ["bbm", "threeparttable"]
    ---

    o

    ---
    output: 
      pdf_document:
        extra_dependencies:
            natbib: [square,numbers]
            lmodern: null
    ---      

Referencias

Cheng, E. W., Li, H., & Ho, D. C. (2002). Proceso de jerarquía analítica (AHP). Midiendo la excelencia empresarial.
Glur, C. (2018). ahp: Analytic Hierarchy Process. http://github.com/gluc/ahp
R Core Team. (2021). R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing. https://www.R-project.org/
Xie, Y. (2015). Dynamic Documents with R and knitr (2nd ed.). Chapman; Hall/CRC. https://yihui.org/knitr/
Xie, Y. (2022). knitr: A General-Purpose Package for Dynamic Report Generation in R. https://yihui.org/knitr/