Apéndice A — Lenguajes de marcado

En este apéndice se hará una revisión de algunos lenguajes de marcado.

Lenguaje de marcado - Wikipedia, la enciclopedia libre: https://es.wikipedia.org/wiki/Lenguaje_de_marcado

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

A.1 TeX

A.2 LaTeX

A.2.1 Edición y procesamiento

Editores (que he utilizado):

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

Distribuciones que se encargan del procesamiento del archivo fuente (que he utilizado):

  • MikTeX (Windows)
  • TeX Live (Linux)

Referencias (que he consultado):


Ejemplo A.1 Documento con formato de artículo obtenido usando LaTeX.

Archivo fuente: Ejemplo1LaTeX.tex

En línea de comandos:


Ejemplo A.2 Presentación o diapositivas formato beamer obtenidas usando LaTeX y BibTeX para el manejo de la bibliografía.

Archivo fuente: Semana02-DescripcionUnaVariable.tex

Archivo fuente bibtex: bibliography.bib

A.2.2 Algunas plantillas de interés

A.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).

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


Ejemplo A.3 Documento HTML.

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


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

A.4 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.4.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.4.2 Algunas críticas que se le hacen a Markdown

  • Markdown no fue diseñado específicamente 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í).

  • Markdown Reference: https://commonmark.org/help/

  • Markdown Tutorial: https://commonmark.org/help/tutorial/index.html


Ejemplo A.4 Documento usando Markdown.

Archivo 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:

    • Para obtener como salida un archivo .html que usa mathjax para las fórmulas matemáticas:

      pandoc EjemploMarkdown.md -f markdown -t html -s --mathjax -o EjemploMarkdown.html
    • Para obtener como salida un archivo .html que usa mathml para las fórmulas matemáticas:

      pandoc EjemploMarkdown.md -f markdown -t html -s --mathml -o EjemploMarkdown.html
    • Para obtener como salida un archivo .tex:

      pandoc EjemploMarkdown.md -s -o EjemploMarkdown.tex
    • Para obtener como salida un archivo .pdf:

      pandoc EjemploMarkdown.md -s -o EjemploMarkdown.pdf

A.5 R Markdown


Ejemplo A.5 Documento usando R Markdown.

Archivo 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:

  • Para producir como salida un archivo .html (EjemploRMarkdown.html):

    rmarkdown::render('EjemploRMarkdown.Rmd', 'html_document')
  • Para producir como salida un archivo .pdf (EjemploRMarkdown.pdf):

    rmarkdown::render('EjemploRMarkdown.Rmd', 'pdf_document')

A.6 Quarto

A.7 Ejercicios

  1. Cree un archivo .tex e incluya en él todos los ejemplos que se encuentran en los capítulos 3 y 4 del libro:

    De Castro Korgi, Rodrigo. (2007). El universo LaTeX. Universidad Nacional de Colombia. http://ciencias.bogota.unal.edu.co/menu-principal/publicaciones/biblioteca-digital/matematicas/

    A partir de dicho archivo genere o produzca el .pdf correspondiente y observe/compare la manera en que allí se visualiza cada ejemplo incluido en el archivo .tex.

  2. Usando los lenguajes de marcado: Markdown para el texto con formato y LaTeX para las fórmulas matemáticas, cree un archivo .Rmd para producir un documento .pdf en donde reproduzca al menos 5 páginas del libro:

    Blanco Castañeda, Liliana (2004). Probabilidad. Universidad Nacional de Colombia. https://repositorio.unal.edu.co/handle/unal/53471

    o del libro:

    Mayorga A., J. Humberto (2004). Inferencia Estadística. Universidad Nacional de Colombia. https://repositorio.unal.edu.co/handle/unal/53475

    Para que este punto sea lo más formativo posible, escoja páginas consecutivas que tengan la mayor cantidad y complejidad de texto con formato (títulos, negrilla, cursiva, enumeraciones, etc.), fórmulas, gráficas, tablas, enlaces, entre otros.

  3. Haga el mínimo de modificaciones al archivo .Rmd creado en el punto anterior para producir un documento .html.

  4. Haga el mínimo de modificaciones al archivo .Rmd creado en el punto anterior para producir un documento .html que use uno de los temas incluidos en el paquete prettydoc (engine html_pretty). Además, haga la modificación requerida para que el documento .html no requiera de conexión a Internet para mostrar las expresiones/fórmulas matemáticas.

  5. Usando los lenguajes de marcado: Markdown para el texto con formato y LaTeX para las fórmulas matemáticas, cree un archivo .Rmd para producir una presentación xaringan (https://bookdown.org/yihui/rmarkdown/xaringan.html) de mínimo 15 diapositivas. El tema de la presentación será la sección que usted desee del libro:

    Blanco Castañeda, L. (2004). Probabilidad. Universidad Nacional de Colombia. https://repositorio.unal.edu.co/handle/unal/53471

    o del libro:

    Mayorga A., J. Humberto (2004). Inferencia Estadística. Universidad Nacional de Colombia. https://repositorio.unal.edu.co/handle/unal/53475

    Para que este punto sea lo más formativo posible, complemente el tema seleccionado con otras fuentes bibliográficas y trate de incluir todo tipo de elementos en la presentación: texto con diversos formatos (títulos, negrilla, cursiva, enumeraciones, etc.), fórmulas, gráficas, tablas, enlaces, entre otros.