17 mar. 2009

Buscar condicionalmente en InDesign

Continuando con el tema de las búsquedas GREP, esta semana tuve la oportunidad de aplicar un patrón de búsqueda y reemplazo a un documento, lo que me llevó a crear un patrón que, además de mostrar la gran ventaja de trabajar con esta caracteristica de InDesign, creo puede resultarle útil en algún momento.
El objetivo era reemplazar todos las ocurrencias de la palabra Gráfico que se encontraran entre parentesis y seguidas por cualquier número (de 1 ó más digitos) y una letra, y convertirlos a Bold. La tarea hasta este punto puede resultar sencilla, pero la condición era que, SOLAMENTE debía aparecer en bold la palabra Gráfico, el número y la letra - NO los paréntesis.
Después de intentar con varios patrones de búsqueda, sin lograr el resultado deseado, encontré que se pueden especificar dentro de las búsquedas GREP en InDesign, condiciones que excluyan elementos.

El patrón que introduje en el cuadro de diálogo Find What (Buscar) fué:
(?<=\()Gráfico \d+.(?=\))
El campo Change To (Cambiar) lo dejé vacio.
En el área Change Format (Cambiar Formato) especifiqué Bold.
Esto, si le estuviera hablando a InDesign sonaria como: busque cualquier caracter de parentesis - pero no lo incluya- (?<=\() antes de la palabra Gráfico, seguida de 1 ó más digitos Gráfico \d+y cualquier caracter . (el punto en GREP) indica un caracter), seguido de un parentesis que cierra (?=\)) -pero no lo incluya.
Por ejemplo, para reemplazar (Gráfico 45b), (Grafico 234c), etc. este patrón cambiaría todas estas ocurrencias a bold sin incluir el paréntesis (Gráfico 45b), (Grafico 234c).
Como puede ver GREP nos puede ahorrar mucho, pero mucho tiempo.
Publicar un comentario