En el capítulo anterior habíamos pedido ayuda a Coco para que nos enseñara cómo arreglar los errores que se producen en la conversión de un archivo PDF hacia ePUB en CALIBRE.
Vamos a continuar utilizando RegEx para retocar el texto para conseguir un archivo ePUB sin errores.
ARREGLANDO LOS ERRORES MÁS HABITUALES
Los errores más habituales tienen que ver con la interrupción del flujo de texto, partiendose frases y párrafos en donde no procede.
Párrafo interrumpido por un RETORNO DE CARRO:
Vemos como la frase se corta y empieza un nuevo párrafo.
La expresión de búsqueda será:
He incluido las vocales acentuadas con la expresión “\()
”
La expresión de sustitución es: \1 \3
Es decir, la última letra del primer párrafo, un espacio y la primera letra del segundo párrafo.
Además de seleccionar el check de “Match Case” para asegurar la diferenciación entre MAYUSCULAS y MINUSCULAS, conviene seleccionar “Minimal Matching” que asegura que se seleccionan los “segmentos” de texto más pequeños de todos aquellos que cumplen la condición de búsqueda.
Pulsamos ENTER y ¡Voilá!…
Carácteres espúreos al final de una frase:
Son números, correspondientes a la paginación del archivo PDF. En este caso, la expresión de búsqueda es sencilla:
Buscamos un bloque de entre 1 y 3
números (el libro no tiene más de 999 páginas) situado entre un punto “.” con un espacio detrás y una etiqueta de cierre de párrafo.
Lo sustituimos simplemente por un punto “.” seguido de la etiqueta de cierre de párrafo.
Pulsamos ENTER y “Abra-ca-dabra”…
MÁS párrafos interrumpidos por un RETORNO DE CARRO
¿Pero NO HABIAMOS RESUELTO ESTE TIPO DE ERROR antes? preguntareis. Pues sí, pero NO. Porque en la expresión de búsqueda anterior no incluimos caracteres especiales cómo la coma “,” y la interrogación “¿”. Así pues nos queda cubrir los casos en los que intervienen estos caracteres que son escasos pero que en un libro de 300 y pico páginas pueden darse cerca de 50 veces. Lo resolvemos sin necesidad de RegEx, simplemente copiando la cadena a sustituir:
Le damos al ENTER y ¡Zas!…
Parrafos interrumpidos por un RETORNO DE CARRO después de un guión largo
Al incluir otro tipo de carácter especial, el guión largo “—” (EM Dash) también se escapó de la primera expresión de sustitución. A veces no queda más remedio que realizar este tipo de depuración “por capas de cebolla”, desde lo más general hasta los casos particulares. Aquí la expresión de búsqueda es más compleja:
Como siempre en este caso, debemos marcar el check de “Match Case” para asegurarnos de discriminar entre MAYUSCULAS y MINUSCULAS. Pulsamos ENTER para ver la magia de RegEx en acción:
Parrafos interrumpidos por un RETORNO DE CARRO después de un guión largo cuando es un COMIENZO de FRASE
Ya sólo nos queda por resolver el caso más enrevesado y dificil de diferenciar del texto correcto. Es cuando después de guión largo “—” (EM Dash) se rompe el párrafo; y el primer carácter del párrafo siguiente es una MAYÚSCULA, lo cual hace que sea muy dificil de distinguir de un principio de frase legítimo.
Tendremos como expresión de busqueda:
OJO! con el “Match Case” y “Minimal Matching”; Pero aquí el truco para comprobar que efectivamente se ha roto la frase de forma incorrecta es que existe un punto “.” justo antes del guión largo “—” (EM Dash); lo que indica que el mismo es el primer caracter de una nueva frase y no el último de la corriente.
Como siempre despúés de pulsar ENTER:
Los casos que hemos resuelto con estos retoques han eliminado cerca de 800 errores del texto, lo que supone la diferencia entre un ebook decente y una chapuza.