[GUFSC] Manipulação de textos

Daniel Martins danielemc em gmail.com
Segunda Agosto 3 08:34:01 BRT 2009


Esta é mais fácil


No emacs




Primeiro argumento:

"{\\rm{\([
 a-zA-Z+-]*\)}}"

Segundo argumento
"\1"

(como sempre)





Resultado:

\begin{math} =  (\alpha   \cdot \beta    I
 - {\rm{ ( }}\alpha  + \beta   ) \cdot A  +
 A^2  ) = \end{math}




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

2009/7/30 Aguinaldo Silveira e Silva <aguinald em labspot.ufsc.br>

> Obrigado Daniel,
>
> mas seguindo a dica do Emerson, consegui escrever
> um pequeno script usando sed que faz o serviço.
> O único problema que restou é que por algum motivo
> o tradutor Word para Latex adiciona muitos
> comandos {\rm{ }}, que parecem não ter nenhuma
> função, ou {\rm{ text }}, e não sei como remover
> isto no sed, sem alterar os eventuais textos que
> aparecem (ex. abaixo)
>
> \begin{math} = {\rm{ }}(\alpha {\rm{ }} \cdot \beta {\rm{   }}I{\rm{
> }} - {\rm{ ( }}\alpha {\rm{ + }}\beta {\rm{  }}) \cdot A{\rm{ }} +
> {\rm{ }}A^2 {\rm{ }}) = \end{math}
>
>
> Aguinaldo
>
> Daniel Martins escreveu:
> > 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
> > <mailto: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
> >     <mailto: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
> >         <mailto:GUFSC em softwarelivre.ufsc.br>
> >         >> https://www.softwarelivre.ufsc.br/mailman/listinfo/gufsc
> >         >>
> >         >>
> >         >>
> >         >
> >         >
> >
> >         _______________________________________________
> >         GUFSC mailing list
> >         GUFSC em softwarelivre.ufsc.br <mailto: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
> >
>
>
> --
> Prof. Aguinaldo S. e Silva  - Ph.D.
> Professor Titular
> Grupo de Sistemas de Potência
> Laboratório de Sistemas de Potência
> Departamento de Eng. Elétrica
> Universidade Federal de Santa Catarina
>
> Tel: (048)37219593
>
> _______________________________________________
> 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/20090803/4b886d1e/attachment-0001.html 


Mais detalhes sobre a lista de discussão GUFSC