Primeira vez aqui? Seja bem vindo e cheque o FAQ!
x

O que fazer para enviar um arquivo em latex com acentos para o seu colega que não sabe nada de computação?

+2 votos
48 visitas
perguntada Mai 25, 2016 em Ciência da Computação por Saulo (426 pontos)  
Compartilhe

1 Resposta

+1 voto
respondida Mai 25, 2016 por Saulo (426 pontos)  

Todos que utilizam latex certamente já tiveram muitos problemas com acentos. Quando precisamos compartilhar arquivos com pessoas diferentes, que utilizam sistemas operacionais diferentes, este problema é ainda maior! Ele vai desde o problema de não conseguir abrir o arquivo e conseguir visualizar os caracteres corretamente (que é um problema de codificação do arquivo, por exemplo, um arquivo foi gravado em UTF8, mas o editor de texto está exibindo-o como ISO-8859-15), até a utilização de pacotes do latex envolvendo codificação (ex: inputenc, fontenc). São inúmeros problemas possíveis. Portanto, bem provável que dê problema quando você enviar o seu arquivo em latex para o seu colega que não sabe nada de computação.

Uma forma de contornar isto é fazer as substituições dos caracteres especiais (acentos agudo e circunflexo, til, cedilha) antes de enviar este arquivo. Um código simples em shell script é mostrado abaixo:

Arquivo "substituir_acentos.sh":

#!/bin/bash

FILENAME_FILTER="ls *.tex"
if [ "$#" -eq 1 ]; then
  FILENAME_FILTER="ls $1"
elif [ "$#" -gt 1 ]; then
  echo "No maximo um parametro permitido."
  exit 1
fi

FILENAME="AnotacoesEquilibrioGeral_Conteudo.tex"
now=`date +"%Y-%m-%d"`

for FILENAME in `$FILENAME_FILTER`; do 
  cp $FILENAME $FILENAME.$now
  echo "Copia de" $FILENAME "feita com sucesso."

  sed -i 's/á/\\\x27{a}/g' $FILENAME
  sed -i 's/é/\\\x27{e}/g' $FILENAME
  sed -i 's/í/\\\x27{i}/g' $FILENAME
  sed -i 's/ó/\\\x27{o}/g' $FILENAME
  sed -i 's/ú/\\\x27{u}/g' $FILENAME

  sed -i 's/Á/\\\x27{A}/g' $FILENAME
  sed -i 's/É/\\\x27{E}/g' $FILENAME
  sed -i 's/Í/\\\x27{I}/g' $FILENAME
  sed -i 's/Ó/\\\x27{O}/g' $FILENAME
  sed -i 's/Ú/\\\x27{U}/g' $FILENAME

  sed -i 's/â/\\^{a}/g' $FILENAME
  sed -i 's/Â/\\^{A}/g' $FILENAME
  sed -i 's/ê/\\^{e}/g' $FILENAME
  sed -i 's/Ê/\\^{E}/g' $FILENAME
  sed -i 's/ô/\\^{o}/g' $FILENAME
  sed -i 's/Ô/\\^{O}/g' $FILENAME

  sed -i 's/ã/\\~{a}/g' $FILENAME
  sed -i 's/Ã/\\~{A}/g' $FILENAME
  sed -i 's/õ/\\~{o}/g' $FILENAME
  sed -i 's/Õ/\\~{O}/g' $FILENAME

  sed -i 's/ç/\\c{c}/g' $FILENAME
  sed -i 's/Ç/\\c{C}/g' $FILENAME

  sed -i 's/à/\\`{a}/g' $FILENAME
  sed -i 's/À/\\`{A}/g' $FILENAME

  echo "Acentos de" $FILENAME "substituidos."
done

Para executá-lo, basta digitar no prompt:

sh substituir_acentos.sh

O resultado será a substituição de todos os arquivo com extensão tex que estão presentes no diretório.

Para executar o script em um arquivo específico, basta digitar:

 sh substituir_acentos.sh <ARQUIVO.TEX>

O script faz uma cópia de segurança antes de efetuar as substituições.

...