Ich nutze die Schriftart XCharter und bin mit ihr auch sehr zufrieden. Das einzige Problem was ich mit ihr habe ist, dass sie anscheinend kein Euro-Symbol besitzt (bleibt in der Ausgabe leer). Ich suche daher schon seit langem nach einer Lösung ein einzelnes Zeichen einer Schriftart mit dem einer anderen zu ersetzen.

Ich verwende XCharter über fontspec in LuaLaTeX, aber auch in der pdflatex-Variante fehlt das Euro-Symbol.

Meine Frage lautet daher: Wie bekommt man ein adäquates Euro-Symbol für Xcharter sowohl mit fontspec als auch dem xcharter-Paket hin. Wenn das Zeichen aus einer anderen Schriftart genommen wird - welche Schriftart würde stilistisch zur Charter passen?

Als Grundlage folgendes Minimalbeispiel:

Open in writeLaTeX
\documentclass{scrartcl}
\usepackage{ifluatex}

\ifluatex
    \usepackage {luatextra}
    \setmainfont{XCharter}
\else
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{xcharter}
\fi

\begin{document}    
    XCharter ist eine schöne Schriftart aber leider hat sie kein "€"-Symbol.
\end{document}

gefragt 09 Sep '14, 12:57

Sylvan's gravatar image

Sylvan
38951117
Akzeptiert-Rate: 0%

Sehr gutes Beispiel!

