Lo que he aprendido: referenciando imágenes en Markdown

Continúo con mi transición al texto plano, esta vez intentando referenciar figuras desde el texto, algo indispensable si te dedicas a la academia como es mi caso. Después de una pequeña investigación he descubierto tres maneras de hacerlo. Os las cuento:

Lo fácil: modo Latex

Esta es la manera más evidente si usas pandoc para crear el archivo de salida y si ese archivo de salida es un pdf. Pandoc convierte de Markdown a Latex y luego de Latex a pdf así que se puede usar directamente Latex dentro del Markdown. Es lo que he estado haciendo hasta ahora, pero no me gusta especialmente porque no es Markdown.

Consiste simplemente en poner una etiqueta a la figura en el caption con \label{nombre} y luego referenciarla cuando nos parezca con \ref{nombre}. Es fácil y práctico.

Lo difícil: modo pandoc-fignos

Pandoc-fignos es un paquete que se creó para poder referenciar figuras con sintaxis de Markdown. Tal y como explica en su documentación, para insertar la figura hay que seguir la siguiente estructura:

![Caption](image.png) {#fig:description}

Y luego se referencia en el texto o bien con @fig:description o {@fig:description}.

Luego solo falta llamar a pandoc con el filtro incluido, es decir:

$ pandoc input --filter pandoc-fignos -o output

O lo podemos añadir al supermakefile que hicimos el otro día, que quedaría:

Solo me queda decir, aunque ya lo pone en la docu, qué hay que hacer para instalarlo. No es muy complicado, pero necesitamos tener Python instalado y el chisme de manejar paquetes de Python setuptools también. Yo como tengo instalado Anaconda, para instalarlo llamo a Anaconda en el terminal y luego hago:

conda install -c https://conda.anaconda.org/anaconda setuptools

Luego llamamos a pip para que nos instale pandoc-fignos:

$ pip install pandoc-fignos

¡Ya podemos jugar!


NOTA: yo he hecho esto en un Windows con Cygwin y Anaconda instalados, para cualquier otro caso habrá pequeñas diferencias. Comentadme y ya veremos si las podemos solucionar 🙂


ACTUALIZACIÓN

He hecho la prueba de instalar la historieta en GNU/Linux, en una distro basada en Debian concretamente y funciona perfect. Hay que hacer:

$ sudo apt-get install python-pip # Instalar pip
$ sudo easy_install -U setuptools # Instalar/actualizar setuptools
$ sudo pip install pandoc-fignos  # Instalar pandoc-fignos

Más

Si os venís arriba podéis probar a referenciar ecuaciones con pandoc-eqnos

Anuncios

4 pensamientos en “Lo que he aprendido: referenciando imágenes en Markdown

  1. Pingback: Lo que he aprendido: instalando Anaconda en Windows | Onda Hostil

  2. Pingback: Lo que he aprendido: Pandoc 1.16 y sus nuevas funcionalidades | Onda Hostil

  3. maxwell

    saludos, soy nuevo en este maravilloso mundo de python, pero tengo la duda de que debo instalar primero, si python o anaconda,pues instale el primero antes que anaconda y al intentar instalar anaconda me aparece un mensaje de error ;destination folder contains 1 space.this can
    cause problem with several conda packages, and is thus disabled.please install to a path without the space

    Responder
    1. Ondiz Autor de la entrada

      Hola!

      Anaconda es una distribución de Python, lo que significa que trae Python junto con otros paquetes y herramientas que pueden resultarte útiles. Esto quiere decir que no hay necesidad de instalar Anaconda y Python, solo con Anaconda tienes suficiente. Si no te quieres liar, desinstala Python mejor 🙂

      En cualquier caso, el error que te da no es porque hayas instalado Python primero sino porque estás instalando Anaconda en una ruta que contiene un espacio en su nombre (¡mala práctica! 😀 ), si cambias el destino de instalación a una ruta sin espacios solucionarás el problema (igual te surge otro, eso ya no sé)

      Espero haberte ayudado 🙂

      Un saludo!

      Responder

¡Opina sin miedo! (Puedes usar Markdown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s