Hace poco menos de un mes empecé a editar los libros en formato FB2 con un editor de texto intentando mejorar un poco su aspecto con respecto a lo básico que hacen los distintos programas que andan circulando por internet (BookDesigner, calibre, etc...). No soy ningún experto pero a base de darme de cabezazos y leyendo aquí allí, he ido aprendiendo unas pocas cosas. He abierto este hilo con la intención (esperanza) de que lo que más saben de esto se animen a compartir sus conocimientos con los que menos sabemos y así mejorar entre todos nuestros eBooks. Pues eso, este es un hilo abierto a la participación de todos, los que no saben para preguntar, los que saben para contestar. Espero que os animéis a compartir vuestras dudas y conocimientos.
De momento ahí dejo unos cuantos parámetros para formatear los textos del FB2 para los que empecéis en esto. No pretende ser una recopilación exhaustiva de todos los atributos disponibles, sólo los más básicos. Cualquier error que detectéis y rectificación que queráis hacer a la tabla será bienvenido.
Atributo | Descripción | Valores | Ejemplo |
---|---|---|---|
font-size | Establece el tamaño de letra. | puntos (pt) pulgadas (in) centímetros (cm) píxeles (px) porcentaje (%) | {font-size: 12pt} |
font-family | Establece el tipo de letra. | nombre tipo fuente nombre de familia fuente | {font-family: courier} |
font-weight | Establece el grosor de letra. | extra-light light demi-light medium demi-bold bold extra-bold | {font-weight: bold} |
font-style | Texto en cursiva. | normal italic | {font-style: italic} |
line-height | Establece la distancia entre las líneas de texto. | puntos (pt) pulgadas (in) centímetros (cm) píxeles (px) porcentaje (%) | {line-height: 24pt} |
color | Establece el color del texto. | nombre color* código RGB | {color: blue} |
text-decoration | Subrayado y otras opciones de decoración de textos. | none underline italic line-through | {text-decoration: underline} |
margin-left | Establece la distancia del borde izquierdo de la página. | puntos (pt) pulgadas (in) centímetros (cm) píxeles (px) porcentaje (%) | {margin-left: 1in} |
margin-right | Establece la distancia del borde derecho de la página. | puntos (pt) pulgadas (in) centímetros (cm) píxeles (px) porcentaje (%) | {margin-right: 1in} |
margin-top | Establece la distancia del borde superior de la página. | puntos (pt) pulgadas (in) centímetros (cm) píxeles (px) porcentaje (%) | {margin-top: -20px} |
margin-bottom | Establece la distancia del borde inferior de la página. | puntos (pt) pulgadas (in) centímetros (cm) píxeles (px) porcentaje (%) | {margin- bottom: -20px} |
text-align | Establece la alineación del texto. | left center right | {text-align: right} |
text-indent | Establece el margen al borde izquierdo del texto. | puntos (pt) pulgadas (in) centímetros (cm) píxeles (px) porcentaje (%) | {text-indent: 0.5in} |
background | Establece el color de fondo. | nombre color* código RGB | {background: #33CC00} |
Aplicando formatos:
Sí vale, creo que ya he entendido para que sirven los atributos de la tabla pero, ¿cómo lo hago para usarlos?
Pues voy a intentar explicarlo un poco. El FB2 es un fichero escrito en lenguaje XML. El lenguaje XML tiene muchas opciones y muchas utilidades pero esto no va a ser un tutorial para aprender XML, sino para saber usar lo que necesitamos para dar formato a un FB2 utilizando las instrucciones necesarias. Voy a ir a lo practico y centrándome en las opciones de formatos de texto, que es lo que yo necesito para los FB2.
Lo primero es que hagáis un FB2 a partir de otro formato utilizando la aplicación a la que estéis acostumbrados (BookDesigner, Calibre, ooofbtools, etc...), estas aplicaciones os hacen el trabajo más gordo de dar formato a cada párrafo del eBook. Una vez tengáis ese FB2 podéis empezar a ajustar las cosas que os parezcan que no han quedado bien. Es probable que la mayoría de los libros no tengáis que retocar nada. No nos engañemos, lo que viene a continuación, en el 90% de los casos, no va a ser necesario y va a ser más una cosa de "dejarlo bonito" que porque realmente lo necesite el libro, pero.....
Para editar el fichero FB2 salido del paso anterior vais a necesitar un editor de texto plano, como el bloc de notas de windows, pero yo os recomiendo que uséis algo más complejo, preferentemente un editor que soporte el lenguaje XML. Hay muchos gratuitos disponibles en internet, yo voy alternando entre el Notepad++ y el XML Copy Editor, pero eso que cada uno use lo que encuentre que se adapte a su gusto.
Lo básico de XML es que es un lenguaje que funciona con etiquetas (tags). Esas etiquetas son una letra o un nombre que indican que debe de hacer con el texto que aparece "en medio" de las etiquetas. Las etiquetas van entre los símbolos <> y deben "abrirse" y "cerrarse", para cerrar una etiqueta se usa el símbolo /. Ejemplo: una etiqueta básica es la b que se usa para definir la negrita. Se usaría así: <b>Texto negrita</b> y lo que se vería sería: Texto negrita.
Y ahora que ya tenemos lo básico vamos con un ejemplo para usar los atributos que aparecen arriba y ver como se tienen que escribir.
Hay dos maneras de usarlos, de manera directa sobre el texto o dando de "alta" una etiqueta creada por nosotros. Ejemplo: vamos a darle a este texto "Texto centrado con cursiva y negrita" el formato centrado, cursiva y negrita.
De manera directa sería así:
<tccn style="text-align: center; font-style: italic; font-weight: bold">Texto centrado con cursiva y negrita</tccn> |
<stylesheet type="text/css"> tccn {text-align: center; font-style: italic; font-weight: bold;} </stylesheet> |
<tccn>Texto centrado con cursiva y negrita</tccn> |
Texto centrado con cursiva y negrita |
El nombre de la etiqueta es el que vosotros queráis, yo la he llamado tccn, pero puede ser pepito, alubias o lo que os dé la gana, sólo procurad no usar símbolos raros o ñ, ç, etc...
Vamos a ver como se deben escribir las cosas:
Manera directa:
Como si fuese una etiqueta empezáis con < y acabáis con >, el nombre (tccn) seguido de para que lo queréis (definir un estilo: style) un = y, muy importante, entre comillas " " cada uno de los atributos que queréis dar con el valor correspondiente escrito atributo: valor con los : (dos puntos) en medio. Para separar atributos siempre ; (punto y coma) y no olvidéis cerrar la etiqueta al final del texto a formatear (</tccn>)
Dando de "alta" la etiqueta:
Empezáis declarando una pagina de estilos (<stylesheet type="text/css">), en esto no me voy a entretener mucho con lo que significa, solo decir que con esto le estáis diciendo al programa de lectura del eBook (má o meno y pá entendernos) que todo lo que va entre la etiqueta <stylesheet></stylesheet> son formatos que tiene que guardarse en memoria para aplicarlos luego en donde aparezca en el texto.
Definición de etiqueta: empezáis con el nombre que queráis darle (tccn) luego entre { } escribís con el mismo criterio que antes entre " ", pero en este caso no olvidéis acabar con un ; (punto y coma) después del último valor. A partir de ahí ya podéis utilizar el nombre de esa etiqueta (tccn) todas las veces que queráis en el texto y os dará el formato que habéis definido al texto contenido entre las etiquetas (<tccn>texto</tccn>).
Vamos al lío
Antes de empezar una especie de ficha técnica: los libros que uso de ejemplo vienen de un DOC (aunque como son escaneos míos podría haber escogido cualquier formato) pasados a FB2 con el programa Fiction Book Designer [FBD] (una versión del BookDesigner exclusiva para hacer FB2). Para editar los FB2 he usado, indistintamente, los programas Notepad++ y XML Copy Editor. Mi lector electrónico es un Papyre 6.1 1ª ed. con firmware basado en el de buggins/Lbook personalizado por Tirwal (v. 2.9) (con una página de estilos fb2.css personalizada por mí), con el Coolreader como software de lectura FB2, aunque para probar estos libros volví a instalar el último firmware oficial de Grammata con FBReader como software de lectura FB2 y todo funcionaba bien. Mis disculpas por la calidad de las imágenes pero nunca he sido aficionado ni me ha interesado la fotografía y no tengo cámara digital, por eso he usado el escáner para las imágenes, como la pantalla del Papyre está hundida unos milímetros en la carcasa esa distancia hace que el texto se vea borroso, pero creo que sobra para lo que quiero enseñar.
El libro de los primeros ejemplos lo podéis encontrar en este enlace Misterios abadía Hawkenlye I: La novicia asesinada - Alys Clare [FB2], y el de los últimos en éste Los tontos mueren en viernes - A. A. Fair (Erle S. Gardner) [FB2], por si queréis tenerlos a mano de referencia.
¿Ya estamos todos? Sí, pues nada: síganme que esto empieza. No se me apelotonen, que corra el aire.
<?xml version="1.0" encoding="UTF-8"?> <FictionBook xmlns:l="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.gribuser.ru/xml/fictionbook/2.0"> <stylesheet type="text/css"> jcrftnr {font-family: "Times New Roman";} jcrfp40 { text-indent: 0em; margin-top: 40%;} jcrfp20 { text-indent: 0em; margin-top: 20%;} jcrfct1 {text-align:center; hyphenate: none; text-indent: 0em; font-size: 130%; margin-top: 35%;} jcrfsang { margin-left: 50%; text-align: justify; text-indent: 0em;} jcrfder {margin-right: 5%; text-align:right; text-indent: 0em;} </stylesheet> |
¡Eh, señor guía! ¿Cuando se acaba este rollo? ¿Esto no venía con dibujitos? Ya va, ya va...
Los dibujitos, también conocidos como “pa que veas que funciona”
<title> <empty-line/> <p><jcrftnr>Alys Clare</jcrftnr></p> <empty-line/> <p><jcrftnr>LA NOVICIA ASESINADA</jcrftnr></p> <empty-line/> <p><jcrftnr>(Fortune Like the Moon, 1999)</jcrftnr></p> </title> <section> <jcrfct1><jcrftnr>Los misterios de la abadía Hawkenlye I</jcrftnr></jcrfct1> </section> |
Etiqueta <jcrftnr>, ésta la explicaré con más detalle más adelante, pero de entrada con esto estoy obligando a que el texto con esta etiqueta use siempre el tipo de letra TNR (Times New Roman) independientemente del tipo de letra que estéis usando para leer.
<jcrfct1> Alineación centrada; (hyphenate: none)*; sin tabulación/sangría en la primera línea de párrafo; tamaño de letra un 30% más grande que la que se esté usando para leer; separación superior con respecto al párrafo anterior de un 35% del tamaño de la pantalla.
*hyphenate: none, éste no lo conocéis, no está en la tabla de arriba. Se usa para indicar que no queremos que ese texto se corte con un guión si no cabe en una sola línea. Como podéis ver en la 2ª imagen (con una letra de lectura más grande) Hawkenlye salta de línea, aunque hay sitio para cortar la palabra p. Ej. Hawken-lye, no lo hace.
<p style="page-break-before: always"> </p> <jcrfp20> <jcrfder><emphasis>Para M. D.</emphasis></jcrfder> <empty-line/> <jcrfder><emphasis>Gracias</emphasis></jcrfder> </jcrfp20> |
<jcrfp20> margen superior 20%
<jrfder>margen derecho de un 5% del tamaño de pantalla, para que no quede pegado al borde; alineación derecha.
<emphasis> ésta etiqueta la ha puesto el programa FBD de manera automática, es para la cursiva.
<p style="page-break-before: always"> </p> <jcrfp40> <jcrfsang><emphasis>O Fortuna!</emphasis></jcrfsang> <jcrfsang><emphasis>Velut Luna</emphasis></jcrfsang> <jcrfsang><emphasis>statu variabilis,</emphasis></jcrfsang> <jcrfsang><emphasis>semper crescis</emphasis></jcrfsang> <jcrfsang><emphasis>aut decrecis.</emphasis></jcrfsang> <empty-line/> <jcrfsang>De <emphasis>Carmina Burana,</emphasis></jcrfsang> <jcrfsang>«Canciones profanas»</jcrfsang> </jcrfp40> |
<jcrfp40> margen superior 40%
<jcrfsang> margen al borde derecho de un 50% de la pantalla; alineación de texto izq./justificada; sin tabulación en la primera línea.
<title> <p><cite id="_Toc257297993"> </cite> <jcrftnr>PRELUDIO</jcrftnr></p> </title> <empty-line/> <p>Muerta, ofrecía una imagen negra, blanca y roja [...] que la muerta no vería.</p> |
<jcrftnr> En este fichero quería probar que tal se comportaba si le obligabas a usar un tipo de letra diferente a la de lectura, por eso he forzado que todos los títulos se vean con TNR (letra que viene por defecto en el Papyre y otros). He ampliado la letra con respecto a la que yo uso para leer para que se vea mejor el efecto. La letra de lectura es, por orden: Arial, Verdana, DejaVu Sans, todas ellas “sans serif” (sin serifa, palo seco, sin remate o como lo queráis llamar) pero el título siempre es TNR, letra serif. Problema de este truco: que no funciona si no tienes la fuente instalada. En el Papyre se limita a ignorar la etiqueta si es una fuente que no tiene instalada y utiliza la letra de lectura para el título. No sé que harán otros lectores. Tampoco sé si los FB2 permiten incrustar fuentes si alguien lo sabe, se agradecería la información.
<p style="page-break-before: always"> </p> <jcrfct1><jcrftnr><b>LA PRIMERA MUERTE</b></jcrftnr></jcrfct1> |
<jcrfct1> Lo mismo que el primer ejemplo. Como veis aquí el 35%, al no haber párrafo previo, es desde el borde superior de la pantalla.
<jcrftnr> Forzado TNR
<b> Negrita puesta automática por FBD
Y con esto acabo con este libro y voy con un par de ejemplos de otro libro.
<?xml version="1.0" encoding="utf-8"?> <FictionBook xmlns:l="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.gribuser.ru/xml/fictionbook/2.0"> <stylesheet type="text/css"> jcrfsang1 { margin-left: 5%; margin-right: 5%; text-align: justify; text-indent: 0em;} jcrfsangd { margin-left: 5%; margin-right: 5%; text-align: right; text-indent: 0em;} jcrfpsp { text-align: justify; text-indent: 1.3em; margin-top: 0em; margin-bottom: 0.3em } </stylesheet> |
<title> <p><cite id="_Toc256945048"> </cite> Guía del lector</p> </title> <empty-line/> <p><emphasis>En un orden alfabético convencional relacionamos a continuación los principales personajes que intervienen en esta obra</emphasis></p> <empty-line/> <jcrfpsp>BALLWIN (Gerald): Tío de Beatriz Ballwin.</jcrfpsp> <jcrfpsp>BALLWIN (Beatriz): Cliente de Donald Lam y Bertha.</jcrfpsp> [...] <jcrfpsp>WILMONT (Mariville): Mayordomo de la casa Ballwin, y chofer.</jcrfpsp> |
<p>Por lo que se deducía, la noticia había [...] compuesta con anterioridad.</p> <empty-line/> <jcrfsang1>«Cuando la muerte sorprendió inesperadamente a la señora de Gerald Ballwin esta mañana, la policía tuvo la seguridad de que se enfrentaba con uno de los crímenes más misteriosos de la década.</jcrfsang1> <jcrfsang1>»Dafne Ballwin, que ingresó en [...] inmediatamente al hospital</jcrfsang1> <empty-line/> <jcrfsangd><emphasis>(continua en la página cuarta).</emphasis>»</jcrfsangd> <empty-line/> <p>Doblé el periódico y lo arrojé a la parte posterior del coche.</p> |
Aquí se reproduce una noticia de primera página de un periódico y lo que quería era dar un poco la impresión de columna periodística, sin exagerar tampoco con los márgenes. Os pongo la primera imagen en un tamaño de texto más pequeño de lo habitual para que se vea bien el efecto de sangrado a dos márgenes. Las otras dos serían con mi tamaño habitual de lectura.
<jcrfsang1> márgenes izq./der. 5% , alineación justificada y sin tabulación en primera línea de párrafo.
<jcrfsangd> Igual que la anterior pero alineada a la derecha.
Y hasta aquí hemos llegado.