(09 Sep '14, 14:51) gast3

Du könntest beispielsweise das offizielle Euro-Symbol verwenden:

Open in writeLaTeX
\documentclass{scrartcl}
\usepackage{ifluatex}

\ifluatex
    \usepackage {luatextra}
    \setmainfont{XCharter}
\else
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{XCharter}
\fi
\usepackage{eurosym}

\begin{document}    
    XCharter ist eine schöne Schriftart aber leider hat sie kein "\euro"-Symbol.
\end{document}

Das Paket stellt AFAIR auch noch weitere Versionen eines Euro-Symbols bereit.

Wenn man will, kann man auch das Zeichen »« direkt ersetzen. Das geht für pdfLaTeX mit \DeclareUnicodeCharacter und für LuaLaTeX und XeLaTeX mit einem aktiven Zeichen:

Open in writeLaTeX
\documentclass{scrartcl}
\usepackage{ifluatex}

\usepackage{eurosym}
\ifluatex
    \usepackage {luatextra}
    \setmainfont{XCharter}
    \catcode`\€=\active
    \let€=\euro
\else
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{XCharter}
    \DeclareUnicodeCharacter{20AC}{\euro}
\fi

\begin{document}    
    XCharter ist eine schöne Schriftart aber leider hat sie kein "€"-Symbol.
\end{document}

Nicht zu empfehlen ist, das €-Zeichen aus irgend einem anderen Font zu verwenden. Prinzipiell gibt es zwei Fälle für Eurozeichen in Fonts: Entweder ist es an den Font speziell angepasst oder es handelt sich um das Originalzeichen. Die Verwendung des Originalzeichens lässt sich immer damit begründen, dass nun einmal genau dieses Zeichen das offizielle Euro-Zeichen ist. Das angepasste Euro-Zeichen aus einem anderen Font sollte man hingegen nur verwenden, wenn es vom Stil zum tatsächlich verwendeten Font passt. Das zu beurteilen ist selbst für jemanden wie mich, der sich schon seit mehr als 25 Jahren hobbymäßig mit Typographie aber nicht so sehr mit Fonts beschäftigt nicht immer einfach. Das € aus Linux Libertine erscheint mir jedenfalls für Charter zu schmal:

Open in writeLaTeX
\documentclass{scrartcl}

% ACHTUNG BRAUCHT UNBEDINGT LuaLaTeX oder XeLaTeX!!!
\usepackage{fontspec}
\setmainfont{XCharter}
\catcode`\€=\active
\newfontfamily{\libertinefont}{Linux Libertine O}
\DeclareRobustCommand*\libertineeuro{{\libertinefont\char 8364 }}
\let€=\libertineeuro

\begin{document}
    XCharter ist eine schöne Schriftart aber leider hat sie kein "€"-Symbol
    Libertine hat aber ein \libertineeuro.
\end{document}

Natürlich kann man – zumindest für XeLaTeX und LuaLaTeX – die hier gezeigte Definition von \libertineeuro auch mit der Lösung von @Henri, also der Verwendung von newunicodechar kombinieren.

Die entsprechende Lösung für pdfLaTeX habe ich nicht angegeben, weil ich dazu erst einmal hätte schauen müssen, in welcher Font-Family mit welchem Encoding das € bei der Linux-Libertine-Einbindung für pdfLaTeX zu finden ist, damit ich diese per \fontfamily{…}\fontencoding{…}\selectfont oder direkt per \usefont auswählen könnte.

Permanenter link

beantwortet 09 Sep '14, 14:43

gast3's gravatar image

gast3
(ausgesetzt)
Akzeptiert-Rate: 53%

bearbeitet 09 Sep '14, 18:27

Tja was soll man da noch mehr sagen als: Dankeschön.

Was mir allerdings noch nicht ganz klar ist: Geht das auch, dass ich statt dem eurosym-Paket das EuroZeichen aus z.B. der Linux Libertine-Schriftart oder irgendeiner anderen beliebigen nehme?

(09 Sep '14, 15:36) Sylvan

@Sylvan Aus irgend einer Schrift würde ich es nicht nehmen. Begründung mit Hinweis, wie es trotzdem geht in der erweiterten Antwort.

(09 Sep '14, 17:29) gast3

Vielen Dank - frag nicht wie lange ich das Netz nach dieser Lösung durchforstet habe und nichts gefunden habe.

Das der Euro aus der Libertine nicht zur XCharter passt war mir schon klar. War nur als Beispiel gedacht weil die Libertine überall zur Verfügung steht. Ich habe hier noch eine Charter rumliegen - aus der nehme ich dann den Euro.

(09 Sep '14, 18:38) Sylvan

Es ist aber ein Fehler des xcharter-Pakets, dass es bei der Kompilation mit pdflatex gar nichts zeigt. Es sollte den textcomp-Subset korrekt deklarieren, damit zumindest das gefakte € gezeigt wird:

Open in writeLaTeX
\documentclass{scrartcl}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{xcharter}
    \DeclareEncodingSubset{TS1}{XCharter-TLF}{5}

\begin{document}
    XCharter ist eine schöne Schriftart aber leider hat sie kein €-Symbol.
\end{document}

Du solltest dem Autor schreiben.

Permanenter link

beantwortet 10 Sep '14, 11:47

Ulrike%20Fischer's gravatar image

Ulrike Fischer
3.6k23
Akzeptiert-Rate: 52%

Ich präsentiere zusätzlich eine Lösung mittels des Pakets newunicodechar. Mittels \newunicodechar{€}{\euro} kann ich die Substitution einsetzen. Das Paket funktioniert übrigens mit allen Engines. Wichtig ist, dass Paket und der Aufruf \newunicodechar{...}{...} NACH der Schriftauswahl stehen muss.

Open in writeLaTeX
\documentclass{article}
\usepackage{ifluatex}
\usepackage{eurosym}
\ifluatex
  \usepackage{luatextra}
  \setmainfont{XCharter}
\else
  \usepackage[utf8]{inputenx}
  \usepackage{XCharter}
\fi
\usepackage{newunicodechar}
\newunicodechar{}{\euro}

\begin{document}    
    XCharter ist eine schöne Schriftart aber leider hat sie kein "€"-Symbol.
\end{document}

alt text

Permanenter link

beantwortet 09 Sep '14, 17:57

Henri's gravatar image

Henri
15.7k133943
Akzeptiert-Rate: 46%

bearbeitet 09 Sep '14, 18:20

Auch dir vielen Dank. Das macht die Sache noch einfacher und übersichtlicher.

(09 Sep '14, 18:38) Sylvan
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×10
×1

gestellte Frage: 09 Sep '14, 12:57

Frage wurde gesehen: 11,295 Mal

zuletzt geändert: 10 Sep '14, 11:47