[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