Seite 1 von 1

selinput und das Eurozeichen

Verfasst: Fr 14. Jan 2011, 11:03
von Rainer
Hallo zusammen!

Folgendes Problem:
Ich verwende das selinput-Paket um plattform-unabhängig mit den Umlauten umzugehen, mit Textkodierung in UTF-8. Funktioniert soweit auch hervorragend. Nur das Eurozeichen macht Probleme.

Das folgende Minimalbeispiel läuft z.B. nicht (siehe auch Logfile):
\documentclass[ngerman]{scrartcl}
\usepackage{babel}
\usepackage{selinput}
\SelectInputMappings{%
	adieresis={ä},
	germandbls={ß},
	Euro={€}
	}
\begin{document}
Umlaute und sz: ä, ö, ü, Ä, Ö, Ü, ß
Euro: €
\end{document}
Der Lauf bricht nach Euro: mit folgender Meldung ab:
! Package inputenc Error: Unicode char \u8:€ not set up for use with LaTeX.
Ein Nachlesen in der inputenc-Doku ergibt dann:
For example, when entering a Euro symbol from the keyboard one may receive
this error rather than a typeset symbol. But if this happens the reason is simply
that the document doesn't load a font containing the Euro symbol,...
Soweit ich weis enthält Computer Modern doch das Eurozeichen, oder?

Wahrscheinlich ist die Lösung wieder ganz simpel und ich bin nur total vernagelt. Wäre aber trotzdem sehr nett wenn Ihr mir auf die Sprünge helfen könntet.

Servus und schon mal Danke im voraus!

Rainer

Nachvollziehbar

Verfasst: Mi 19. Jan 2011, 19:19
von localghost
Das Problem ist eindeutig nachvollziehbar. Und ich habe bis jetzt kein Schriftpaket gefunden, das ein €-Symbol enthält. Das könnte bei der Masse an verfügbaren Schriften auch ziemlich lange dauern. Mir stellte sich dieses Problem bis jetzt nicht.

Selbst wenn Du eine Schrift mit €-Symbol findest, muss sie dir nicht unbedingt gefallen. Und Du solltest da auch keine Kompromisse machen. Nimm das (offizielle) Symbol von eurosym (← Link!). Das sieht dann ganz brauchbar aus. Alles andere ist eh Murks. Ansonsten ginge auch marvosym (← Link!).

Nebenbei bemerkt solltest Du noch das so genannte »Cork Encoding« einschalten, das für europäische Sprachen empfohlen wird und die Trennung von Wörtern mit Sonderzeichen (hier Umlaute) verbessert.
\usepackage[T1]{fontenc}
Diese Zeile am besten vor dem jeweils verwendeten Schriftpaket einfügen.


Thorsten

Dann wohl mit eurosym

Verfasst: Mi 19. Jan 2011, 21:52
von Rainer
Ok, danke für die Information. Ich werde dann eurosym verwenden, wie Thorsten vorgeschlagen hat.

fontenc habe ich normalerweise immer mit dabei, habe es nur aus dem Minimalbeispiel entfernt um es wirklich auf das Wesentliche zu reduzieren.

Vielen Dank noch einmal an Thorsten!


Schönen Abend!

Rainer

Verfasst: Mi 19. Jan 2011, 21:59
von phi
In diesem Fall reicht es, das textcomp-Paket zu laden. Das Eurozeichen, das man dann bekommt, sieht aber, um es freundlich auszudrücken, etwas ungewöhnlich aus. Für ein etwas traditionelleres Zeichen sollte man das lmodern-Paket laden (das empfiehlt sich generell immer, wenn man kein anderes Schriftpaket benutzt). Wie von Thorsten bereits erwähnt, sollte man auf die T1-Kodierung umschalten. Dann kommt man auf die folgenden Pakete:
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{textcomp}
Wenn man die Eurozeichen aus dem eurosym-Paket benutzen möchte, muss man nach dem Laden aller Pakete den Befehl \texteuro umdefinieren:
\usepackage{eurosym}
\renewcommand*{\texteuro}{\officialeuro}

zusammenfassend

Verfasst: Do 20. Jan 2011, 09:47
von Rainer
Zusammenfassend muss man also sagen, dass man sich
Euro={€}
bei Verwendung des selinput-Pakets sparen kann, da das Eurosymbol kaum in Fonts hinterlegt ist und man eh besser das offizielle Symbol benutzt.

Für mich persönlich werde ich um das Eurozeichen nutzen zu können wie folgt vorgehen (hier Latin Modern anstatt Computer Modern):
\documentclass[ngerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{selinput}
\SelectInputMappings{%
	adieresis={ä},
	germandbls={ß},
	Euro={€}						% schadet nichts, bringt bei lmodern aber auch nichts
	}
\usepackage{babel}
\usepackage{textcomp}
\usepackage{eurosym}
\renewcommand*{\texteuro}{\officialeuro}
\begin{document}
Umlaute und sz: ä, ö, ü, Ä, Ö, Ü, ß;
Euro alleinstehend: €;
Betrag: 1234,56€, oder mit kleinem Abstand vom Betrag \EUR{1234,56}
\end{document}
Nochmals Danke an localghost (Thorsten) und Phi.

Rainer