De LaTeX a ePub, experimentos con publicación multiformato

You can find this article in English.

¿He dicho esto antes? Me encanta el texto sencillo (#iloveplaintext). Puedes estar segura de que hay alguna manera para cambiar del formato que elegiste para escribir un documento, a otro formato diferente, probablemente conservando la mayoría del diseño y apariencia del texto original. Esta fue mi premisa cuando surgió el reto de obtener un ePub (o .mobi o algún otro formato de ebook) similar a este PDF en apariencia, pero mejorado para los lectores de libros electrónicos como Kindle o Cool Reader para tabletas con Android. La cosa buena es que se disponía de los fuentes en LaTeX para usarlos en la conversión. En este artículo publico las recetas y los resultados obtenidos de mis 5 experimentos, así cualquiera puede tener una imagen de lo poderosas que son las herramientas de software libre para este tipo de tareas, y cuáles pueden probar (o no probar) para su caso particular. Si quieres saber el método que mejor funcionó para mí, ve al 5º intento.

  • 1er intento: clase memoir de LaTeX.
  • 2º intento: clase geometry de LaTeX.
  • 3er intento: Pandoc (versión antigua)
  • 4º intento: Pandoc (versión nueva)
  • 5º intento (¡Bueno!): text4ht + Calibre

1er intento: clase memoir de LaTeX

Tiempo total de esta transformación: 5 minutos máx. Lo que he hecho:

  • Abrir el .tex con Kile (mi editor LaTeX favorito)
  • Marcar como comentarios las líneas de documentclass, la del paquete geometry y todonotes
  • Incluir una línea documentclass con clase memoir y diversas opciones específicas para ebook (las he tomado de aquí, en ese artículo se incluye una plantilla completa pero yo fui “al grano”.
  • Mis gráficos y tablas tenían anchos en cm (#grr), he hecho una búsqueda y reemplazo por múltiplos de \linewidth (a ojo de buen cubero). Creo que no sirvió de mucho.
  • Las medidas verticales en cm no las cambié por pereza.
  • Compilar con Kile a PDF y ya.

El resultado no es muy allá, así que probé otra cosa.

2º intento: clase geometry de LaTeX

Tiempo total de esta transformación: 5 minutos máx. Lo que he hecho:

  • Abrir el .tex con Kile
  • Marcar como comentarios las líneas de documentclass, la del paquete geometry y todonotes
  • Incluir una línea documentclass con clase geometry y márgenes tomada de aquí.
  • He puesto márgenes izdo y dcho iguales (estaban diferentes).
  • He buscado y reemplazado los anchos en cm de gráficos y tablas para ajustarlas: 13cm y 14cm >> 8cm; 5cm > 3cm, 7cm > 4cm.
  • Las medidas verticales en cm no las cambié por pereza.
  • Compilar con Kile a PDF y ya.

El resultado tampoco es muy allá, así que probé otra cosa.

3er intento: Pandoc (versión antigua)

Tiempo total de esta transformación: 5 minutos max. Lo que he hecho:

  • Transformar a HTML con pandoc (instalado desde apt en Debian Squeeze):
 pandoc -f latex -t html larjona_thesis_translations_en.tex -s -S -R --toc -o larjona2.html
  • Abrir Calibre y agregar el libro HTML
  • Convertir a epub (no me paré mucho en los metadatos etc)

Las conversiones directas a ePub con Pandoc no podían abrirse en Calibre, por eso lo hice así. El resultado (cambiar el nombre para quitar el “.pdf” y dejar la extensión “.epub”) era significativamente peor que los PDF anteriores: los gráficos desaparecieron (mal), los pies de página están todos al final (mal), los títulos de los apéndices han desaparecido (mal), el verbatim ahora sí se ve bien (bien), la bibliografía ha desaparecido (mal). El lector Kindle para Android no reconocía el ePub. No trasteé mucho, porque otro lector de software libre, FBReader, sí lo abrió.

4º intento: Pandoc (versión nueva)

Repetí el proceso anterior en Debian Wheezy, que tiene una versión más actualizada de Pandoc. El resultado es algo mejor, aunque sigue sin tener ni tablas, ni figuras, ni bibliografía.

5º intento (¡Bueno!): text2ht + Calibre

Tiempo total de esta transformación: 10 minutos, mas lo que haya que tocar para pasar a dvi sin errores con tex4ht. Lo que he hecho:

  • Instalar tex4ht desde apt en Debian Wheezy.
  • Abrir el .tex con Kile y marcar como comentario un título de sección que incluía una nota al pie con una URL y un título corto para el índice, y daba error al compilar con tex4ht. He escrito en su lugar un título sencillo.
  • Compilar de nuevo con Kile (PDFLatex) para que se generen los archivos intermedios de bibliografía
  • Desde línea de comando:
 htlatex larjona_thesis_translations_en_tex4ht.tex

(da algunos avisos sobre el tamaño de las imágenes)

  • Abro Calibre y añado libro, eligiendo el HTML “raíz” que se ha generado.
  • Convierto a ePub, agregando una portada y rellenando los metadatos
  • ¡FIN!

El resultado (cambiar el nombre y borrar la extensión .pdf, dejando la .epub) es bastante aceptable: mi lector de ePub para Android renderiza bien los enlaces (URL, índice, pies de página y citas bibliográficas), pero no el verbatim (los *) ni las tablas. Sin embargo, desde el portátil, veo todo bien con Calibre o con Okular.

Comentarios

  • Hice esto hace casi un año, así que quizá ahora hay mejores herramientas (o las mismas se han mejorado) para hacer el apaño.
  • No tenía mucho tiempo para invertir en esto, así que no leí toda la documentación etc., sólo busqué un poco por internet, leí las cosas más importantes, y probé. Estoy segura de que hay otras maneras de hacer la conversión, más elegantes, o como sea.
  • Tenía un fichero concreto en LaTeX que quería convertir, y ya estaba escrito en LaTeX. Quiero decir: si tuviera que empezar a escribir un documento otra vez (con la idea de publicación multiformato), quizá no habría escogido LaTeX como fuente (por ejemplo, usaría markdown, o docbook y edición con Publican (como en el Manual del Administrador de Debian), o el modo org-mode de Emacs (sí, es posible escribir una tesis en org-mode), o HTML). Depende mucho del tipo de documento: el mío era uno sencillo, otros trabajos pueden tener por ejemplo muchas fórmulas o gráficos o tablas y necesitas escoger el formato principal y la herramienta de edición en función de eso.
  • Por supuesto, he usado sólo software libre para hacer las conversiones. No estoy interesada en herramientas no libres.

Agradecimientos

Gregorio Robles preguntó si podía convertir mi Trabajo Fin de Máster o sus fuentes LaTeX a un formato amigable para lector de libros electrónicos. Para mí, ha sido una oportunidad para:

  • Jugar con conversores “de LaTeX a lo que sea”. De hecho, yo quería publicar una versión HTML aquí en mi blog, y aquí la tenéis ;)
  • Jugar con lectores de libros electrónicos en mi portátil y dispositivos Android (no tengo Kindle ni ningún lector de libros electrónicos (la maquinita), aún prefiero el papel…) pero conocía Calibre, FBReader, Cool Reader y por supuesto Okular que maneja muchos tipos de fichero incluidos ePub y .mobi.
  • Poder ofrecer aquí lo que he averiguado, y ahorrar algo de trabajo (espero) a otras personas.

Así que ¡muchas gracias Gregorio!

About these ads

About larjona

My name is Laura Arjona, I am a libre software user and fan of the free culture. If you want to contact me you can write an email to larjona [at] larjona [dot] net I am @larjona at identi.ca in the Pump.io social network. --- Me llamo Laura Arjona, soy usuaria de software libre y fan de la cultura libre. Si quieres contactar conmigo puedes escribir a larjona [en] larjona [punto] net Soy @larjona en el servidor identi.ca, de la red social Pump.io.
This entry was posted in My experiences and opinion, Tools and tagged , , , , , , , , . Bookmark the permalink.

2 Responses to De LaTeX a ePub, experimentos con publicación multiformato

  1. Pingback: LaTeX to ePub, experiments with multiformat publishing | The bright side

  2. Pingback: Yonki Blog » Cómo convertir un documento LaTeX a EPUB

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s