Usando TeX com dropbox em múltiplas plataformas: problemas de codificação

Usando TeX com dropbox em múltiplas plataformas: problemas de codificação

Eu uso TeX no meu laptop (OS X) e na minha estação de trabalho (Linux RHEL 6) e tenho problemas com a codificação de alguns arquivos onde uso acentos (principalmente em nomes de autores, mas também porque sou francês e tenho alguns documentos em francês). Acho que meu problema é que às vezes confio na codificação mais flexível do lado do Mac para usar caracteres acentuados diretamente como é em vez de fazer, {\'{e}}por exemplo. Então, através do Dropbox, ou talvez porque eu abro esses arquivos no UNIX, esses acentos ficam distorcidos de maneira diferente em ambos os lados e obtenho dois arquivos com aparência diferente em ambos os lados. Tenho certeza de que poderia consertar tudo isso usando apenas o método de escape, mas talvez eu consiga fazer algo mais elegante (talvez eu precise definir explicitamente a codificação no texarquivo . e no arquivo vi). Não tenho certeza do que acontece se eu for para outro editor como o TeXshop...

Você tem algumas dicas ou uma solução mais elegante para o meu problema? Deixe-me saber se você precisar de mais informações! Obrigado !

ATUALIZAÇÃO: Graças a algumas dicas fornecidas, agora sei um pouco mais sobre os problemas. Criei um pequeno arquivo de amostra para reproduzir o problema. Se eu criá-lo no TeXShop, parece funcionar bem, enquanto o problema existe se eu criar o arquivo com o vim. Além disso, file --mime-encoding test.texproduz resultados diferentes dependendo da forma de criação do arquivo:

$ file --mime-encoding test.tex 
test.tex: unknown-8bit
$ file --mime-encoding test2.tex 
test2.tex: utf-8
kheldar@shadowfax /Users/kheldar/Dropbox/Boulot/CV/csuros/2011
$ vi test.tex 
kheldar@shadowfax /Users/kheldar/Dropbox/Boulot/CV/csuros/2011
$ vi test2.tex 

\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\begin{document}
\title{Test encoding}
\maketitle

Test accents: é è ê ë

\begin{verbatim}
Test accents: é è ê ë
\end{verbatim}

Test accents: \'{e} \`{e} \"{e}

\begin{verbatim}
Test accents: \'{e} \`{e} \"{e}
\end{verbatim}

\end{document}

Observe que mesmo com o arquivo criado pelo TeXShop com utf-8, não vejo utf-8 na barra de status descrita por @Daniel. Então deve ser meu vimrcdireito? De alguma forma, tenho outras opções que interferem no set filencodingcomando. Qualquer ideia?

Responder1

Os dois conselhos mais importantes:

  • Utilize utf8para a codificação dos seus documentos ( \usepackage[utf8]{inputenc}). Em vimvocê define essa codificação por set filencoding=utf8; dependendo das configurações de localidade do seu shell ( locale), esse já pode ser o padrão. No TexShop, você deve definir explicitamente a codificação do arquivo nas preferências.

  • Evite usar caracteres acentuados nos nomes dos arquivos! A interpretação "especial" do MacOS de UTF8 em nomes de arquivos (eles são armazenados em forma decomposta) causa todos os tipos de problemas.

Além disso vim, é uma boa idéia definir uma linha de status que mostre indicadores para a codificação de texto real e a codificação de final de linha (se você inserir as seguintes linhas, ~/.vimrco tipo de arquivo, o final de linha e a codificação de texto serão mostrados à direita):

" show statusline
hi StatusLine ctermbg=black ctermfg=white guibg=black guifg=white gui=none
hi EMPH ctermfg=yellow ctermbg=black guibg=black guifg=yellow gui=none
set statusline=%F\ \|%c,%l:\ 0x%-02B\|%=\ \|%{strftime(\"%c\",getftime(expand(\"%:p\")))}\|\ %y\ %{&ff}\ %#EMPH#%{(&fenc==\"\"?&enc:&fenc)}
set ls=2

insira a descrição da imagem aqui

Assim, você pode entender rapidamente se a codificação está correta. Se você pesquisar no Google por "vim statusline", encontrará uma infinidade de guias e tutoriais sobre como configurar uma boa linha de status. O meu ainda é relativamente simples.

informação relacionada