Not another Word

Rafael Medina García

  • ¿Qué es Markdown?
  • ¿Qué es Latex?
  • ¿Qué es Pandoc?
  • ¿Quién soy yo?
  • ¿Qué es Markdown?
  • ¿Qué es Latex?
  • ¿Qué es Pandoc?
  • ¿Quién soy yo?

Markdown

¿Qué es?

Lenguaje de marcado ligero (y libre)

¿Por qué?

  • Simplicidad
  • Legibilidad
# Markdown

## ¿Qué es?

. . .

Lenguaje de marcado ligero (y libre)

## ¿Por qué?

> - Simplicidad
> - Legibilidad
  • ¿Qué es Markdown?
  • ¿Qué es Latex?
  • ¿Qué es Pandoc?
  • ¿Quién soy yo?

Latex

¿Qué es?

  • Sistema completo de composición de textos (y libre)
  • Formado por macros del lenguaje Tex

COMPLETO

--> 300-400 MB (Tex Live) <--

¿Por qué?

Completo

  • ¿Qué es Markdown?
  • ¿Qué es Latex?
  • ¿Qué es Pandoc?
  • ¿Quién soy yo?

Pandoc

¿Qué es?

Un increíble conversor universal de documentos

Formatos

  • ¿Qué es Markdown?
  • ¿Qué es Latex?
  • ¿Qué es Pandoc?
  • ¿Quién soy yo?

Latex vs Markdown

¿Si Latex es tan completo, por qué no usar eso directamente?

Documento de prueba
Documento de prueba

En Markdown...

# Super patata

Esta es una sección **principal**.

## Mini patata

Esta es una *subsección*. Y ahora porque sí voy a meter una tabla:

**Clientes** | **Orden** | **Escrituras** | **Lecturas** | **Tiempo ejecución (segundos)**
:-----:      | :---:     | :---:          | :---:        | :---:
1            | r         | 0              | 10           | 17.027
1            | rw        | 5              | 5            | 27.029
1            | wr        | 5              | 5            | 27.04
1            | w         | 10             | 0            | 27.014
5            | r         | 0              | 10           | 24.014
5            | rw        | 5              | 5            | 103.035
5            | wr        | 5              | 5            | 103.081
5            | w         | 10             | 0            | 103.069
25           | r         | 0              | 10           | 169.078
25           | rw        | 5              | 5            | 503.676
25           | wr        | 5              | 5            | 503.186
25           | w         | 10             | 0            | 503.194

: Mi gato se llama guantes

En Latex...

\section{Super patata}\label{super-patata}

Esta es una sección \textbf{principal}.

\subsection{Mini patata}\label{mini-patata}

Esta es una \emph{subsección}. Y ahora porque sí voy a meter una tabla:

\begin{longtable}[c]{@{}ccccc@{}}
\toprule\addlinespace
\textbf{Clientes} & \textbf{Orden} & \textbf{Escrituras} &
\textbf{Lecturas} & \textbf{Tiempo ejecución (segundos)}
\\\addlinespace
\midrule\endhead
1 & r & 0 & 10 & 17.027
\\\addlinespace
1 & rw & 5 & 5 & 27.029
\\\addlinespace
1 & wr & 5 & 5 & 27.04
\\\addlinespace
1 & w & 10 & 0 & 27.014
\\\addlinespace
5 & r & 0 & 10 & 24.014
\\\addlinespace
5 & rw & 5 & 5 & 103.035
\\\addlinespace
5 & wr & 5 & 5 & 103.081
\\\addlinespace
5 & w & 10 & 0 & 103.069
\\\addlinespace
25 & r & 0 & 10 & 169.078
\\\addlinespace
25 & rw & 5 & 5 & 503.676
\\\addlinespace
25 & wr & 5 & 5 & 503.186
\\\addlinespace
25 & w & 10 & 0 & 503.194
\\\addlinespace
\bottomrule
\addlinespace
\caption{Mi gato se llama guantes}
\end{longtable}

Entonces, ¿no debería utilizar Latex porque es demasiado complejo?

Otro documento de prueba
Otro documento de prueba
Teniendo en cuenta los resultados obtenidos tras la ejecución del código, y que este tarda **54 ciclos** en completar todas las iteraciones del bucle:

\begin{equation}
CPI = \frac{54 ciclos}{19 instrucciones} = 2.842 CPI
\end{equation}

A continuación se muestra un breve análisis de los registros empleados

**Registro** | **Uso**
:--:         | :--:
R1           | iteraciones de bucle
R2           | iteraciones de bucle
R3           | temporal aritmética
R4           | resultado final
R7           | temporal aritmética

: Análisis de registros

¡Markdown y Latex no son excluyentes!

Pandoc vs Otras herramientas

