1.1 Motivación

Markdown es un maravilloso lenguaje para escribir documentos relativamente simples que contengan elementos como secciones, párrafos, listas, vínculos e imágenes, etc. Pandoc http://pandoc.org ha extendido enormemente la sintaxis original de Markdown y ha añadido unas pequeñas nuevas características tales como notas al pie de página, citas y tablas. Lo más importante que hace Pandoc es hacer posible la generación de documentos en una amplia variedad de formatos desde Markdown, incluyendo HTML, LaTeX/PDF, MSWord y Slides.

Existen unas pocas características que Pandoc aún no permite hacer si lo que se desea es escribir un documento como un libro relativamente complicado, tales como numerar automáticamente las figuras y tablas en la salida de documentos HTML, referencias cruzadas de figuras y tablas y un control óptimo de la apariencia de figuras (e.g. actualmente es imposible especificar la alineación de imágenes usando la sintaxis de Markdown). Estos son algunos de los problemas que se han intentado resolver con la librería bookdown.

Bajo la restricción de que queremos producir el libro en varios formatos de salida, es casi imposible cubrir todas las posibles características específicas de estos formatos. Por ejemplo, puede ser difícil recrear un determinado ambiente complicado en LaTeX en la salida HTML utilizando la sintaxis de R Markdown. El objetivo principal no es reemplazar todo con Markdown, sino cubrir las funcionalidades más comunes que se requieren para escribir un documento relativamente complicado, y hacer la sintaxis de dichas funcionalidades consistentes a través de todos los formatos de salida, por lo que sólo necesita aprenderse una cosa y ésta funciona bien para todos los formatos de salida.

Otro de los objetivos de este proyecto es hacer que sea fácil producir libros que parezcan visualmente agradables. Algunos buenos ejemplos existentes incluyen Gitbook https://www.gitbook.com, Tufte CSS http://edwardtufte.github.io/tufte-css/, y Tufte-LaTeX https://tufte-latex.github.io/tufte-latex/. Se espera integrar estos temas y estilos en bookdown, por lo que los autores no tienen que sumergirse en los detalles sobre cómo utilizar una cierta clase de plantilla LaTeX o cómo configurar CSS para la salida HTML.