PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Texnikcenter 2.02 - Probleme mit Umlauten und ß



HumanDelight
06-11-2013, 16:10
Hallo Leute,

habe mir neulich die neueste Version vom Texnikcenter gezogen. Wollte damit dann nach folgendem Minimalbeispiel einen Brief schreiben und es scheint, also ob der neue Release ein Problem mit z. B. Umlauten hat. Es kommt die Fehlermeldung, dass

"Command \textcurrency is unavailable in encoding OT1"



%Klassendefinition%
\documentclass[a4paper,12pt,latin1]{g-brief2}

%Defintion von sprachenspezifischen Paketen%
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}

\Name {}

\NameZeileA {{\bf Max Mustermann}}


\AdressZeileA {ABC Nr.}
\AdressZeileB {D-01234 Musterort}


\InternetZeileA {Muster@mail.com}

\RetourAdresse {Retour}

\Adresse {An\newline
pipapo}

\Betreff {Auszahlung Latex}

\Datum {\today}

\Anrede {Sehr geehrte Damen und Herren,}
\Gruss {Mit freundlichen Grüßen}{1cm}
\Unterschrift {Max Mustermann}

\Anlagen {}

\Verteiler {}

\begin{document}
\begin{g-brief}
ä
\end{g-brief}
\end{document}

Das Komische ist, dass es, wenn ich es im alten TexnikCenter compiliere und danach im neuen öffe und ausgeben will, funktioniert. Wisst Ihr, woran das liegt?

Danke, Gruß,
HD

bobmalaria
06-11-2013, 16:17
hat texniccenter vielleicht als default jetzt ut8 datei kodierung? wenn ja, dann lügst du tex sozusagen an wenn du behauptest das encoding ist latin1.

ansosnten ist g-brief glaube ich ziemlich veraltet. scha mal in die klassendatei g-brief2.cls und schau mal ob da vielleicht schon pakete gelden wenden die das encoding definieren.

gruss

HumanDelight
06-11-2013, 16:35
Danke für die schnelle Antwort.

Habe jetzt mal "nur" [utf8]{inputenc} geladen. Dann heißt es, dass es ein Optionclash gibt. Wo auch immer der herkommen soll.

Das Verrückte ist, dass ich nochmal versucht habe, die Datei im alten TexnikC zu öffnen&compilieren. Danach hat es im neuen TexnikC auch mit latin1 als inputenc-Option geklappt.

Sehr komisch. Nutzt du das neue TexnikC?

klops
06-11-2013, 17:02
Die Klasse g-brief2 lädt bereits selbst inputenc. Dummerweise versteht es kein utf8 als Option. Aber, wenn Du beim Laden von g-brief2 keine Encoding-Option (also insbesondere kein latin1) angibst, sollte es mit einem späteren \usepackage[utf8]{inputenc} oder
\usepackage{selinput}
\SelectInputMappings{
adieresis={ä},
germandbls={ß},
}

gelingen.

