Términos relacionados →  InDesign , Maquetación , GREP , Multipágina , Tutorial .

A veces te preguntan para qué sirve las operaciones de búsqueda y cambio con los comodines conocidos como "expresiones regulares" (GREP), como si no hubiera diferencia con las búsquedas y reemplazos de texto normales. Si estás un poco espeso, te quedas con la duda de cómo explicarlo con un caso que no sea demasiado complicado y que, a la vez, sea muy común y muy pesado e imposible de resolver con esas búsquedas.

Éste es uno de esos casos, muy habitual para un maquetador de revistas o libros en los que aparezcan columnas con listados de productos numerados, del tipo de "1. Bañador a cuadros. 2. Sombrero de fieltro. 3 Agenda de cuero…"

Para evitar que pueda quedar un número con su punto al final de una línea y que el producto descrito quede al comienzo de la siguiente línea, lo procedente es que el espacio que los separa sea un "espacio de no separación". El problema es que después de que volquemos el texto o después de que alguien lo repase y edite, muchos de los espacios en blanco que van después de los números serán espacios normales, que permiten la partición de línea."

Cambiar esos espacios —y sólo esos— por espacios de no separación es algo que sólo podemos hacer a mano… o con una simple operación de búsqueda y cambio con una expresión regular, GREP.

Cómo hacerlo

Ponemos el cursor de texto dentro de cualquier punto de la caja de texto con el texto en cuestión y vamos al menú "Edición - Buscar/Cambiar". Seleccionamos la solapa "GREP".

En la caja "Buscar" escribimos la secuencia: (\d+)\. (\D+), que en lenguaje humano quiere decir "cualquier cifra, sea una o más de una" \d+, seguidas de "un punto y un espacio" \. y a continuación "una o más letras que no sean cifras" \D+. Las barras invertidas indican que se trata de comodines de expresiones regulares y no de caracteres tipográficos. Los paréntesis se ponen para dividir y agrupar la búsqueda en tres grupos. Eso permite después hacer referencia sólo a partes de la búsqueda y no a la totalidad.

En la caja "Cambiar a..." escribimos la secuencia $1.^S$2, que en lenguaje humano quiere decir "sólo la primera parte de la búsqueda, sin cambiar nada de lo que hubieras encontrado" $1 —siendo $0 la totalidad de la búsqueda—, seguido de un punto y un espacio irrompible .^S^S es el caracter oculto que InDesign usa para indicar ese tipo de espacio—, "terminado por la segunda parte del resultado de la búsqueda, sin cambiar nada" $2.

Si no lo acabas de entender, te sugiero que leas un segundo una explicación sencilla sobre los patrones de reemplazo en las búsquedas GREP de InDesign y la interfaz de buscar/cambiar con GREP en InDesign.

Si ejecutas la orden aplicándola a "Documento" o "artículo" en la opción "Buscar en" los espacios adecuados cambiarán de forma automática. Al "Mostrar los caracteres ocultos" en el menú "Texto", podrás verlo correctamente.

Si la orden ha funcionado bien y la vamos a usar frecuentemente, es buena idea guardarla como valor predeterminado de búsqueda GREP. Para ello apretamos el icono de "Guardar consulta GREP del cuadro de diálogo. Le damos un nombre descriptivo y ya estará a nuestra disposición en la persiana "Consulta siempre que la necesitemos.

Comentarios

gusgsm

Muchas gracias

Dos de los problemas de GREP, aparte de que es complejo de usar, son que no todos los sabores de GREP son exactamente iguales y que es difícil construir cómo va a funcionar una expresión de forma muy precisa.

Para ayudarnos en el segundo problema existe GREPGrokker, un simulador GREP en la red de la empresa neozelandesa Rorohiko que nos permite construir fórmulas GREP expresamente para InDesign y ver cómo actuará sobre un pequeño texto de nuestra elección hasta dar con la expresión exacta para nuestras necesidades.

Fernando (no verificado)

