¿Cómo funciona un EPUB?
Sin entrar demasiado en detalles técnicos, lo que encontramos detrás de cada archivo EPUB es en realidad un archivo comprimido ZIP, el cual contiene a su vez distintos archivos que conforman el contenido, la estructura y el diseño del libro.
Intentaré enfocarme ahora solo en los tres tipos de archivos más importantes y necesarios, en los cuales se debe estar atentos al momento de armar libros electrónicos de calidad que aprovechen todas sus características. Quedará pendiente para futuro un manual en profundidad sobre maquetación de EPUB 3 paso a paso.
Documentos (archivos XHTML) y etiquetas
Para poder almacenar, estructuras y mostrar los textos, EPUB utiliza archivos de lenguaje de marcado de hipertexto XHTML (extensible hypertext markup language) con la extensión .xhtml, una forma ampliada de HTML, el lenguaje con el que se etiquetan también los sitios web.
El lenguaje XHTML permite darle significado semántico y una estructura lógica al texto por medio de elementos, que son etiquetas que se aplican al texto para que pueda ser entendido tanto por humanos como por dispositivos, programas o sitios en línea, lo cual lo vuelve un componente esencial para el buen funcionamiento de un EPUB. Es importante asegurarse de que el libro tenga un correcto marcado de los textos y demás elementos, pues de lo contrario se mostrará mal en aplicaciones y dispositivos, no se podrá utilizar correctamente para fines de navegación, accesibilidad y lectura asistida, y no funcionará bien con las bases de datos de los distribuidores.
Aunque este lenguaje tiene muchos elementos que permiten gran detalle para identificar y configurar el contenido de los textos, las más importantes son las etiquetas de párrafo <p> y las etiquetas de títulos o encabezados (headings, en inglés), que se enumeran según su nivel de <h1> hasta <h6>. Estas últimas etiquetas son fundamentales porque definen la jerarquía y la tabla de contenido del libro electrónico. Sin ellas, el libro no sería más que una sola página sin forma ni fin. Otros elementos comunes y útiles que se utilizan en libros electrónico son <blockquote> para las citas, <figure> para las imágenes, gráficos y similares, y <table> para tablas, entre muchas otras.
También debemos considerar los elementos especiales para marcar secciones al interior de una línea o párrafo —conocidas como inline—, como las cursivas, que se enmarcan con <em> (del inglés emphasis); las negritas con <strong> («fuerte» o «intenso») y los enlaces o hipervínculos con <a> (del inglés anchor), entre muchas otras.
Debajo del capó, el lenguaje de marcado en un libro electrónico —como en un sitio web— se ve más o menos así:
<h1>Título del texto</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus ornare arcu non enim scelerisque facilisis. Donec at eros eu diam posuere blandit. Cras vitae nunc massa. Duis nec porta nisl. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<blockquote>Aliquam varius tempus pretium. Nunc ut lacinia risus. Nunc porttitor lectus bibendum, interdum augue sed, congue ipsum.</blockquote>
<p>Suspendisse consequat ligula justo, non laoreet ipsum molestie ac. In at malesuada dui. Sed et ullamcorper nulla, <em>id convallis tortor</em>. Donec neque est, efficitur et varius quis, tristique non erat. In in elit vehicula, eleifend turpis vitae, faucibus magna.</p>
<h2>Subtítulo</h2>
<p>Aenean sodales suscipit scelerisque. Donec tempus eleifend turpis, quis volutpat risus varius vel. Etiam rhoncus vel eros vel feugiat. Suspendisse nec tempor felis, sed gravida ante. <em>Suspendisse ut nunc sagittis</em>, gravida metus sit amet, molestie arcu.</p>Como se puede apreciar, todas las etiquetas tienen tanto una apertura (<p> o <h1>) como un cierre (</p> o </h1>) para definir dónde empieza y termina cada una.
Mientras más preciso y correcto sea el marcado, mejor se mostrará el libro en dispositivos y pantallas diferentes, y tendrá mejor accesibilidad para la lectura en cualquier condición, por lo que es importante darse el tiempo suficiente para asegurarse de que la marcación se ejecute correctamente.
Hojas de estilos (archivos CSS)
Junto con los archivos XHTML, que definen la estructura del texto, el archivo EPUB cuenta también con una hoja de estilos en cascada (cascading style sheet), con la extensión .css. Estos archivos contienen una lista de instrucciones sobre cómo se deben mostrar las etiquetas en la pantalla. De esta manera, la hoja de estilos trabaja en conjunto con las etiquetas XHTML para dar un diseño al documento según las características que queramos darle, ya sea lo más similar posible a un libro impreso, o con un diseño propio optimizado para pantallas.
Entonces, si queremos, por ejemplo, que los títulos tengan un tamaño específico, que estén en negrita o cursiva y que estén centrados o a la izquierda, debemos definir estos parámetros en la hoja de estilos con el nombre de las mismas etiquetas. Un ejemplo de cómo se arman estas para encabezados y párrafo principal se ve así:
h1 {
font-size:1em;
font-weight:bold;
line-height:1.2em;
margin:0;
text-align:left;
text-indent:0;
}
h2 {
font-size:1em;
font-style:italic;
line-height:1.2em;
margin:0;
text-align:left;
text-indent:0;
}
p {
text-indent:1.8em;
}Existe una enorme cantidad de parámetros que podemos controlar, como largo de los márgenes, tamaños de fuentes, colores, bordes, alineación y muchos más. Además, la versión de CSS que utilizan los archivos EPUB y sobre todo EPUB 3 contienen parámetros adicionales creados específicamente para libros electrónicos, lo que permite un diseño cada vez más parecido al de los libros impresos y una mejor accesibilidad.
Metadatos (archivo content.opf)
El archivo content.opf en formato OPF (open packaging format) define y organiza los distintos componentes del libro electrónico, divididos en cuatro secciones con las etiquetas <metadata>, <manifest>, <spine> y <guide>.
<metadata> contiene todos los metadatos o la información que identifica al libro electrónico y sus características, como su título, autores, editorial, ISBN, fecha de creación, derechos, idioma y accesibilidad, entre muchos otros posibles. Es fundamental que estos metadatos estén bien definidos y descritos para que aparezcan correctamente en las bases de datos y plataformas de venta de libros.
Las otras secciones clasifican y ordenan los elementos internos del libro: <manifest> es un listado general de todos los archivos en el EPUB y <spine> define el orden en que algunos de estos archivos serán presentados como libro. También existe <guide>, que identifica cuáles son las secciones especiales del libro, como la tabla de contenido, el prólogo, los agradecimientos, el colofón y dónde está el comienzo real del texto, entre otros.
Tabla de contenido (archivos toc.xhtml y toc.ncx)
Además de los archivos anteriores, es importante que el EPUB 3 tenga un archivo llamado nav.xhtml o toc.xhtml, además de uno llamado toc.ncx. Los primeros contienen la tabla de contenido y navegación que mostrará el EPUB tanto en el menú como en páginas mismas, si así se desea; el archivo toc.ncx, por su parte, es una versión anterior de archivo para tabla de contenido utilizado en EPUB 2, que se mantiene para fines de retrocompatibilidad con dispositivos y aplicaciones que solo leen archivos EPUB 2.