General Regular Expression Print (GREP): Introdução

por edraant em 12/02/2009

em GREP, Produtividade, Texto

Começo aqui hoje a ten­tar des­mis­ti­fi­car um dos pro­ces­sos mais com­ple­xos do Inde­sign: O GREP.

Sendo quase uma ”ciên­cia oculta” para a maior parte das pes­soas, é um search/replace de metacaracteres.

Posso pes­qui­sar mui­tos parâ­me­tros que atra­vés da pes­quisa con­ven­ci­o­nal não seria pos­sí­vel: variá­veis de texto, posi­ci­o­na­mento de carac­te­res den­tro do texto, etc.

Vamos a 2 exem­plos, um bas­tante básico mas útil e outro mais complicado.

Exer­cí­cio 1

Tenho um bloco de texto com algu­mas pala­vras com aspas. O que pre­tendo é alte­rar todas as pala­vras que con­tém aspas, para itálico.

grep_10Vou ao Menu Edit > Find/Change (Cmd + F no Mac, Ctr + F no win­dows) e com o qua­dro aberto selec­ci­ono a tab ”GREP”.

Quem vê este qua­dro pela pri­meira vez pensa que é pre­ci­sa­mente igual ao find/change da tab ”text”. Mas o GREP tem muito mais fun­ções do que imaginam.

Pri­meiro, no campo Find what digito a minha aspa. Depois como é que digo que são todas as pala­vras den­tro das aspas?

Vou ao sím­bolo da arroba no final desse campo, selec­ci­ono Wild­cards e esco­lho Any Cha­rac­ter. Repa­rem que apa­re­ceu um ponto final a seguir à aspa. Este é o meta­ca­rac­ter que o GREP usa para pes­qui­sar qual­quer carac­ter de texto.

grep_111

Agora tenho de dizer quan­tas vezes os meus carac­te­res apa­re­cem den­tro das aspas. Neste caso, ambas as pala­vras que têm aspas são cons­ti­tuí­das com 7 carac­te­res. Mas se tives­sem um número de carac­te­res dife­rente, fun­ci­o­na­ria sem problemas.

Desta vez selec­ci­ono Repeat > One or More Times. Estão a ver a ideia?

grep_121

Depois de ter colo­cado a aspa a fechar a seguir ao sinal ”+” (não se esque­çam!), é tempo de dizer ao GREP o que é para subs­ti­tuir. Ora bem, eu quero que ele subs­ti­tua den­tro das aspas, qual­quer carac­ter, uma ou mais vezes, por um Cha­par­ral Bold itá­lico. Se fize­rem ape­nas isso, o GREP apaga a pala­vra toda e não coloca nada para a subs­ti­tuir. Porquê? Por­que no campo Change to, não tem nenhuma informação!

Para isso é pre­ciso espe­ci­fi­car que ”ok, procura-me todas as pala­vras que con­te­nham aspas, muda-as para Cha­par­ral Ita­lic, mas por favor não me apa­gues essas palavras!”

Nesse caso, selec­ci­o­nando o campo Change to, vou de novo ao final do campo e esco­lho Found > Found text.

Com este comando estou a dizer ao GREP para man­ter o texto pes­qui­sado (meta­ca­rac­ter $0).

grep_13

Depois é só selec­ci­o­nar o campo Change For­mat, editá-lo e esco­lher a fonte a pes­qui­sar. É mais sim­ples do que parece.

Exer­cí­cio 2

Aqui é um pouco mais complicado.

No final de cada pará­grafo, tenho um carac­ter em Zapf Ding­bats. Esse carac­ter (que é variá­vel) infe­liz­mente está colado à ultima linha do pará­grafo. Além disso desejo mudar esse carac­ter para encarnado.

grep_15

Vamos então pôr o GREP a tra­ba­lhar para nós.

Desta vez não há aspas, por isso o que quero é pes­qui­sar qual­quer caracter.

grep_16

Este carac­ter a pes­qui­sar tem uma con­di­ção: tem de estar antes do retorno final de pará­grafo, aparecendo-me o meta­ca­rac­ter ”\r”.

