PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : include, Kodierung



DrHoas
24-04-2013, 11:53
Hallo,

ich hab ein größeres Dokument und arbeite deshalb mit \include. Bisher hab ich Windows XP und ein "altes" Texniccenter verwendet (sorry, ich weiß die Version nicht). Gestern hab ich auf meinem neuen Rechner (Win 7) MikTex usw. neu aufgespielt. Danach hat alles wunderbar funktioniert. Wenn ich allerdings im Center eine neue tex-Datei erstelle und diese mit include einbinden will, wird der Befehl komplett ignoriert. Wie gesagt, früher erstellte tex-Dateien werden eingebunden.
Ich hab's mal mit \input probiert, da wird die Datei eingebunden, allerdings werden Umlaute falsch dargestellt.
Im www hab ich gefunden, dass es an der Kodierung der Dateien liegt. In der Präambel verwende ich \usepackage[latin1]{inputenc}.
Kann mir jemand sagen, was ich machen muss, damit sowohl alte, als auch neue Dateien, korrekt eingebunden werden?

Dank und Gruß

Philipp

defcon
24-04-2013, 11:59
versuch mal utf8 anstatt latin1



\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage[T1]{fontenc}


Das funktioniert bei mir Plattformübergreifend.

DrHoas
24-04-2013, 12:10
Oh man, ich wollte es ordentlich machen und hab immer \include{xyz.tex} geschrieben. Die Dateiendung will er aber nicht. Mit \include{xyz} funktioniert alles.
Und das hat mich jetzt zwei Stunden gekostet :mad:

Wobei, ich seh grad hier:
http://en.wikibooks.org/wiki/TeX/includeonly
dass die Dateiendung eigentlich keine Rolle spielen dürfte.

Gruß

Philipp

klops
24-04-2013, 12:11
Allerdings müssen dann ggf. die alten Dateien, die noch in latin1 (oder eigentlich in ansinew) codiert sind, umcodiert werden. Einfacher ist eventuell bei latin1 zu bleiben (bzw. das in ansinew zu ändern) und TeXnicCenter die Codierung in den Einstellungen mitzuteilen. Für neue Dokumente schließe ich mich aber defcon bis auf die Tatsache, dass german die veraltete Rechtschreibung ist und die geltende Rechtschreibung mit ngerman ausgewählt wird, an.

Nachsatz: Oh doch! Die Dateiendung spielt sehr wohl eine Rolle. LaTeX will dann nämlich beispielsweise xyz.tex.aux als Hilfsdatei anlegen. Wenn man das auf einem Dateisystem macht, das keine zwei Endungen erlaubt, überschreibt das möglicherweise die xyz.tex! Das ist mir vor Jahrzehnten mal mit emTeX passiert und die das ganze mühsam geschriebene Kapitel war weg! Der wikibook-Eintrag ist schlicht falsch!

DrHoas
24-04-2013, 12:27
Ich hab an den alten Dateien nichts ändern müssen.

Durch die doppelte Dateiendung hab ich's gemerkt. Ich hatte auf einmal xyz.tex.aux-Dateien.

Philipp

klops
24-04-2013, 12:36
Wenn die Codierung mit \include korrekt ist, ist sie aber auch mit \input korrekt. Also hast Du sie eventuell durch Laden und Speichern bereits geändert. Keine Ahnung, ob das bei TXC so funktioniert.

DrHoas
25-04-2013, 10:20
Falls nochmal jemand über das Problem stolpert:

Der Fehler tritt "manchmal" bei Dateien auf, die Umlaute enthalten. Dann die entsprechende Datei mit dem TC öffnen --> "Speichern unter". Bei Kodierung steht jetzt "UTF-8". Das auf "ANSI" ändern --> Speichern und dabei die alte Datei überschreiben.

Gruß

Philipp

klops
25-04-2013, 22:11
Das Problem tritt auf, wenn man beispielsweise Dateien, die mit dem neuen TXC2 mit dessen voreingestellter Codierung UTF-8 erstellt wurden, in ein altes Dokument einbindet, das mit TXC1 erstellt wurde und in dem deshalb LaTeX erzählt wird, dass die Codierung latin1 ist. Statt die neuen Dateien in der Codierung ANSI zu speichern, kann man auch die alten Dateien in UTF-8 konvertieren und im Hauptdokument dann utf8 statt latin1 bei inputenc als Option angeben, wie defcon das vorgeschlagen hat.

Wobei eventuell noch zu erwähnen wäre, dass wenn man jetzt eben mit TXC2 die neuen Dateien in ANSI-Codierung speichert, man eigentlich bei inputenc statt latin1 auch ansi angeben sollte. Hätte man eigentlich schon früher bei TXC1 machen können/sollen.