Lo que he aprendido: de SVG a TikZ con Inkscape

Amo Inskape. A pesar de estar en la versión 0.92, funciona maravillosamente, tiene montones de funcionalidades y, por si fuera poco, al más puro estilo software libre, se pueden escribir extensiones que hagan lo que nos apetezca.

Como yo no soy tan hábil como para escribir mis propias extensiones, me aprovecho de la sabiduría de la comunidad para hacer cosas como la que os venía a contar hoy: exportar un svg a TikZ.

Un poco de contexto

Inkscape carrula con imágenes en formato SVG (Scalable Vector Graphics), un formato de gráficos vectoriales definidos en un XML. Que son texto plano, vamos, y podemos abrir una imagen SVG con un editor de texto y ver su definición. La ventaja de usar gráficos vectoriales es que no perdemos calidad al ampliar las imágenes porque los elementos se definen en función de su posición en el dibujo, si el dibujo es más grande las posiciones cambian y los elementos se dibujan de acuerdo a ellas.

TikZ, por su parte, es un paquete de TeX para crear gráficos vectoriales programáticamente1 (qué palabra más maravillosa). De esta manera, los gráficos nos quedan perfectamente integrados en nuestro documento y podemos cambiar el tipo de fuente, tamaño o lo que sea de ambas cosas simultáneamente.

Bien, la cuestión aquí es que usar TikZ es tremendamente difícil y usar Inkscape tremendamente sencillo y ¡LaTeX no tiene soporte para SVG! En general, suelo exportar las imágenes de Inkscape como EPS, manteniendo el texto como LaTeX, pero hay veces que me resulta más práctico tener la definición de la imagen en el propio archivo con el texto.

La extensión svg2tikz

Para esos casos en los que por lo que sea queremos que nuestra imagen esté definida en TikZ, tenemos la extensión de Inkscape svg2tikz. Son tres archivos, dos de extensión de Inkscape y uno de Python que están en la carpeta extensions del repositorio y que tenemos que copiar en la carpeta de extensiones de Inkscape, tal y como indican en las instrucciones. Será o bien /usr/share/inkscape/extensions o ~/.config/inkscape/extensions/2.

Cuidado aquí que yo guardé los archivos directamente del GitHub con Guardar destino como… y luego no me reconocía la extensión. Descargando todo el repo y copiando los archivos correspondientes en cambio sí que me funcionó.

Ahora en el menú Extensiones > Exportar tendremos una nueva opción Export to TikZ path que nos permitirá guardar la imagen como TikZ. Vigilad la ruta porque por defecto no la guarda en la carpeta donde estaba la imagen original sino en la carpeta de las extensiones.

Y ale, ya podemos chulear diciendo que nosotros hacemos todo directamente en LaTeX como hacían los profesores de mecánica de mi universidad que calculaban la base y la ruleta con la fórmula y luego decían que se veían directamente en el dibujo.

Referencias

Chapter 22. Extensions en el manual de Inkscape

svg2tikz

Galería de extensiones de Inkscape

inkscapeMadeEasy


Suena:


  1. Lo usé de tapadillo para pintar estructuras y que me quedaran cuquis lo apuntes, no sé si recordáis. 
  2. Como uno de mis propósitos del 2019 es ir abandonando las tecnologías privativas, voy a intentar hablar lo menos posible de Windows. 

Un pensamiento en “Lo que he aprendido: de SVG a TikZ con Inkscape

  1. Pingback: En qué ando: enero | Onda Hostil

¡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 )

Google+ photo

Estás comentando usando tu cuenta de Google+. 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 )

Conectando a %s