Im übrigen solltest Du bei Problemen immer ein vollständiges Minimalbeispiel (http://www.mrunix.de/forums/showthread.php?t=66921) angeben, das Dein Problem zeigt. Da Du das nach den Änderungen nicht gemacht hast, kann ich nur raten, dass obiges Dein Problem löst.

klops
06-11-2013, 17:03
hat texniccenter vielleicht als default jetzt ut8 datei kodierung?
Ja, seit Version 2.

HumanDelight
06-11-2013, 21:56
Hallo,

tritt der Fehler also nur bei der neuen Version von TexnikCenter (TC) auf, weil auf UTF8 umgestellt wurde?

Sorry, dass die Frage so "simpel" wirkt, aber da ich nur Tex-Anwender bin und nicht wirklich so tief in den Abläufen drin stecke, muss ich die Frage leider so dümmlich stellen.

Würde gerne selber ein wenig rumprobieren, bin aber die nächsten 36h nicht an meinem Rechner, auf dem ich Zugang zu beiden TC-Versionen habe.

Würde es gern verstehen, damit ich für mich die Entscheidung pro/contra neue Version treffen kann. Danke.

klops
07-11-2013, 06:10
Der Fehler tritt auf, weil die Datei in utf8-Codierung gespeichert wird, Du LaTeX aber erzählst, dass latin1-codiert sei.

Das ist nicht primär ein Problem von TXC, sondern ein Anwenderfehler. Dasselbe Problem hättest Du mit jedem anderen modernen LaTeX-Editor auch. Die haben alle utf8 als Voreinstellung. Und vergiss bitte, bitte den alten TXC. Der kann nämlich u. a. gar kein utf8. Wenn Du dort mal eine Datei aus fremden Quellen weiterverarbeitest, stehen die Chancen gut, dass Du ein Mischmasch von Codierungen als Ergebnis erhältst. Spätestens, wenn Du xelatex oder lualatex verwendest, ist utf8 ohnehin die Eingabecodierung der Wahl (dann allerdings ohne inputenc). Aber natürlich kann TXC2 auch mit ansinew als Eingabecodierung umgehen. Man muss ihn nur entsprechend einstellen. Beim Laden einer entsprechend Codierten Datei, macht er das normalerweise selbst. Übrigens war die Angabe latin1 nie wirklich ganz korrekt, denn in Wirklichkeit hast Du mit ansinew gearbeitet. Du hattest bisher einfach nur Glück, dass Du nur Zeichen verwendet hast, die auch in latin1 enthalten sind.

Und wie gesagt: Mit selinput statt Codierungsoption beim Laden von g-brief2 und statt dem expliziten Laden von inputenc, hättest Du das Problem gar nicht.

Und zum Schluss noch einen Tipp: Der Fehlermeldung nach, verwendest Du 7-Bit-codierte Fonts (OT1-Fontencoding). Dabei werden dann beispielsweise die Umlaute aus zwei Zeichen zusammengesetzt. Das wiederum führt dazu, dass Wörter mit Umlauten bei der Trennung (und damit beim Umbruch) nicht korrekt behandelt werden. Daher solltest Du beispielsweise durch
\usepackage[T1]{fontenc}
\usepackage{lmodern} die Ausgabecodierung von OT1 auf T1 umstellen.

Daniel
07-11-2013, 09:17
Hallo, ich schreibe auch mit Texnikcenter 2.02 und wegen IBAN und BIC benutze gbrief2, obwohl ich das alte g-brief konfiguriert habe und gerne im Gebrauch habe.

Die von Dir beschriebene Eigenarten habe ich nicht. Allerdings ist meine Eröffnung höchst einfach: "\documentclass[11pt,ngerman,latin9]{g-brief2}". Sowohl "Straße" als auch "Freundliche Grüße" werden korrekt wiedergegeben. Ich arbeite mit Windows XP.

Gruß

klops
07-11-2013, 17:21
Du speicherst Deine Dateien aber offenbar auch nicht utf8-codiert, sondern (vermutlich) latin9 codiert.

HumanDelight
07-11-2013, 20:49
Hi,

erstmal vielen Dank für eure Geduld.

Oh Gott, oh Gott. Ich habe ganz übersehen, dass in meiner alten Dok.klassendefinition bereits ein latin1 drin stand. Und wunderte mich dann, warum es einen OptionClash gibt/gab. Danke erstmal.

D. h. mein neuer "Header" (auszugsweise) sieht so aus:


%Klassendefinition%
\documentclass[a4paper,12pt]{g-brief2}

%Defintion von sprachenspezifischen Paketen%
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

Der funktioniert auch bis dato. Abschließend eine kurze Frage:
Ich hatte davor ja meine oldschool-latin1-Dok.klasse so definiert:


%Klassendefinition%
\documentclass[a4paper,12pt,latin1]{g-brief2}

Könnte ich das utf8 genauso in die eckige Klammer schreiben, wie das latin1? Hätte diese Art der Definition, wenn sie funktioniert, Vor-/Nachteile ggü. der etwas weiter oben im selben Beitrag geposteten?

klops
08-11-2013, 06:13
Könnte ich das utf8 genauso in die eckige Klammer schreiben, wie das latin1?
Diese Frage habe ich bereits in meinem ersten Kommentar beantwortet!


Die Klasse g-brief2 lädt bereits selbst inputenc. Dummerweise versteht es kein utf8 als Option.

Wobei man solche Fragen eigentlich nicht stellen muss, sondern einfach selbst ausprobieren kann …

BTW: Du solltest mal l2tabu (http://www.ctan.org/pkg/l2tabu) bezüglich der Verwendung von veralteten Befehlen wie \bf konsultieren.