Encoding, Umlaute, Textmate, Probleme

Editoren wie TexWorks, TeXmaker, TeXstudio, TeXnicCenter, Kile, LyX, vi, Emacs und Co.


hokage
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Di 30. Sep 2014, 22:20

Encoding, Umlaute, Textmate, Probleme

Beitrag von hokage »

Hi Leute,

ich bin komplett neu in der Latex-Welt. Aus meiner ausgiebigen Internetrecherche schließe ich, dass ich nicht der Erste bin mit diesem Problem, eine befriedigende Lösung konnte ich für mich jedoch nicht finden. Daher dieser Thread.

Ich habe mir auf Mac OS X 10.9 die Mactex Distribution installiert und mich als Editor für Textmate und Viewer für Skim entschieden. Soweit so gut. Das Setup hat funktioniert und ich konnte ein wenig herum experimentieren.

So sieht mein einfaches Latex Dokument aus:
\documentclass[a4paper,12pt]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\begin{document}
Text mit Umlauten äöüß
\end{document}
In den Textmate Einstellungen ist für das Encoding utf8 eingestellt und das .tex file ist mit utf8 abgespeichert. Klasse alles funktioniert super beim Kompilieren.
Sobald ich jedoch aus einem fertigen PDF Dokument einen Textteil via Copy and Paste ergänze, gibt es beim Kompilieren Probleme. Meine Recherche hat ergeben, dass es daran liegt, dass der kopierte Text ein anderes Encoding (meist latin1) inne hat.
Die einmal in utf8 gespeicherte tex Datei neu in der anderen Kodierung latin1 abzuspeichern scheitert daran, dass Textmate mir das Speichern in dieser Kodierung versagt. Es folgt eine Fehlermeldung und nur utf8 wird akzeptiert. Bei einem komplett leeren, neuen Tex Dokument ist beim Speichern noch jede Kodierung möglich. Auch das Umändern der Encoding Einstellung in Textmate hat keine Auswirkungen. Einmal in utf8 angefangen, kann man es nicht mehr ändern.

Jetzt das Problem. Mangels einer autmatischen Rechtschreibkorrektur, werde ich meine Arbeiten sicher nicht direkt im Editor tippen. Vielmehr würde ich den Text in Word tippen und via Copy and Paste in Latex kopieren. Dies scheint jedoch zumindest in Textmate nicht zu funktionieren, da es dann Fehlermeldungen beim Kompilieren hagelt. Auch wenn die Datei noch einmal neu als utf8 abgespeichert wird.
Mein Wunsch wäre. Egal von wo ich Text in den Editor kopiere und egal welches ENcoding der kopierte Text vorher hatte. Durch ein erneutes Abspeichern der Tex Datei mit utf8 als Encoding und der utf8 Einstellung in Textmate sollte im Anschluss das Kompilieren ohne Probleme funktionieren. Dies ist leider nicht so...

Kennt sich evtl. jemand mit Textmate aus, oder hat jemand eine andere Lösung? Für mich als Neuling ist es unvorstellbar, dass es da keinen Weg für gibt, da das Kopieren von Text in den Editor etwas Elementares ist und das Encoding nicht solche Probleme verursachen sollte. Oder tippen sämtliche Latex Nutzer ihren Text immer direkt im Editor? Da Tausende Latex lieben und es nutzen, gehe ich also davon aus, dass ich etwas übersehen habe. Ich hoffe mein Problem ist klar geworden :D

Vielen Dank für eure Hilfe!

hokage

Ps: Da ich gerade an einem anderen Computer und nicht zu hause bin, kann ich aktuell keine genauen Fehlermeldungen, etc. zitieren, oder via Screenshot anhängen. Vll. kann meine Frage ja auch so schon beantwortet werden. Ansonsten werde ich die Fehlermeldungen nachreichen.

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Ja, ich tippe alles in meinem Editor.

Text aus einer pdf oder Word-Dokumenten zu kopieren ist meist evil.
Wenn du eine Rechtschreibkorrektur haben willst, dann such dir eine. Es gibt genügend tools, welche das an plain-text Dateien machen.

Ispell, aspell, hunspell. Egal was du nimmst, letztendlich bist du verantwortlich.

Editoren wie texmaker und TeXstudio kommen mit eingebauter Rechtschreibhilfe.

Denk daran, der Editor ist eine Hilfe für dich, kein absoluter Diktator. Du kannst frei wählen.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4297
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Copy & Paste fügt kein latin1 in eine utf8-Datei ein. Deine Probleme liegen woanders. Abgesehen schreibe auch einfach in meinem Editor.

hokage
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Di 30. Sep 2014, 22:20

Beitrag von hokage »

Danke für die Antworten! Die Rechtschreibkorrektur ist ein guter Hinweis und das Tippen im Editor umgeht das Problem natürlich erfolgreich.
Dennoch muss es ja möglich sein via Copy and Paste Text von irgendwo, sei es dem Internet, einem PDF, Word, Pages, oder Text Dokument in den Latex Editor einzufügen. Unabhängig von dem ursprünglichen Encoding des kopierten Textes.

@u_fischer: Nicht dass du mich falsch verstehst. Der Latex Code verändert sich natürlich nicht durch Copy and Paste. im Package inputenc steht immer noch utf8 und das Dokument wird von mir in Textmate erneut mit utf8 encoding abgespeichert. Die Encoding Einstellung unter Preferences ist auch utf8.
Kompiliere ich ohne erneute Speicherung der .tex Datei mit utf8 Encoding erhalte ich folgende Fehlermeldung:
https://www.dropbox.com/s/ekf5xcpf3fa0q ... 8.png?dl=0

