Essa é uma revisão anterior do documento!
Codificação de caracteres
Em português brasileiro os sistemas operacionais utilizam diferentes codificações de caracteres:
UTF-8
: No LINUX pode-se escolher a codificação desejada (na instalação ou posteriormente) mas em versões mais atuais geralmente utiliza-se como padrão na instalação.ISO-8859-1
: O WINDOWS usa um formato próprioWINDOWS-1252
mas que é quase igual a ISO-8859-1 (também chamado delatin1
).
Estas diferentes codificações podem ter efeitos sobre documentos com caracteres especiais escritos em um sistema e visualizados e ou compilados(por exemplo documentos LaTeX) em outro sistema.
No LINUX, para saber qual a codificação de caracteres está sendo usada no sistema digite na linha de comando do terminal:
locale
- Se voce ver na saída
pt.BR
é porque o sistema éISO-8859-1
- Se voce ver na saída
pt.BR.UTF-8
é porque o sistema éUTF-8
Alguns programas e aplicativos, em especial editores de texto (por exemplo o kile
) possuem opções para se escolhar a codificação de caracteres a ser utilizada.
Conversão de arquivos via comando em terminal (LINUX)
Para converter um arquivo de um formato para outro na linha de comando do Linux pode-se usar os comandos iconv
ou recode
na linha de comando do terminal.
Usando o comando iconv
- Voce tem um arquivo
exemplo1.tex
digitado em um sistemaISO-8859-1
e quer converter paraUTF-8
gerando o arquivo com nomeexemplo1a.tex
(vamos preservar o original por segurança, se vc quiser depois renomeie o arquivo)iconv -f ISO-8859-1 -t UTF-8 -o exemplo1a.tex exemplo1.tex
- Voce tem um arquivo
exemplo2.tex
digitado em um sistemaUTF-8
e quer converter paraISO-8859-1
gerando o arquivo com nomeexemplo2a.tex
(vamos preservar o original por segurança, se vc quiser depois renomeie o arquivo)iconv -f UTF-8 -t ISO-8859-1 -o exemplo2a.tex exemplo2.tex
Usando o comando recode
- De latin1 (iso-8859-1) para utf-8:
recode l1..utf8 arquivo.csv
- De utf-8 para latin1 (iso-8859-1):
recode utf8..l1 arquivo.csv
Definição de codificação (locale) no LATEX
Uso no : o preâmbulo de seu documento deve ter:
- para
ISO-8859-1
:\usepackage[latin1]{inputenc}
- para
UTF-8
:\usepackage[utf8]{inputenc}
Definição de codificação (locale) em uma sessão do R e/ou Sweave
No R há pelos menos duas formas de lidar com isto:
- É possível fazer a conversão usando a função
iconv()
. - Definir a opção padrão para uma sassão com
options()
: Os comandos do R a seguir podem definir o enconding desejado em uma sessão. Isto é particularmente útil gerando documentos via Sweave.
options(encoding="UTF-8")
options(encoding="latin1")
Note que isto vai gerar o documento em um computador com certa codificação e que pode ser incompatível
para compilação em outra máquina que usar um outro enconding.
Neste caso é necessário usar o iconv
descrito anteriormente para
converter de um formato para outro antes de compilar o documento LaTeX.