He comprobado que en el Quark 9 no existe la posibilidad de buscar/reemplazar con expresiones regulares, lo que se suma a mi lista de razones por las cuales cambiar Quark por InDesign.

Repito, son MIS razones, desde el punto de vista técnico (que es el que me toca).

Un saludo

gusgsm

A cuenta de una pregunta que me envían —"Necesito que todos los porcentajes de mi documento
tengan espacios irrompibles"—, la respuesta es: "Buscar" la secuencia "(\d+) (\%)", donde \% representa el símbolo de porcentaje escapado; eso quiere decir que, como el símbolo de porcentaje se usa como operador y modificador en las búsquedas GREP, hay que decirle a GREP que ahora lo queremos usar con su caracter literal, por lo que le aplicamos una barra inclinada (escape) delante.

Usando esta orden, todos las cifras como 60 % y 37,4 % pasaran a tener un espacio irrompible delante del símbolo de porcentaje..

tony (no verificado)

Muy buenas, necesito ayuda con GREP.

Tengo los puntos de final de linea antes de la llamada de la nota al pie de pagina de tal manera que quedan .1 .2 .80 etc.

Necesito colocar esos puntos detrás de la llamada pero no lo consigo es imposible la formula seria .~F pero al cambiar en grep a ~F. me cambia el numero de nota por la F y elimina las notas.

¿Cual seria la formula para cambiar?

JoseR (no verificado)

Buenas tardes, a ver si me puedes ayudar:

Tengo que modificar los números de página de un índice pues al remaquetarlo con ID justo a partir de la página 539 y hasta el final tengo que restarle 8, o sea, que la página 539 será la 531, la 540 será la 532... y así hasta el final. ¿Se puede automatizar la tarea con GREP?

Muchas gracias

gusgsm

Hola,

Disculpa la observación, pero no acabo de entender la necesidad de esa operación... si los números de página se han hecho usando la numeración automática y has hecho el índice correctamente, bastaría con actualizar el primer número de la secuencia que quieres cambiar en la página donde comienza el cambio y a continuación actualizar el índice. Creo. Por eso Sale a cuenta usar numeración automática y colocarla en las páginas maestras.

JoseR (no verificado)

Hola,

No hay numeración automática en el índice analítico que tengo que manipular pues incluso los archivos los he tenido que importar de un programa antiguo llamado Pagemaker. Sucede que de una edición a otra de la obra se han suprimido las páginas 531 a 538 y tengo que renumerar las páginas del intervalo desde la página 539 hasta el final del documento.

¿Habría alguna forma de automatizar el proceso?

Gracias anticipadas

gusgsm

Hola,

Si vas a usar muchas veces ese documento igual te compensa añadirle la numeración automática según se indicacaba en los enlaces del comentario que hice antes. En cualquier caso, me temo que no, que Grep no va a servir para eso. Al menos en mi escaso conocimiento.

Saludos

Añadir nuevo comentario

El contenido de este campo se mantiene privado y no se mostrará públicamente.

Texto sin formato

  • No se permiten etiquetas HTML.
  • Saltos automáticos de líneas y de párrafos.
Si quieres que te responda a una pregunta lee estas condiciones: La pregunta debe razonablemente pensada: No me preguntes porqué no te sale algo. Dime lo que quieres hacer, los pasos que estás dando para conseguirlo y las versiones de programas que estás usando. Es decir: Dame los datos completos. Si yo me tengo que pensar qué demonios me quieres decir, no voy a tomarme el esfuerzo que tú no te has tomado. "Hola", "Gracias" y "por favor": Ya no contesto a gente maleducada. Que esto sea gratis no quiere decir que te deba nada. Cualquier pregunta que no incluya eso, será ignorada y borrada. No respondo a peticiones ilegales: Sin más. Muchas cosas no las sé o puedo equivocarme. Hasta donde llego, llego. Más de una vez no sé qué es lo que ocurre o lo que deseas saber.