[SP-pm] Problema com encoding
Nelson Ferraz
nferraz em gmail.com
Sexta Julho 13 13:11:15 PDT 2007
Grande Solli!!!
Você deu uma bela endireitada no código. :-)
Eu faria o seguinte:
1) Colocaria a lógica da conversão em um módulo (ou usaria o TeX::Encode)
2) Faria um script simples de conversão, como esse:
use TeX::Encode;
use Encode;
while ( my $line = <> ) {
Encode::from_to( $line, 'latin1', 'utf8' );
my $tex = encode( 'latex', $line );
print $tex;
}
__END__
Este script (vamos chamá-lo de convert2tex) usa o operador diamante (
<> ) para ler uma linha da entrada padrão (ou de um arquivo
especificado) e escrever ( print ) diretamente na saída padrão.
Se você precisar criar um novo arquivo, pode redirecionar o output:
convert2tex input.txt > output.tex
A vantagem de fazer o programa funcionar como um filtro é permitir
encadeá-lo com outros programas. Por exemplo:
catdoc documento.doc | convert2tex > documento.tex
Você também pode usar esse script para modificar um texto dentro do
seu editor. No vim:
% ! convert2tex
Obviamente, TIMTOWTDI.
[]s
Nelson
Mais detalhes sobre a lista de discussão SaoPaulo-pm