(Libre/Open/Microsoft) Office

¿Por qué iba a dejar mi suite ofimática favorita para usar Pandoc?

  • Tablas
  • Márgenes
  • Edición colaborativa

git all the way!

Google Drive

  • Formato raro
  • Volver a una versión anterior es un rollo
  • Índices
  • Fórmulas
  • Páginas horizontales

Escribiendo documentos con Pandoc

Portada e información

---
title: Sistemas distribuidos - Práctica 2
author:
- Rafael Medina García
- Óscar Seguro Alonso
header-includes:
- \date{}
---

Estructurando el documento

# Título

Lorem ipsum dolor sit amet, consectetur adipiscing elit. In eget sapien at mauris mattis dapibus. Cras pellentesque lacus sit amet.

## Subtítulo

Lorem ipsum dolor sit amet, consectetur adipiscing elit. In eget sapien at mauris mattis dapibus. Cras pellentesque lacus sit amet.

### Sub-subtítulo

Lorem ipsum dolor sit amet, consectetur adipiscing elit. In eget sapien at mauris mattis dapibus. Cras pellentesque lacus sit amet.

Listas simples

- Elemento 1
- Elemento 2.
  Puedo escribirlos en varias líneas,
  como este.
- Elemento 3
    - Elemento 3.1
        * Elemento 3.1.1
        + Elemento 3.1.2
    + Elemento 3.2
    * Elemento 3.3

Listas simples

  • Elemento 1
  • Elemento 2. Puedo escribirlos en varias líneas, como este.
  • Elemento 3
    • Elemento 3.1
      • Elemento 3.1.1
      • Elemento 3.1.2
    • Elemento 3.2
    • Elemento 3.3

Listas ordenadas (I)

1. Introducción
2. Análisis del problema
3. Descripción de la implementación
4. Pruebas

Listas ordenadas (I)

  1. Introducción
  2. Análisis del problema
  3. Descripción de la implementación
  4. Pruebas

Listas ordenadas (II)

1) Introducción
2) Análisis del problema
    i. Componentes
    ii. Interacciones
3) Descripción de la implementación
    a. Cliente
    b. Servidor
4) Pruebas
    a. Cliente
    b. Servidor

Listas ordenadas (II)

  1. Introducción
  2. Análisis del problema
    1. Componentes
    2. Interacciones
  3. Descripción de la implementación
    1. Cliente
    2. Servidor
  4. Pruebas
    1. Cliente
    2. Servidor

Tablas simples (I)

**Registro**         **Uso**
------------   --------------------
R1             iteraciones de bucle
R2             iteraciones de bucle
R3             temporal aritmética
R4             *resultado final*
R7             temporal aritmética

Tablas simples (I)

Registro Uso
R1 iteraciones de bucle
R2 iteraciones de bucle
R3 temporal aritmética
R4 resultado final
R7 temporal aritmética

Tablas simples (II)

------------   --------------------
R1             iteraciones de bucle
R2             iteraciones de bucle
R3             temporal aritmética
R4             *resultado final*
R7             temporal aritmética
------------   --------------------

Tablas simples (II)

R1 iteraciones de bucle
R2 iteraciones de bucle
R3 temporal aritmética
R4 resultado final
R7 temporal aritmética

Tablas multilínea (I)

-------------------------------------------------------------
 Centered   Default           Right Left
  Header    Aligned         Aligned Aligned
----------- ------- --------------- -------------------------
   First    row                12.0 Example of a row that
                                    spans multiple lines.

  Second    row                 5.0 Here's another one. Note
                                    the blank line between
                                    rows.
-------------------------------------------------------------

¡Hay que prestar atención al ancho de las columnas!

Tablas multilínea (I)

Centered Header Default Aligned Right Aligned Left Aligned
First row 12.0 Example of a row that spans multiple lines.
Second row 5.0 Here's another one. Note the blank line between rows.

Tablas multilínea (II)

----------- ------- --------------- -------------------------
   First    row                12.0 Example of a row that
                                    spans multiple lines.

  Second    row                 5.0 Here's another one. Note
                                    the blank line between
                                    rows.
----------- ------- --------------- -------------------------

Tablas multilínea (II)

First row 12.0 Example of a row that spans multiple lines.
Second row 5.0 Here's another one. Note the blank line between rows.

Tablas de rejilla

+---------------+---------------+--------------------+
| Artículo      | Precio        | Información        |
+===============+===============+====================+
| Madera balsa  | $1.34         | - ligero           |
|               |               | - para manualidades|
|               |               | - color claro      |
+---------------+---------------+--------------------+
| Madera roble  | $2.10         | - resistente       |
|               |               | - color oscuro     |
+---------------+---------------+--------------------+
  • Se pueden crear con el modo tabla de Emacs
  • No permiten alineado

