[GUFSC] Manipulação de textos

Daniel Martins danielemc em gmail.com
Quinta Julho 30 03:00:37 BRT 2009


No emacs o teu texto o coamdno

M-x query-replace-regexp (C-M %)

Ele vai pedir primeiro a expressao regular. Coloque
"\\begin{indentation}{0pt}{0pt}{0pt}\(
.*
?.*
\)\\end{indentation}"


depois ele vai pedir como vai ser a substituicao

coloque

"\1"

(tudo sem aspas "" acima)

o \1 referencia o primeiro (e neste caso único) bloco de expressoes: o que
esta entre \( e \)

O \\ é uma barra apenas pois a barra tem varias outras aplicacoes em regexps

O ".*" pega uma linha inteira: como tem trecho com 2 linhas usei

"
?"

Ou seja uma quebra de linha no meio pode ou nao ocorrer


Se admitires até quatro linhas  (tres quebras de linha) podes usar:


"\\begin{indentation}{0pt}{0pt}{0pt}\(
.*
?.*
?.*
?.*\)\\end{indentation}"


Deve ter um modo mais racionalde fazer isto mas a gripe que me tirou da cama
nao me permite raciocinar melhor

Daniel

PS1 Teria todo o prazer em te explicar isto pessoalemnte mas no momento nao
seria uma companhia agradável nem recomendavel :)

PS2 O texto do teu  apos a regexp acima fica:

"\begin{document}
\begin{center}

\textbf{\textsc{Draft}}

\end{center}

\begin{center}



\end{center}

\begin{center}

Appendix to Chapter 5 (or 4?) for Technical Brochure of CIGRE TF
38.02.16

\end{center}

\begin{center}



\end{center}"

PS3 Obviamente poderias eliminar os center se for conveniente usando

M-x query-replace-regexp (C-M %)

Primeiro argumento:
"\\begin{center}
\\begin{indentation}{0pt}{0pt}{0pt}\(
.*
?.*
\)\\end{indentation}
\\end{center}"


"\begin{document}

\textbf{\textsc{Draft}}


segundo argumento é o mesmo

"\1"

Tudo sem aspas


Teu texto ficaria bem mais enxuto

"\begin{document}

\textbf{\textsc{Draft}}







Appendix to Chapter 5 (or 4?) for Technical Brochure of CIGRE TF
38.02.16


"

Mas nao sei se é isto que queres






2009/7/30 Daniel Martins <danielemc em gmail.com>

> Eu uso expressoes regulares para esras coias no emacs
>
> Tem, um info interessante.
>
> Para se informar tem um libro de expressoes regulares do Aurelio (apelido
> "verde" nao me perguntem por que) que eu vi numa livraria e me prareceu
> bastante bom para introduzor neste meio
>
> Daniel
>
> PS Vou tentar no emacs e te mando o comando do que conseguir
>
> 2009/7/29 Emerson Ribeiro de Mello <emerson em das.ufsc.br>
>
> Olá,
>>
>> Abaixo um exemplo para remover o begin{indentation} e end{indentation}
>> sem remover o que está dentro do bloco.
>>
>> sed '/\\begin{indentation}/d' arquivo.tex | sed '/\\end{indentation}/d'
>>  > novo-arquivo.tex
>>
>>
>> Vi que o bloco 'center' sempre aparece abraçando o indentation, então
>> podemos modificar a linha acima para remover o bloco center também:
>>
>>
>> sed '/\\begin{center}/,/\\begin{indentation}/d' arquivo.tex | sed
>> '/\\end{indentation}/,/\\end{center}/d' > novo-arquivo.tex
>>
>> abraços
>>
>> emerson
>>
>>
>> Aguinaldo Silveira e Silva escreveu:
>> > Um pequeno exemplo. A maior parte
>> > destes comandos, no começo do arquivo,
>> >  foram gerados apenas
>> > para reproduzir o formato  do Word.
>> > Isto se repete ao longo do arquivo.
>> > Indentation é o que mais aparece.
>> >
>> > \begin{document}
>> > \begin{center}
>> > \begin{indentation}{0pt}{0pt}{0pt}
>> > \textbf{\textsc{Draft}}
>> > \end{indentation}
>> > \end{center}
>> >
>> > \begin{center}
>> > \begin{indentation}{0pt}{0pt}{0pt}
>> >
>> > \end{indentation}
>> > \end{center}
>> >
>> > \begin{center}
>> > \begin{indentation}{0pt}{0pt}{0pt}
>> > Appendix to Chapter 5 (or 4?) for Technical Brochure of CIGRE TF
>> > 38.02.16
>> > \end{indentation}
>> > \end{center}
>> >
>> > \begin{center}
>> > \begin{indentation}{0pt}{0pt}{0pt}
>> >
>> > \end{indentation}
>> > \end{center}
>> >
>> >
>> >
>> >
>> >
>> > Emerson Ribeiro de Mello escreveu:
>> >> Olá Aguinaldo,
>> >>
>> >> Por favor, envie um pequeno trecho de exemplo.
>> >>
>> >> Mas como outros já falaram, creio que expressões regulares (regex)
>> >> resolvem teu problema.
>> >>
>> >> Aí pode-se usar o sed ou fazer em qualquer outra linguagem de
>> >> programação que tenha regex e que você domine.
>> >>
>> >> abraços
>> >>
>> >> emerson
>> >>
>> >> Aguinaldo Silveira e Silva escreveu:
>> >>
>> >>>    Usei um conversor para passar uma série de artigos
>> >>> de um co-autor, escritos em Word, para Latex.
>> >>> No entanto, o conversor
>> >>> introduz muito lixo no arquivo para reproduzir
>> >>> exatamente o layout do Word. Os comandos
>> >>> espúrios seguem padrões que se repetem.
>> >>>   Eu gostaria de escrever um script que tivesse como
>> >>> entrada o nome de um arquivo e fizesse a remoção de
>> >>> todos estes comandos desnecessários do arquivo.
>> >>>    A questão é: qual a ferramenta a usar?
>> >>> Sed, Awk ou Perl? Há alguma outra?
>> >>> Definida a ferramenta, onde existe um tutorial
>> >>> adequado que vá aos pontos essenciais para
>> >>> esta tarefa?
>> >>>
>> >>> Aguinaldo
>> >>>
>> >>>
>> >>>
>> >> _______________________________________________
>> >> GUFSC mailing list
>> >> GUFSC em softwarelivre.ufsc.br
>> >> https://www.softwarelivre.ufsc.br/mailman/listinfo/gufsc
>> >>
>> >>
>> >>
>> >
>> >
>>
>> _______________________________________________
>> GUFSC mailing list
>> GUFSC em softwarelivre.ufsc.br
>> https://www.softwarelivre.ufsc.br/mailman/listinfo/gufsc
>>
>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://www.softwarelivre.ufsc.br/pipermail/gufsc/attachments/20090730/a601265b/attachment.html 


Mais detalhes sobre a lista de discussão GUFSC