---
breaks: false
repo: https://mutabit.com/repos.fossil/documentaton/
parent: pandoc.md
sync:
  - https://docutopia.tupale.co/documentaton:exportacion-multiformato
  - repo://es/capitulos/exportacion.md

---

## Exportación de Markdown a PDF

Para exportar a distintos formatos lo que hacemos en los suguiente:

```bash=
  pandoc archivo1.md archivo2.md archivoN.md --output compilado.pdf
```

Donde cada uno de los archivos `.md` son archivos de Markdown que ordenados constituiran el PDF final.

En ocasiones quisiéramos cambiar también las opciones de fuentes, paginación, títulos, tipografías, tamaño de página, etc.
Usualmente expresamos todas ellas en un archivo de metadatos, llamado, por convención, `metadata.yaml`.
Si queremos usar las opciones en ese archivo, para controlar nuestro PDF lo que hacemos es lo siguiente:

```bash=
  pandoc metadata.yaml archivo1.md archivo2.md archivoN.md --output compilado.pdf
```

Por ejemplo, para el libro de [Feminismo de Datos](https://mutabit.com/repos.fossil/datafem) el archivo yaml de opciones [es este](https://mutabit.com/repos.fossil/datafem/artifact/caddd75f139754f4).

### Ejemplo: Producir una primera versión (pre-alfa) del librito/cartilla en PDF.



Corremos el comando dentro de la carpeta de español para producir la versión del libro:

```bash=
 cd es/
```

```bash=
 pandoc metadata.yaml \ 
     capitulos/presentacion.md  \
     capitulos/convenciones.md \
     capitulos/fossil.md  \
     capitulos/infraestructuras-bolsillo.md \
     capitulos/instaladores.md \
     -o documentaton.pdf

```

Veamos lo que hemos hecho en mayor detalle:

  - Primero nos ubicamos en la carpeta del idioma donde están los textos que consitutyen nuestro libro.
  - Luego empleamos Pandoc para exportarlo a distintos formatos, para ello indicamos cuál era el archivo de metadatos
      (`metadata.yaml`), que continene las opciones de personalización y luego cada uno de los capítulos en orden.
      En sistemas \*nix el backslash (\\) funciona dentro de archivos y órdenes ejecutables, indicando saltos de línas que van
      concatenadas y lo usamos para fácil lectura, colocando un argumento en una línea diferente.

Agregamos el archivo en PDF como [archivo no versionado dentro del repositorio][fossil:uv], es decir que no rastrearemos los cambios en el mismo.

Desde la raíz del repositorio hacemos:

```bash=
  fossil uv add es/documentaton.pdf
  fossil uv sync -v
```

## Edición y depuración del PDF

Para esto cambiaremos los archivos directamente en el repositorio, y luego crearemos algo que los sincronize de vuelta (o de modo bidireccional) con los pads originales.

Vamos a instalar un editor de Markdown para trabajar directamnte en los archivos del repositorio, por ejemplo [Ghostwritter](https://wereturtle.github.io/ghostwriter/) ([Repositorio](https://github.com/wereturtle/ghostwriter))

Para MacOS Ghostwritter aún no es estable, una alternativa es [MacDown](https://macdown.uranusjr.com/) ([Repositorio](https://github.com/MacDownApp/macdown))

```bash=
  brew cask install macdown
```

[datafem:exportacion]: https://docutopia.tupale.co/datafem:edicion-digital

[datafem:exportacion-pdf]: https://docutopia.tupale.co/datafem:edicion-digital#Siguiendo-la-opci%C3%B3n-1-v%C3%ADa-Pandoc

[fossil:uv]: https://docutopia.tupale.co/fossil:pyr#%C2%BFC%C3%B3mo-enviar-archivos-no-versionados-a-Fossil