Tablas de rejilla

Artículo Precio Información

Madera balsa

$1.34

  • ligero
  • para manualidades
  • color claro

Madera roble

$2.10

  • resistente
  • color oscuro

Tablas pipe

**Registro** | **Uso**
:--:         | --:
R1           | iteraciones de bucle
R2           | iteraciones de bucle
R3           | temporal aritmética
R4           | resultado final
R7           | temporal aritmética

No permiten multilínea

Tablas pipe

Registro Uso
R1 iteraciones de bucle
R2 iteraciones de bucle
R3 temporal aritmética
R4 resultado final
R7 temporal aritmética

Formato

- Negrita: **Este texto está en negrita**
- Cursiva: *Este texto está en cursiva*
- Tachado: ~~Este texto está tachado~~
- Superíndices: e^patata^ = 42
- Subíndices: e~patata~ = H~2~O

Formato

  • Negrita: Este texto está en negrita
  • Cursiva: Este texto está en cursiva
  • Tachado: Este texto está tachado
  • Superíndices: epatata = 42
  • Subíndices: epatata = H2O

Enlaces (I)

Este es mi texto con enlaces **automáticos** como este: <http://gul.es>.

También permite especificar direcciones de correo como <info@gul.es>.

Enlaces (I)

Este es mi texto con enlaces automáticos como este: http://gul.es.

También permite especificar direcciones de correo como .

Enlaces (II)

Este es mi texto con enlaces [entre líneas](http://gul.es).

También se [puede especificar un título](http://gul.es "Página del GUL")

Ahora uno con [correo electrónico](mailto:info@gul.es)

Enlaces (II)

Este es mi texto con enlaces entre líneas.

También se puede especificar un título

Ahora uno con

Enlaces (III)

En este texto estoy usando enlaces de referencia en [markdown].

Los enlaces están definidos [abajo].

[markdown]: http://daringfireball.net/projects/markdown/syntax
[abajo]: http://gul.es 'Página del GUL'

¡Las definiciones no aparecen!

Enlaces (III)

En este texto estoy usando enlaces de referencia en markdown.

Los enlaces están definidos abajo.

¡Las definiciones no aparecen!

Enlaces (IV)

También podemos definir enlaces de referencia **dentro del documento**.

Este enlace nos lleva a [la introducción](#Introducción).

Se aplican las diferentes formas de escribir enlaces.

Imágenes

Poner imágenes es muy sencillo:

![LOL](images/nigel.gif)

Imágenes

Poner imágenes es muy sencillo:

LOL
LOL

Pies de página

Ahora me apetece poner una referencia a pie de página.[^1]

[^1]: Defino las referencias como los enlaces.

    Mientras las siguientes líneas estén indentadas, serán parte de la referencia.

Y ahora otra más.^[¡Esta no puede ser multilínea! Pero no tengo que darle un identificador]

Pies de página

Bloques de código (I)

Un bloque de código sencillo sólo debe empezar cada línea con indentado

    def test(a):
        if a < 0:
            print("No es correcto")

El texto puede continuar con normalidad después.

Bloques de código (I)

Un bloque de código sencillo sólo debe empezar cada línea con indentado

def test(a):
    if a < 0:
        print("No es correcto")

El texto puede continuar con normalidad después.

Bloques de código (II)

También se pueden especificar bloques explícitamente:

```
def test(a):
    if a < 0:
        printf("No es correcto")
```

Y usar coloreado de sintaxis:

~~~python
def test(a):
    if a < 0:
        printf("No es correcto")
~~~

Bloques de código (II)

También se pueden especificar bloques explícitamente:

def test(a):
    if a < 0:
        printf("No es correcto")

Y usar coloreado de sintaxis:

def test(a):
    if a < 0:
        printf("No es correcto")

Citas - Archivo de citas

Formatos soportados:

  • MODS => .mods
  • BibLaTeX/BibTeX => .bib/.bibtex
  • RIS => .ris
  • EndNote => .enl
  • EndNote XML => .xml
  • ISI => .wos
  • MEDLINE => .medline
  • Copac => .copac
  • JSON citeproc => .json

Citas - Ejemplo

Requiere pandoc-citeproc >= 0.6

Ver ejemplo 24

Tabla de contenidos

pandoc report.md --toc --number-sections -o report.pdf

Plantillas de Pandoc

Plantillas por defecto

pandoc -D <tipo>

# Plantilla de PDF
pandoc -D latex

Ejemplo real

Práctica de Sistemas Distribuidos, por Rafael Medina y Óscar Seguro

Presentaciones

Tipos de presentaciones

¿Ejemplo de reveal.js?

Algunos enlaces de interés

¡Muchas gracias!