3 Estructura del libro

La estructura básica de un proyecto bookdown por default:

directory/
├──  index.Rmd

├── 01-intro.Rmd
├── 02-literature.Rmd
├── 03-method.Rmd
├── 04-application.Rmd
├── 05-summary.Rmd
├── 06-references.Rmd

├── _bookdown.yml

├── _output.yml

├──  book.bib

├──  preamble.tex
├──  README.md
└──  style.css
  • index.Rmd: Es el único documento Rmd que contiene un YAML y es el primer capítulo del libro SIEMPRE

  • Rmd files: Son los múltiples capítulos del libro contenidos cada uno en un archivo Rmd diferente

  • _bookdown.yml: Un archivo de configuración

  • _output.yml: especifica el formato de HTML, LaTeX/PDF y e-books

  • book.bib: contiene la bibliografía en formato .bib

  • preamble.tex y style.css: Se usan para la apariencia y los estilos del output

3.1 index.Rmd

Este es el archivo más importante de nuestro book pues aquí definimos características particulares como el nombre, autor, fecha, output, bibliografía y más que detallaremos en los siguientes capítulos.

Un primer boceto podría ser:

title: “Bookdown”

author: “Yihui Xie”

date: “11 de marzo de 2019”

site: bookdown::bookdown_site

output: bookdown::gitbook

bibliography: [book.bib, packages.bib]

biblio-style: apalike

link-citations: yes

description: “This is a minimal example of using the bookdown package to write a book.”

3.1.1 SITE

- bookdown::bookdown_site
- bookdown::publish_book()

3.2 Rmd files: Capítulos

Una ventaja de Bookdown es que los capítulos pueden venir de uno o más archivos RMarkdown dentro de los cuales definiremos los niveles de la siguiente forma:

Para el título se utilizará al inicio un #, para un segundo nivel ## y ### para un tercer nivel.

De forma predeterminada,si los capítulos provienen de más de un archivo aparecerán ordenados alfabeticamente ya que bookdown combina todos los archivos Rmd por orden de nombres de archivos. Por ejemplo, 01-intro.Rmd aparecerá antes de 02-literature.Rmd. Los nombres de archivo que comienzan con un guión bajo _ o algun caracter especial se omiten a menos que se defina el orden con un comando especial.

Ejemplo

rmd_files: ["index.Rmd", "abstract.Rmd", "intro.Rmd"]

3.2.1 Formato de Encabezados

  • Para NO enumerar los “capítulos” se tendrá que poner “{-}” después del nombre de este y si queremos que sea un apartado se usará la siguiente sintaxis:
# (PART) NOMBRE DEL APARTADO {-}   No numerado
  • Para escribir un apéndice tenemos la siguiente sintaxis, TODOS los capitulos posteriores serán considerados apéndices y serán ordenados con letras
# (APPENDIX) Appendix {-} 

3.3 _bookdown.yml

Te permite especificar configuraciones opcionales para construir el libro. Por ejemplo, es posible que desee anular el orden en que se combinan los archivos incluyendo el campo rmd_files:

rmd_files: ["index.Rmd", "02-literature.Rmd", "01-intro.Rmd"]

3.4 _OUTPUT.yml

Usualmente generamos nuestros escritos en herramientas como LaTeX o Word lo cual nos puede arrojar un documento en PDF, gracias a Bookdown podemos pasar de un input RMarkdown a un output en multiples formatos como los son PDF, HTML, EPUB… Esto se puede configurar con lo siguiente:

  • bookdown::pdf_book
  • bookdown::gitbook
  • bookdown::html_book
  • bookdown::epub_book
  • bookdown::render_book()

Una gran ventaja de que nuestro libro tenga una versión en HTML es la posibilidad de incluir ejemplos utilizando Shiny applications o HTML widgets.

split_by: chapter section

The bookdown package includes the following output formats:

  • HTML:
    • gitbook
    • html_book
    • tufte_html_book
  • PDF:
    • pdf_book
  • e-book:
    • epub_book
  • Single documents:
    • html_document2
    • tufte_html2
    • pdf_document2
    • tufte_handout2
    • tufte_book2
    • word_document2