Identificação de textos com defeitos (como corrigir?)

Bom dia senhores.

Seguinte: Trabalho com diagramação de textos utilizando o LaTeX como compilador e o Sublime Text 3 como interface de edição.

Pois bem, recentemente recebi um texto com 540 páginas e… repleto de erros. Trata-se de um texto de viés religioso/bíblico onde o nome Isaías está concatenado com diversas palavras por exemplo: envieIsaías; sereIsaías; TerríveIsaías; incompreensíveIsaías e mais uma infinidade de outras palavras.

1. Como faço pra retirar o “Isaías” e deixar somente o "is"que seria o correto, porém, sem modificar as citações do texto que de fato se referem ao profeta Isaías?

Outro caso:

Como se trata de um texto bíblico, há uma enorme quantidade de citações que estão dentro de parêntesis. Mas essas citações são diversas , tipo: (At 9,6); (Lucas 1,38); (Salmo 118,94); (Mateus 11,26) e mais uma infinidade de outras referências.

2. Como posso modificar a formatação de todas essas referências de uma só vez? sem ter que procurar em todo o texto, uma a uma? Em cada uma eu preciso inserir o comando \textcolor{red}{referência}

Creio que seja, isso.
Desde já, obrigado e tudo de bom.

1 curtida

Esse não é bem o tipo que coisa que dá para automatizar 100% sem fazer uma revisão nem que passando o olho por cima (o autor do texto de 540 páginas evidentemente tentou fazer s/is/Isaías/g ou equivalente e se deu mal).

Porém, parecem ser o tipo de coisa que poderiam ser aliviados com regexes avançados (PCRE), que a maioria dos editores suporta marcando alguma caixa.

Para o problema 1, o especificador \B (ignorar se não for uma palavra inteira) pode ajudar a eliminar os Isaías que não são uma palavra inteira (eliminando esses erros):

$ cat isaias.txt 
Isaías era um homem de Deus
Isaíasso fez-se ontem
pIsaíaso de madeira
envieIsaías um mensageiro
sereIsaías feliz
TerríveIsaías sois
Falaram coisas incompreensíveIsaías

$ sed -E 's/\BIsaías|Isaías\B/is/g' isaias.txt 
Isaías era um homem de Deus
isso fez-se ontem
piso de madeira
envieis um mensageiro
sereis feliz
Terríveis sois
Falaram coisas incompreensíveis

Porém, expressões com a palavra is (plural de I) não vão ser corrigidas…

Para o problema dois, basta saber qual caractere repõe o texto encontrado na engine de regex do Sublime (no sed, é o &) e construir uma expressão regular que descreva uma citação:

# A expressão regular \([A-Z][a-z] [0-9]+,[0-9]+\) encontra uma maiúscula, seguida de
# uma minúscula, um espaço, e dois números separados por vírgula, ambos entre
# parênteses.
# Talvez "embutir" os livros bíblicos como uma alternação, como:
#
# (At|Atos|Sl|Salmos|Mt|Mateus|Jo|João)
#
# no lugar de [A-Z][a-z]
#
# diminuísse a chance de falsos positivos.
sed -E 's/\([A-Z][a-z] [0-9]+,[0-9]+\)/<font color="red">&</font>/g' versiculos.txt
3 curtidas

Deu certo parcialmente, só não tô conseguindo a questão do “Isaías” dentro das palavras que não tem nada a ver com Isaías.

Consegue mostrar um exemplo de um “Isaías” que não funcionou?

DEU CERTO…!!!
Eu que errei na sintaxe. Poxa, muito obrigado, por certo que você me liberou de um final de semana (ou mais) lidando com esse texto, e graças a sua colocação, pronto, solucionei TODAS as arestas que faltavam (obviamente que ainda vou fazer uma verificação final), mas pelo que já andei vendo, deu certo demais sim.

1 curtida

Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.