Hace unos meses atrás publicamos el artículo «Historia de la edición digital» en cuatro formatos digitales diferentes: EPUB, MOBI, PDF y Gitbook. Estos formatos se crearon según la metodología del single source y online publishing, abordada en esta entrada.
Aunque te cueste creerlo, los cuatros formatos fueron procesados y creados en un día, en el tiempo de una jornada de trabajo.
Como anticipamos en el repositorio del artículo, en esta entrada se explican los pasos llevados a cabo para su edición y publicación.
Proceso de desarrollo
A continuación se comentarán unas impresiones de pantalla omitiendo la parte técnica, ya que los scripts utilizados están pasando por grandes cambios en aras de la posibilidad de una interfaz gráfica. Estas son las herramientas, por si quieres echarle un ojo.
1. Clonación del repositorio, 14:22 h
El proyecto es un repositorio para:
1) tener un gestor de versiones que permita puntos de guardado, evitando el respaldo de archivos cada vez que se termine o se empiece una tarea importante, y,
2) habilitar la conexión a un servidor para salvaguardar el proyecto si la computadora deja de funcionar.
Para este caso utilizamos GitHub como servidor de nuestro repositorio, ya que es una plataforma estable y pública. De esta manera, no tenemos que preocuparnos por el mantenimiento y, en este caso, para que además cualquiera pueda descargarlo.
Por ello, se genera el repositorio en GitHub y a continuación se clona (léase «descarga») a la computadora.
Por supuesto, es posible crear repositorios privados para que solo nosotros o un equipo de trabajo tenga acceso, pero no es lo que se pretende en esta publicación.
2. Adición de recursos, 14:24 h
A continuación se añaden al proyecto las imágenes y el texto editado por Mariana. Y, antes de seguir con el siguiente paso, preferí ir a comer porque lo había olvidado, je.
3. Revisión del archivo original, 15:05 h
Con Mariana estuvimos editando el texto entre el formato RTF y ODT, ya que no cuento con Microsoft Office ni tenía el deseo de trabajar con los formatos DOC o DOCX.
Entre el RTF y ODT luego suceden cosas «extrañas» en el formato, por lo que se ha de examinar el archivo para constatar que todo está en orden.
4. Conversión del archivo original, 15:08 h
Mediante Pandoc se convierte el texto original a Markdown. Este proceso es uno de los más breves e importantes ya que así obtenemos el formato más apto para nuestro archivo madre.
5. Revisión del archivo madre, 15:12 h
Markdown es un lenguaje de marcado ligero, que permite dar estructura al texto (encabezados, bloques de cita o itálicas, por ejemplo) con una sintaxis fácil de aprender y de leer.
La consecuencia de esta versatilidad es, sin duda, una simplificación en la estructura. Markdown es un lenguaje con el que podemos determinar una gran variedad de elementos, pero sus posibilidades se quedan cortas si lo comparamos con HTML o TeX.
Sin embargo, es en su simplicidad por lo que Markdown es el lenguaje más óptimo para el archivo «madre» de cada uno de los formatos de nuestra publicación.
La idea detrás de esto es ir de lo simple a lo complejo, del Markdown a otros formatos que, por su naturaleza, requieren ajustes particulares.
En este paso solo se da un vistazo al archivo madre y es más adelante donde agregaremos otros elementos.
6. Creación del proyecto para EPUB, 15:12 h
Una de las primeras herramientas de Perro Triste es pt-creator
, la cual nos crea un proyecto base para un EPUB. Con esto evitamos empezar el proyecto desde cero o a partir de la copia de otro anterior, ya que nos implementa una estructura de archivos y carpetas convencional a cualquier EPUB.
7. Conversión del archivo madre a HTML, 15:14 h
Para el EPUB requerimos al menos un archivo HTML, el cual tiene su origen en el archivo madre que convertimos en HTML a través de Pandoc.
En este punto es cuando también se añaden elementos adicionales al HTML, como son las clases de párrafos, los identificadores o las imágenes.
8. División del archivo HTML, 15:32 h
Por lo general, un EPUB tiene un documento XHTML por cada sección de la obra, así que ahora dividimos el archivo HTML por medio de pt-divider
.
Este script divide el documento de entrada cada vez que encuentra un encabezado de primera jerarquía (h1), permitiéndonos especificar el tipo de sección que se trata y generando automáticamente un XHTML.
Ups, alguien llama a la puerta. Hora de suspender un poco…
9. Creación del EPUB, 16:08 h
Ahora ya contamos con todo lo necesario para nuestro EPUB, por lo que procedemos a crearlo con pt-recreator
.
Este es uno de los scripts más importantes ya que evita que nos preocupemos de la correcta introducción de metadatos o de la creación de todos aquellos archivos propios del EPUB, como las tablas de contenidos.
Así pues, poco a poco nos acercamos al ideal donde quien edita o quien diseña puede centrarse exclusivamente en su trabajo.
10. Validación del EPUB, 16:12 h
Crear el EPUB es una cuestión, pero otra es desarrollar correctamente un EPUB. Para saber si nuestro ebook tiene coherencia interna, utilizamos EpubCheck, el validador oficial.
Como pt-recreator
automatiza la creación de la «médula» del EPUB, los posibles errores o advertencias que nos indique EpubCheck estarán relacionados con nuestra labor de marcado o de inclusión de recursos. (En ocasiones bien específicas algún error es ocasionado por una herramienta de Perro Triste que se van depurando conforme se van identificando).
Si el EPUB tiene errores, solo basta con corregirlos y regenerar de nuevo el EPUB con pt-recreator
, un proceso tan sencillo que incluso este script guarda los metadatos ya introducidos.
Para evitar la gran mayoría de los errores, recomiendo dos cosas:
1) usar formatos XHTML en lugar de HTML, ya que así no se permiten ambigüedades en las etiquetas, y
2) ver siempre los archivos en Firefox antes de crear el EPUB, debido a que este explorador libre no te muestra el archivo si tiene errores, caso contrario a Safari o Chrome.
11. ¡EPUB listo! 16:14 h
En menos de dos horas terminamos el EPUB, sin errores y con un gran control sobre la estructura y el diseño y eso que una hora se nos fue entre la comida y la llamada a la puerta.
¿Acaso el proceso podría simplificarse y estar más enfocado a las necesidades editoriales? ¡Sí, es en lo que estamos trabajando!
12. ¡Conversión del EPUB a MOBI! 16:14 h
Para el archivo legible para Kindle no tenemos que hacer gran cosa. Amazon nos pone KindleGen a nuestra disposición, una herramienta que nos permite convertir el EPUB a su formato privativo.
¡En menos de un minuto ya tenemos listo el ebook para Kindle!
13. Creación del proyecto para LaTeX, 16:16 h
Ahora es momento de concentrarnos en la creación del PDF. Para esto no usaremos el software de facto en el mundo editorial (InDesign), sino una herramienta más antigua y potente: TeX.
Para facilitarnos la creación del EPUB, emplearemos un conjunto de macros conocido como LaTeX. Por el momento, no existe un script de Perro Triste para crear un proyecto base de LaTeX. Por tanto, se copia y pega manualmente una plantilla que se encuentra en el repositorio de estas herramientas.
14. Conversión del archivo madre a TeX, 16:18 h
De nueva cuenta, convertimos el archivo madre a través de Pandoc, pero ahora para tener un formato TeX. A partir de aquí se empieza la labor de cuidado editorial característico de un impreso, por lo que nos tomamos un tiempo para corregir cajas, viudas, huérfanas, etcétera.
15. ¡PDF listo! 17:57 h
Después del meticuloso cuidado en LaTeX (ni tanto, porque Mariana encontró varios detalles al PDF), ¡obtuvimos un PDF en poco más de hora y media!
El PDF puede modificarse para que sea una salida apta para impresión, pero en este caso solo optamos por la posibilidad de una lectura digital.
16. Creación del proyecto para GitBook, 18:09 h
Por último, también quisimos tener una opción completamente online. Para esto optamos por GitBook, un proyecto creado por GitHub, inicialmente para la creación de documentación de software.
17. Clonación del repositorio de GitBook, 18:18 h
Una vez que configuramos el libro en GitBook, procedemos a descargar el repositorio. En este punto es donde la publicación comprende dos repositorios, uno para el formato de GitBook y otro para el resto de los formatos. Esto se debe a que GitBook actualiza automáticamente la publicación cuando se mandan cambios al servidor.
18. División del archivo madre, 18:32 h
El formato que utiliza GitBook es Markdown, por lo que solo es necesario crear una serie de archivos en este formato para copiar y pegar cada una de las secciones. Posteriormente, en otro Markdown se crea la tabla de contenidos y ya tenemos todo para publicar este formato.
19. ¡GitBook listo! 19:26 h
Después de poco más de una hora, el artículo ya está disponible en línea cuando se mandan los cambios al servidor.
En un lapso de cinco horas desarrollamos cuatro formatos del ebook, que cualquier persona puede descargar o leer en EPUB, PDF, MOBI o en línea. Mientras tanto, ¿ya hay hambre de nuevo, no?
Single source y online publishing
A partir de un archivo madre se obtuvieron tres formatos de una misma publicación: EPUB, PDF y GitBook. Y a partir del EPUB se creó el formato MOBI. Esto es un ejemplo del single source publishing, donde a partir de un tronco en común (en este caso el Markdown) se crearon distintas «ramas» para cada uno de los formatos.
De esta manera, todos tienen un elemento en común al mismo tiempo contemplan sus particularidades. Y además hacen que estos cambios específicos no afecten al resto de los formatos.
Una vez terminado el desarrollo de los diversos formatos, Mariana cotejó cada uno de ellos para depurar errores. Este proceso de repechaje también exige una atención especial (está en la lista de deseos de Perro Triste). Sin embargo, por el momento nos acotamos a modificar y recrear cada uno de los archivos. Proceso que no consume más tiempo que el primer desarrollo.
En el caso de existir algún problema, el online publishing permite recuperar información a partir de puntos de control e incluso tener el texto disponible en línea con una simple actualización.
Por ejemplo, a partir de ahora desde los distintos enlaces pueden descargarse o leerse el artículo con la seguridad de que siempre se accederá a la versión más actualizada, ¡porque no tenemos que copiar y pegar archivos en otro lugar!
Por las imágenes mostradas, más de uno pensará que se trata de procesos complejos para la mayoría de las personas que publican un libro…
Lo único que puedo mencionar es que ese es el motivo por el que en Perro Triste estamos desarrollando estas herramientas, así como en Nieve de Chamoy es donde se prueban y afinan en el día a día del quehacer editorial.
Al final, la gran pregunta es: ¿qué otras posibilidades existen para facilitar y automatizar la creación de diversos formatos con tiempos semejantes a un día de jornada laboral?
Existe la convicción de que quien edita o quien diseña no debe dejar de lado el cuidado que exigen sus profesiones. Pero, para que esto suceda, debe haber un empoderamiento tecnológico que convierta las actuales exigencias del mundo editorial en posibilidades de mejora en lugar de dificultades.
¡Qué bueno, como siempre!
Muchas gracias por compartir, Mariana.
Gracias, Isabel. Deseo que le saque provecho a esta información y ¡a practicar!
Gracias a ti, Mariana, por tu ejemplo de incansable luchadora.
Me quedé impresionada, qué bien explicado y con gracia.
Muchas gracias 😀
Me da error el script de recreacion del EPUB, concretamente este error, EPUB/6-Recreador/recreator.rb:483:in `[]=’: string not matched (IndexError), parece que busca un punto en algun sitio y no lo encuentra.
Teneis idea de que pueda ser, ante la duda he creado los archivos con los mismos nombre que vosotros.
Uso UBUNTU con la version de ruby 1.9, he instalado el plugin de gema en ruby.
Gracias de antemano
Hola! Mándame lo que escribiste en el prompt a ramiro.santaana@perrotriste.io para darte seguimiento 😀 Actualmente las herramientas están en reestructuración xd
Me interesa hacer lo mismo que haces en este artículo, pero mi archivo inicial es latex (unas 100 páginas con un montón de macros). No veo la forma de pasarlo adecuadamente a markdawn, ya que al pasarlo a .odt un montón de fórmulas se estropean. Me bastaría con pasarlo adecuandamente a HTML. Gracias.
Justo ahorita con un cliente estoy haciendo un libro en LaTeX de 300+ pp. Se parte del MD para el LaTeX y el HTML que se necesitará para el EPUB. Uno de los problemas que tenemos es que precisamente me da docx u odt y las fórmulas se rompen jejeje. En Markdown puedes poner las fórmulas en sintaxis LaTeX y así se solventa gran parte del problema.
Mándame un correo a ramiro.santaana[arroba]perrotriste.io para mandarte un capítulo de ejemplo y ver más la cuestión de las herramientas. Saludos!
P. S. También indícame que sistema operativo utilizas 😀
Buenas, recientemente vi este genial artículo y al realizar los pasos, en el comando pc-recreator no me genera el archivo epub, pero si muestra en consola que fue creado, no se que me falta por hacer, muchas gracias
Hola, Arturo. Espero alguien de la comunidad o Ramiro puedan responderte, porque es él quien lo entiende, o fíjate aquí que es el colectivo al cual pertenece. Lamento no serte de ayuda.
Hola de nuevo, después de ir por un café y de revisar paso a paso la guía, ya pude crear mi primer EPUB válido. Quiero agregar que esta herramienta de consola esta muy genial y para usarla en Windows hay que hacer algunas modificaciones para su correcto funcionamiento. Saludos!
¡Me alegro que lo hayas podido solucionar, Arturo! Y gracias por volver aquí la informarnos. 🙂