Por que visto lo visto, vamos a necesitar mucha ayuda de Coco. Lo primero que nos encontramos es esto:
Es decir, el texto de los encabezados de los capítulos completamente mezclados e integrados como si fueran parte del cuerpo del texto.
En lenguaje natural humano, la expresión de búsqueda tendrá que ser: “justo después del principio de párrafo, un grupo de números romanos delimitado por un punto (.) y seguido por todo lo que haya hasta el siguiente (.)”
Efectivamente:
<p class="calibre1">([IVX]*)(.\s*)([\sÁÉÍÓÚA-Z]+)(\.\s*)([\(\ÑñÓ/ÃÁÉÍÚáéíóúÜü¡!?¿*:«»"'-%…=–º©—“”#{(¼)\).,;a-zA-Z0-9\-_\s\c]*)</p>
Y en la expresión de sustitución aprovecharemos para aplicarle el formato deseado de encabezado de capítulo, incluyendo un cambio de pagina justo delante:
<div>
<hr class="sigilChapterBreak" />
</div>
<h3><span class="chapterHeader"><span class="blanco"></span> <span class="count serif">\1.</span></span> <span class="chapterText serif">\3</span></h3>
<p class="MsoNormal">\5</p>
Como en la búsqueda utilizamos el (.) para “apoyarnos” en la operación, cómo divisoria de las dos partes del texto a encontrar, resulta más sencillo simplemente escribirlo en la operación de sustitución. De ahí el \1.
Y después de aplicar la expresión nos queda esto:
En nuestro segundo ejemplo tenemos:
Es decir, un párrafo partido varias veces; primero por un resto de un número de página; y luego por un salto de párrafo espurio. Un desastre.
En lenguaje natural humano, a expresión de búsqueda tendrá que ser: “Todo lo que exista hasta el primer salto de párrafo que incluya dentro de sí un grupo numérico; más todo lo que exista hasta el primer cambio de párrafo después del cambio de párrafo incorrecto.”
<p class="calibre1">([\(\ÑñÓ/ÃÁÉÍÚáéíóúÜü¡!?¿*:«»"'-%…=–º©—“”#{(¼)\).,;a-zA-Z0-9\-_\s\c]*)</p>
<p class="calibre1"></p>
<p class="calibre1">([0-9]+)</p>
<p class="calibre1">([\(\ÑñÓ/ÃÁÉÍÚáéíóúÜü¡!?¿*:«»"'-%…=–º©—“”#{(¼)\).,;a-zA-Z0-9\-_\s\c]*)</p>
<p class="calibre1">([\(\ÑñÓ/ÃÁÉÍÚáéíóúÜü¡!?¿*:«»"'-%…=–º©—“”#{(¼)\).,;a-zA-Z0-9\-_\s\c]*)</p>
La expresión de sustitución será sencilla puesto que se trata de “empalmarlo” todo junto dentro de un único párrafo:
<p class="calibre1">\1 \3 \4</p>
El resultado final es este:
Sin duda, Coco nos ha ayudado mucho a mejorar el aspecto de nuestro libro electrónico ePUB.
Y recordad, niños, esto es CERCA y esto es LEJOS
Ya son unos cuantos los post que ayudan a formatear automáticamente los pdf, pero ¿Que programa utilizar para linux? ¿Se puede hacer todo automáticamente? ¿Las tienes recopiladas en algún sitio?
ResponderEliminarGracias
Puedes utilizar el programa que aparece en el POST, SIGIL que es el editor WYSIWYG para ePUB de referencia, que tiene versiones LINUZ para 32 y 64bits en http://code.google.com/p/sigil/downloads/list.
ResponderEliminarAutomaticamente no. Y generar un ePUB decente (ver http://mipapyreebookreader.blogspot.com/search/label/BBPP%20LARdT%201.0) requiere cierta revision manual.
Pero tengo un POST en borrador comentando un par de trucos para facilitar el proceso, donde efectivamente queremos empezar una recopilacion de expresiones de uso frecuente, una CheatSheet.
Lo intentaremos terminar lo antes posible aunque estamos de vacaciones, un poco (bastante) desconectados.
Perdon pongo otra vez los tags de estilo cuyo codigo me interesaria y que se ha comido el mensaje:
ResponderEliminar"chapterHeader"
"blanco"
Dame un poquito de tiempo y te voy a ir preparando una serie de POSTs detallando el código de las "Buenas prácticas de LARdT para un ebook decente" (BBPP LARdT 1.0) porque un comentario no es espacio apropiado para la explicación. Asimismo, te agradeceria que incluyeras una referencia a que estas utilizando las BBPP LARdT 1.0 en el libro.
ResponderEliminar