Producción Académica con Pandoc

UTN BA Escuela de Posgrado

Maestría en Ingeniería en Sistemas de Información

Dra. Ma. Florencia Pollo Cattaneo

Herramientas para el desarrollo de Tesis

Trabajo Práctico Final
Lisandro Fernández

Octubre 2022. Buenos Aires, Argentina.

Article Boilerplate

Entorno de producción de literatura académica y documentación técnica con Pandoc como interprete y LaTeX como sistema de composición tipográfica.
Generación gráficos, diagramas y notación matemática; gestión de citas, referencias cruzadas y bibliografía.
Evitando el uso de interfaces gráficas y captivas.

Keywords: authoring, plain text, CLI, pandoc.

Contenidos

  1. Introducción: Markdown, Pandoc, TUI.
  2. Integración: Árbol de sintaxis abstracta. Gráficos y diagramas. Citas, referencias y bibliografía. Notación matemática.
  3. Resultados: Pandoc's Markdown. Biblografia y referencias cruzadas.
  4. Conclusión: Futuras lineas de trabajo: Entrega Continua y SMS.
  5. Agradecimientos.
  6. Referencias.

1. Introducción

  • Markdown
  • Pandoc
  • Interfaz Textual de Usuario Interfaces Captivas

Markdow

Sintaxis de formato de texto plano y herramienta de software,
escrita en Perl, que convierte el formato de texto plano en HTML.

# Ejemplo
## Lista 

- Entrada Markdown 
- ✨ Magic ✨
- Salida HTML 

Pandoc

center

..Biblioteca de Haskell (y CLI tool) para convertir de un formato de marcado ligero a otro.

Fuente: Formatting Open Science: agilely creating multiple document formats for academic manuscripts with Pandoc Scholar

Interfaz Textual de Usuario Interfaces Captivas

... nuestro material base no es la madera ni el hierro, es el conocimiento. [...] el mejor formato para almacenar el conocimiento de forma persistente es el texto plano. [...] nos da la posibilidad de manipular el conocimiento, tanto manual como programáticamente, utilizando prácticamente cualquier las herramientas a nuestra disposición.

(Hunt, 1999)

Interfaz de texto (Text User Interface - TUI)

  • Ubicuo: Todos los sistemas operativos cuenta con al menos un editor de texto plano.
  • Fácil de manipular, mantener y comprobar: Procesos rudimentarios. No presenta dificultades ante la necesidad de actualización. Es sencillo agregar rutinas de testeo sin emplear o desarrollar herramientas especiales.
  • Liviano: Determinante cuando los recursos de sistema son limitados.
  • No queda obsoleto: Perduran por sobre otros formatos, aun cuando caduquen las aplicaciones que las hayan creado.

2. Integración

  • Parser
  • Árbol de sintaxis abstracta.
  • Escritores
  • Gráficos y diagramas. Citas, referencias y bibliografía.
    Notación matemática.

Lectores

escritores

AKA Parser

parser

Árbol de sintaxis abstracta


Fuente: twilio.com/blog/abstract-syntax-trees

Escritores

Matplotlib y PlantUML con pandoc-plot.

import numpy as np
import matplotlib.pyplot as plt
np.random.seed(23)
N = 150
r = 2 * np.random.rand(N)
theta = 2 * np.pi * np.random.rand(N)
area = 200 * r**2
colors = theta 
fig = plt.figure(dpi=1200) 
ax = fig.add_subplot(111, projection='polar')
c = ax.scatter(
    heta, r, c=colors, s=area, cmap='hsv', alpha=0.75
)
plt.title('This is an example figure')

Ejemplo MatplotLib

Referencias cruzadas, gestion de biblografía y estilo de citado.

Declarar una referencia como @moolenaar2000 o también [@knuth1986texbook p.3-9].

Pandoc convertirá la bibliografia BibLaTeX en una cita, añadirá la referencia bibliográfica al final del documentos.
Estilizadas con el formato predefinido mediante Lenguajes de Estilo de Cita (Citation Style Language - CSL), incluyendo estilos de: nota al pie, numéricos y autoría, fuente y fechas.

Notación matemática

Declarar: $\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}$ para mostrar en modo inline o modo bloque: $$\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}$$ para mostrar:

3. Resultados

Veamos la fuente

Entrada en MarkDown

Veamos el documento

Salida en PDF

4. Conclusión

  • Aporte
  • Futuras lineas de trabajo
    • Entrega Continua
    • SMS

Aporte

Una cadena de producción de documentos científicos y técnicos sin depender de interfaces gráficas o captivas.

Las características generales de este entorno son:

  • Formatos libres y abiertos, componentes aislados, compactos y robustos.
  • Amplia compatibilidad con requisitos de estilo, predefinidos por la comunidad o personalizados por el usuario.
  • Vinculación a fuentes de datos remotas para publicaciones recurrentes con información dinámica.

Futuras lineas de trabajo

  • Entrega Continua
  • Revisión sistemática de literatura

Entrega Continua

La salida puede ser producido mediante operaciones remotas automáticas.

Los servicios de entrega continua compilan los cambios incrementales en el contenido de los autores, los enlazan, los empaquetan y los ejecutan en un entorno remoto preconfigurado.Servicios como estos acortan las brecha entre las actividades y los equipos de producción, al imponer la automatización en la construcción y entrega de documentos.

Reutilizar este trabajo

Despues de "forkear" el proyecto:

IMAGE ALT TEXT HERE
Modificar el contenido y realizar un commit.

Revisión sistemática de literatura

Este proceder promueve capacidades como: ordenación personalizable, bibliografías jerarquizadas por sección, soporte de poliglosia para el cambio automático de idioma de las entradas y citas bibliográficas; modelo de datos bibliograficos personalizable para que los usuarios puedan definir sus propios y validar con respecto a un modelo.

En revisiones de literatura tipo estudio de mapeo sistemático, donde se involucran múltiples cuerpos bibliográficos con diferente ordenación y exposición, enfoques como el desarrollado simplifican el trabajo y asisten en el proceso.

¡Gracias!

¿Preguntas?

Pull Requests bienvenidos: github.com/lifofernandez/article-boilerplate


5. Referencias