Wenn ich die Datei erneut abspeichere mit utf8 Encoding spuckt er keine Fehlermeldung aus, sondern erstellt mir ein PDF Dokument in dem anstelle der Umlaute die entsprechenden Vokale stehen (keine Pünktchen).
Lösche ich nun den eingefügten Text, speichere erneut ab und schreibe selber einen Text mit Umlauten, so werden diese völlig normal angezeigt...

Also, hat jemand eine Lösung, oder Erklärung für meine Frage? Evtl. nutzt hier ja jemand auch Textmate und kann das Problem reproduzieren.
Schon einmal vielen Dank für eure Hilfe!

Grüße hokage

Ps: Ich denke nicht, dass das Problem am Editor liegt, aber wenn dem so ist werde ich mal einen anderen testen.

*Edit: In Texshop selbiges Problem, nur dass er hier nach dem erneuten Abspeichern der .tex Datei noch immer die Fehlermeldung anzeigt. Texmate hatte danach kompiliert, jedoch die Umlaute nur als Vokale dargestellt...

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4297
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

@u_fischer: Nicht dass du mich falsch verstehst.
Ich habe dich nicht missverstanden.


Kompiliere ich ohne erneute Speicherung der .tex Datei mit utf8 Encoding erhalte ich folgende Fehlermeldung:
Du kopierst irgendein Zeichen für die es (noch) keine korrekte Definition gibt. Möglichkeiten sind z.B. irgendwelche "non breaking spaces" oder Trennmarkierungen.

Möglich ist auch, dass die Umlaute nicht direkt sondern in der Form "Grundbuchstabe + combining accent" kopiert werden. Der Mac macht das manchmal:

"This means that when you paste a <U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS> from Preview to some applications, it will be decomposed into <U+004F LATIN CAPITAL LETTER O, U+0308 COMBINING DIAERESIS>."

In diesem Fall musst du im Editor den zerlegten Umlaut wieder durch die richtige Eingabe ersetzen.

hokage
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Di 30. Sep 2014, 22:20

Beitrag von hokage »

Ok sehr gut :D
Das Problem scheint an en Umlauten zu liegen. Ersetze ich die kopierten Umlaute durch das direkte Eingeben dieser im Dokument gibt es kein Problem. Super. Nur kann das für mich nicht des Rätsels Lösung sein. Händisch sämtliche Umlaute raussuchen und diese neu einzutippen wäre mir viel zu aufwendig. Es gibt bestimmt eine Funktion, die mir die Umlaute automatisch ersetzt, aber die ganz feine Art wäre das auch nicht. Gibt es nicht die Möglichkeit das komplette tex File nach der Copy and Paste Aktion irgendwie sauber und komplett in utf8 zu konvertieren? Das erneute Abspeichern mit utf8 Kodierung scheint ja nicht zu funktionieren.

Danke für Deine Mühe und die Antwort :D

*Edit: Um Unklarheiten vorzubeugen. Nach der Copy and Paste Aktion sehen die Umlaute in der Tex Datei völlig normal aus. Zerschossen sind sie nicht. Trotzdem funktioniert das Kompilieren erst dann richtig, wenn ich das kopierte ä lösche und manuell ein neues ä an der Stelle einfüge.

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4297
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

hokage hat geschrieben:Gibt es nicht die Möglichkeit das komplette tex File nach der Copy and Paste Aktion irgendwie sauber und komplett in utf8 zu konvertieren?
Die Datei ist sauberes utf8. Sowohl U+00D6 also auch U+004FU+0308 sind zwei völlig legale Möglichkeiten in utf8 ein Ö zu kodieren. Aber pdflatex kann mit U+004FU+0308 nicht umgehen.

Warum du ein U+004FU+0308 bekommst, kann ich dir nicht sagen. Es kann sein, dass es bereits in der Urprungsdatei war. Es kann aber auch sein, dass der mac beim Kopieren versucht zu "normalisieren" und ein U+00D6 durch U+004FU+0308 ersetzt.

Ich kann dir auch nicht sagen, ob es in deinem Editor oder in deinem System eine Einstellungsmöglichkeit gibt, um die "decomposed"-Form U+004FU+0308 automatisch durch U+00D6 zu ersetzen. Ich habe keinen Mac.

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Letzlich kannst du mit suchen und ersetzen arbeiten, notfalls auch gescriptet. Allerdings liegt das Problem, wie Ulrike bereits sagte, auf Ebene des Betriebssystems.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

hokage
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Di 30. Sep 2014, 22:20

Beitrag von hokage »

So vielen Dank für eure Mühe :D
Ich bin soweit zu einer Lösung gekommen, die für mich akzeptabel ist.
Habe mir in Textmate ein Makro erstellt, welches alle Umlaute und Sonderzeichen findet und in das gleiche Zeichen ersetzt. Durch die erneute durch Textmate vorgenommene Eingabe passt so alles und beim Kompilieren gibt es keine Probleme und die Umlaute werden richtig angezeigt.

Sicherlich eine etwas gebastelte Lösung, aber wenn man jetzt von Kommilitonen Text erhält, den man in ein Latex Dokument einfügen soll, umgeht man so zumindest die Probleme mit der Kodierung.

Falls noch dennoch jemand eine andere Idee hat, bin ich natürlich trotzdem gewillt diese auszutesten :D

Also danke sehr für die Hilfe und vermutlich werde ich nicht das letzte mal hier im Forum fragen.

Grüße hokage

Antworten