PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : vim und latex und deutsche Umlaute



PygoscelisPapua
07-10-2007, 18:25
Moin moin,

endlich habe auch ich mich dazu durchgerungen, mir die Zeit für einen Einstieg in LaTeX zu nehmen, und bin auch prompt auf ein kleines Problem gestoßen.

Ich Editiere meine *.tex Dateien im vim.


VIM - Vi IMproved 7.1 (2007 May 12, compiled Sep 14 2007 02:21:56)
Inklusive der Korrekturen: 1-42
Verändert von Gentoo-7.1.042

Wie man sieht, unter Gentoo.

Nun ist mir folgendes passiert:

Nachdem ich eine Datei nur zum Teil bearbeitet, und dann geschlossen und beim öffnen weiter bearbeitet habe, ließ sich diese mit deutschen Umlauten nicht mehr übersetzten.
Fehlermeldungen sind:


! LaTeX Error: Command \textcurrency unavailable in encoding T1.

Oder auch:


! Package inputenc Error: Keyboard character used is undefined
(inputenc) in inputencoding `latin1'.

Interessant ist dabei, dass es immer nur dann passiert, wenn ich eine Datei schließe und danach mit vim neu öffne. Den gleichen Inhalt der Datei mit in eine neue Datei geschrieben, die erst am Ende geschlossen wird, kompiliert ohne probleme (ich habe das jetzt anhand von 3 Tests verifizieren können).

Ignoriert man den Fehler, sind die Umlaute verhunzt, editiert man die Datei, werden die Umlaute dort richtig dargestellt.

Interessanterweise erkennt vim auch erst bei erneutem öffnen der Datei die Syntax, und wendet sein Syntaxhighlighting an.
Also muss es wohl irgendwas mit vim und dem Syntaxhighlighten zu tun haben, sprich, die Datei wird danach nicht mehr richtig encodiert?

Hat da jemand eine Lösung für dieses Problem?


Hier noch die Version von latex und meine tex-Datei:


pdfeTeX 3.141592-1.30.5-2.2 (Web2C 7.5.5)
kpathsea version 3.5.5
LaTeX2e <2003/12/01>



\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{ngerman}
\begin{document}

Die Hobbits sind kleine Leute, \emph{kleiner noch als Zwerge}:
das heißt, weniger stämmig und kräftig, obwohl sie es in der Länge eigentlich mit ihnen aufnehmen können. \emph{ Ihre Größe ist unterschiedlich und shcwankt zwischen zwei und vier Fuß} nach unseren Maßen. Heute werden sie selten größer als drei Fuß; aber sie seien geschrumpft, behaupten sie, und in alten Zeiten größer gewesen.

\textit{
Nach dem Roten Buch maß \emph{Bandobras Tuk} (Bullenraßler), Sohn von Isegrim dem Zweiten, sogar vier Fuß und fünf Zoll und konnte ein Pferd reiten.
}

\end{document}

Danke für die Hilfe!

rais
07-10-2007, 18:45
Hallo und Herzlich Willkommen :)


Zitat:
! LaTeX Error: Command \textcurrency unavailable in encoding T1.

das passiert mir immer dann, wenn ich ein utf-8-kodiertes Dokument mit eben \usepackage[latin1]{inputenc} zu kompilieren.
Was passiert bei


\usepackage[utf8]{inputenc}%latin1
?
D. h. schau Dir vielleicht einfach mal selinput an;-)

MfG,

PygoscelisPapua
08-10-2007, 10:11
Gracias! Deine Lösung hilft mir weiter. In der Tat kompilieren die *.tex Dateien wenn ich die Zeile:

\usepackage[latin1]{inputenc}
durch

\usepackage[utf8]{inputenc}%latin1
ersetzte.

Aber wie gesagt, interessanterweise nur wieder, wenn das Dokument vorher geschlossen und erneut geöffnet wurde.

Wenn ich jetzt von anfang an ein Dokument mit dieser Zeile versehe, und nicht zwischendurch vim neustarte, dann kompiliert diese Datei wiederum nicht.
Fehlermeldung:


! Package inputenc Error: Unicode char \u8:äöü not set up for use with LaTeX.

Fazit müsste also sein:
Wenn ich mein Dokument mit vim erstelle, dann wird es in ganz normalem latin1 abgespeichert. Sobald ich es allerdings schließe und erneut öffne, findet die Darstellung und Speicherung in utf8 statt.

Also entweder ist mein vim komisch, oder ich hab irgendwas im System verhunzt. Ich glaube, ich werde mal mein System komplett nach utf8 umstellen...