grep_17

Agora pre­tendo que os meus núme­ros em Zapf Ding­bats fiquem ”agar­ra­dos” ao texto. Para isso insiro um Non­bre­a­king Space (~S).

grep_18

Mais uma vez, não me posso esque­cer de assi­na­lar que pre­tendo que o GREP man­te­nha o texto que encon­tro, para isso esco­lho Found > Found Text ($0).

grep_20

Por fim pre­tendo que os núme­ros em Zapf fiquem a encar­nado. Neste caso, criei um Cha­rac­ter Style só com a cor ver­me­lha. No GREP, altero o estilo, esco­lhendo Change For­mat.

grep_21E pronto, a magia do GREP está feita!

grep_22

A com­ple­xi­dade do GREP é imensa, estes 2 exem­plos são ape­nas uma pequena parte do que o GREP é capaz. Em duas pala­vras, arris­ca­ria dizer que o GREP é capaz de pes­qui­sar… quase tudo.

Bons GREP’s.

{ 6 comentários… lê-los a seguir ou adicionar um }

1 Tânia 13/02/2009 ás 10:31

Coisa mai­iii boa!!! Como vais?
Gos­tei de te ver virtualmente.

Bei­jos.

(vou divul­gar)

2 Ângela Rodrigues 21/03/2009 ás 23:02

Olá,
As pes­qui­sas com GREP são fabu­lo­sas! Hoje venho par­ti­lhar um tipo de pes­quisa que uti­lizo fre­quen­te­mente.
Por exem­plo, ima­gi­nem um texto em que apa­rece mui­tas vezes um dado valor numé­rico e a abre­vi­a­tura “mg” (mili­gra­mas) ou “mm” (milí­me­tros), ou outra…
Eu nunca vou que­rer uma par­ti­ção entre o valor numé­rico e a abre­vi­a­tura, ou seja, nunca vou que­rer que o valor numé­rico fique no final da linha de cima e a abre­vi­a­tura passé para a linha de baixo.
Em vez de ter de pes­qui­sar isto caso a caso em todo o docu­mento, uti­lizo uma pes­quisa com GREP:
Pes­quiso “Wild­cards > Any Digit + Espaço de barra + mg” (por exem­plo) e subs­ti­tuo por: “Found > Found Text + White Space > Non­bre­a­king Space + mg“
Desta forma, o InDe­sign pes­quisa um dado número seguido de espaço de barra e a abre­vi­a­tura “mg” (neste exem­plo) e coloca tudo igual (seja qual for o número encon­trado) mas subs­ti­tuindo o espaço de barra por um espaço impar­tí­vel, que vai impe­dir que a seguên­cia fique divi­dida.
Espero que este exem­plo seja útil!
E um grande abraço ao Edu­ardo por ter esta tra­ba­lheira toda para nos aju­dar a criar docu­men­tos mais efi­ci­en­tes e mais rapidamente.

3 edraant 22/03/2009 ás 17:29

Ângela,
Essa cos­tumo utilizá-la fre­quen­te­mente, como sabes.
Isto dá-me uma ideia. Um dia des­tes quando tiver tempo (sim terei tempo um dia) vou criar uma página só para pes­qui­sas por GREP. E como sabes, entra­das não fal­ta­rão!
Bei­jos e obrigado.

4 Karen 23/10/2009 ás 00:49

Olá!!!
Dicas pre­ci­o­sas q

5 Karen 23/10/2009 ás 00:53

Olá!!!!
Muito obri­gada! Dicas muito pre­ci­o­sas para quem tra­ba­lha com InDe­sign! E todos que pro­cu­ram novos recur­sos sobre o pro­grama sabem como é difí­cil achar na net!!!
Estou à pro­cura de uma lista com os códi­gos usa­dos no GREP. Se alguém tiver por favor me passé!!!
Bjos

6 Karen 23/10/2009 ás 01:22

Ops­sss aca­bei de achar!!!!
Sorry!!!

Deixar um comentário

Post Anterior: Identificar guias e grelhas

Post Seguinte: Personalização das shortcuts em Indesign