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, 06:57

Sylvan's gravatar image

Sylvan
284513
Akzeptiert: 75%

Sehr gutes Beispiel!

(09 Sep '14, 08:51) Ijon Tichy

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, 08:43

Ijon%20Tichy's gravatar image

Ijon Tichy
4.4k618

bearbeitet 09 Sep '14, 12: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, 09: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, 11:29) Ijon Tichy

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, 12:38) Sylvan

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, 11:57

Henri's gravatar image

Henri
10.0k31730

bearbeitet 09 Sep '14, 12:20

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

(09 Sep '14, 12: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, 05:47

Ulrike%20Fischer's gravatar image

Ulrike Fischer
2.2k13

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×7
×1

Frage gestellt: 09 Sep '14, 06:57

Frage wurde angeschaut: 2,515 Mal

Zuletzt aktualisiert: 10 Sep '14, 05:47