TeX mit Dropbox auf mehreren Plattformen verwenden: Kodierungsprobleme

TeX mit Dropbox auf mehreren Plattformen verwenden: Kodierungsprobleme

Ich verwende TeX auf meinem Laptop (OS X) und auf meiner Workstation (Linux RHEL 6) und habe Probleme mit der Kodierung einiger Dateien, in denen ich Akzente verwende (meistens in Autorennamen, aber auch, weil ich Franzose bin und einige Dokumente auf Französisch habe). Ich schätze, mein Problem liegt darin, dass ich mich manchmal auf die flexiblere Kodierung auf der Mac-Seite verlasse, um Akzentzeichen direkt wie é zu verwenden, anstatt {\'{e}}beispielsweise Folgendes zu tun. Dann werden diese Akzente über Dropbox oder vielleicht, weil ich diese Dateien dann unter UNIX öffne, auf beiden Seiten unterschiedlich verstümmelt und ich erhalte auf beiden Seiten zwei unterschiedlich aussehende Dateien. Ich bin ziemlich sicher, dass ich das alles beheben könnte, indem ich nur die Escape-Methode verwende, aber ich könnte vielleicht etwas Eleganteres tun (vielleicht muss ich die Kodierung sowohl in der .- texDatei als auch in explizit festlegen vi). Ich bin nicht sicher, was passiert, wenn ich dann zu einem anderen Editor wie TeXshop gehe ...

Haben Sie einige Hinweise oder eine elegantere Lösung für mein Problem? Lassen Sie es mich wissen, wenn Sie weitere Informationen benötigen! Danke!

UPDATE: Dank einiger der gegebenen Hinweise weiß ich jetzt etwas mehr über die Probleme. Ich habe eine kleine Beispieldatei erstellt, um das Problem zu reproduzieren. Wenn ich sie in TeXShop erstelle, scheint sie einwandfrei zu funktionieren, während das Problem besteht, wenn ich die Datei mit vim erstelle. Darüber hinaus file --mime-encoding test.texergibt sich je nach Art der Dateierstellung eine unterschiedliche Ausgabe:

$ 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}

Beachten Sie, dass ich selbst bei der von TeXShop mit UTF-8 erstellten Datei UTF-8 nicht in der von @Daniel beschriebenen Statusleiste sehe. Also muss es wohl mein vimrcRecht sein? Irgendwie habe ich andere Optionen, die den set filencodingBefehl stören. Irgendeine Idee?

Antwort1

Die zwei wichtigsten Ratschläge:

  • Verwenden Sie utf8für die Kodierung Ihrer Dokumente ( \usepackage[utf8]{inputenc}). In vimlegen Sie diese Kodierung mit fest set filencoding=utf8; abhängig von den Gebietsschemaeinstellungen Ihrer Shell ( locale) kann dies bereits die Vorgabe sein. In TexShop müssen Sie die Dateikodierung explizit in den Einstellungen festlegen.

  • Verwenden Sie in Ihren Dateinamen keine Akzentzeichen! Die „spezielle“ Interpretation von UTF8 in Dateinamen durch MacOS (sie werden in zerlegter Form gespeichert) verursacht allerlei Probleme.

Zudem vimempfiehlt es sich, eine Statuszeile zu definieren, die Hinweise zur aktuellen Textkodierung und Zeilenende-Kodierung gibt (wenn man folgende Zeilen einfügt, ~/.vimrcwerden rechts Dateityp, Zeilenende und Textkodierung angezeigt):

" 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

Bildbeschreibung hier eingeben

Dadurch kann man schnell feststellen, ob die Kodierung richtig ist. Wenn man nach „vim statusline“ googelt, findet man eine Fülle von Anleitungen und Tutorials zum Einrichten einer guten Statuszeile. Meine ist noch relativ einfach.

verwandte Informationen