A.2 Los lenguaje de marcado

Tony Ibbs, a brief history of text markup languages: https://youtu.be/P-7hwjocEpM

Lenguaje de marcado en Wikipedia: https://es.wikipedia.org/wiki/Lenguaje_de_marcado

A.2.1 Markdown

  • Markdown fue creado por John Gruber en 2004, quien trabajó con Aaron Schwartz en la sintaxis.
  • John Gruber define Markdown de la siguiente manera: “Markdown is a converting text to HTML for web editors. Markdown allows you to write using an easy to read and write plain text format, then convert it to structurally valid XHTML (or HTML).”
  • La definición de Gruber muestra que Markdown está dirigido a cualquiera que esté interesado en producir contenido para la Web. Markdown es libre y de código abierto.

A.2.1.1 Los beneficios de Markdown

  • Markdown provee significado semántico al contenido de una manera relativamente simple.
  • Se puede escribir extremadamente rápido contenido enriquecido con formato (si se compara con escribir directamente las correspondientes etiquetas html)
  • Es muy fácil leer Markdown en texto plano antes de producir una salida HTML.
  • En la mayoría de los casos se puede trabajar de corrido en un documento sin las pausas o interrupciones que implica usar el ratón o dar clic a botones/menús.
  • Es independiente de plataforma/editor, así que el contenido no está atado al formato propio del software que se haya usado para escribirlo.
  • Markdown es lígero, lo que significa que no es necesario aprender tantas cosas para poder empezar a usarlo.
  • En especial, algunos periodistas y blogueros lo prefieren y lo alaban, gracias a que les ayuda a hacer su trabajo lo más fácil, rápido y simple posible.

A.2.1.2 Algunas críticas que se le hacen a Markdown

  • Markdown no fue diseñado especificamente para escribir documentación, así que es lógico que tenga ciertas limitantes al usarlo para eso.
  • A diferencia de otros lenguajes de marcado, Markdown no está estandarizado, por lo que en algunos casos no se sabe con absoluta certeza cómo será la visualización en un navegador en particular.
  • Hay demasiadas variantes de Markdown, debido a que las personas lo adaptan y extienden para que tenga las funcionalidades que deseen, y como consecuencia estas variantes no son compatibles entre sí.
  • Markdown combina el significado semántico del texto y la manera en que debería ser mostrado, para algunas personas eso no es apropiado.
  • Es limitado en cuanto al estilo en que se puede mostrar el contenido (sin embargo, Markdown fue diseñado intencionalmente así).

A.2.1.4 Ejemplo

Fuente: EjemploMarkdown.md

Usando pandoc:

  1. Instale pandoc (https://pandoc.org/installing.html):
  2. En línea de comandos (por ejemplo con cmd en Windows) ejecute:
    • pandoc EjemploMarkdown.md -f markdown -t html -s --mathjax -o EjemploMarkdown.html para obtener como salida un archivo .html que usa mathjax para las fórmulas matemáticas.
    • pandoc EjemploMarkdown.md -f markdown -t html -s --mathml -o EjemploMarkdown.html para obtener como salida un archivo .html que usa mathml para las fórmulas matemáticas.
    • pandoc EjemploMarkdown.md -s -o EjemploMarkdown.tex para obtener como salida un archivo .tex.
    • pandoc EjemploMarkdown.md -s -o EjemploMarkdown.pdf para obtener como salida un archivo .pdf.

A.2.2 R Markdown

https://rmarkdown.rstudio.com/

A.2.2.4 Dynamic documents with rmarkdown cheatsheet

https://github.com/rstudio/cheatsheets/raw/master/rmarkdown.pdf

A.2.2.5 Paquetes para más formatos de documentos

tufte, flexdashboard, xaringan, revealjs, 
prettydoc, rmdformats, rmdshower, bookdown, 
rticles, learnr, htmlwidgets

A.2.2.6 R Markdown: The Definitive Guide

https://bookdown.org/yihui/rmarkdown/

A.2.2.7 Ejemplo

Fuente: EjemploRMarkdown.Rmd

Dentro de R, con la librería rmarkdown instalada y con pandoc instalado y correctamente referenciado dentro de R (Sys.setenv(RSTUDIO_PANDOC="C:/Program Files/RStudio/bin/pandoc/")) ejecute:

  • rmarkdown::render('EjemploRMarkdown.Rmd', 'html_document') para producir la salida (output): EjemploRMarkdown.html

  • rmarkdown::render('EjemploRMarkdown.Rmd', 'pdf_document') para producir la salida (output): EjemploRMarkdown.pdf

A.2.3 HTML

A veces Markdown se queda corto para lo que uno desea, y si la salida va a ser un archivo .html, entonces se pueden utilizar marcajes del lenguaje HTML (aunque con ello ya no sea tan fácil que con el mismo archivo fuente se puedan generar diferentes salidas, por ejemplo archivos .html y .pdf que tengan el mismo contenido en su propio formato).

A.2.3.1 Ejemplo

Abra el siguiente archivo con un editor de texto plano como notepad (abrir como…) y luego con un navegador web: EjemploHTML.html

Para los que por su cuenta quieran empezar a aprender el lenguaje HTML, podría servirles el tutorial que se encuentra en el siguiente enlace: https://www.w3schools.com/html/default.asp

Para los que por su cuenta quieran empezar a hacerse una idea rápida de:

A.2.4 TeX

A.2.4.1 LaTeX

A.2.4.1.1 Edición y procesamiento

Editores (que he utilizado):

  • TeXstudio, TeXmaker, TeXworks (Windows)
  • Overleaf (Web)
  • Kile (Linux)
  • Cualquier editor de texto más el uso de la línea de comandos.

Distribuciones para el procesamiento/traducción/compilación (que he utilizado):

  • MikTeX (Windows)
  • TeX Live (Linux)

Fuentes (que he consultado):

A.2.4.2 Ejemplo (article)

Fuente: Ejemplo1LaTeX.tex

En línea de comandos:

A.2.4.3 BibTeX y ejemplo (beamer)

A.2.4.4 Algunas plantillas de interés