Hübschere Fonts unter LaTeX
Mein Ursprungsproblem:
Die LaTeX-Standardschriftart Computer Modern wird häufig so dünn, dass einzelne Linien auf dem Drucker fast verschwinden. Dem bin ich vor Jahren mal mit größeren Lettern entgegengetreten (explizite 12pt
-Einstellung in der \documentclass
), was aber letztendlich auch nicht so richtig toll war. Die Schrift ist und bleibt sehr dünn im Ausdruck.
Neulich war dann trotzdem mal wieder der Bindestrich im Wort „e-Mail“ auf dem Papier komplett unsichtbar: Typographie-Nerdrage!
Also mal gucken, wie man schönere Fonts in LaTeX hinbekommt.
(Hätte ich mich schon Jahre früher mit dem Thema beschäftigt, wäre vielleicht schon der Umstieg auf das lmodern
-LaTeX-Paket eine Lösung gewesen. Keine Ahnung, nicht ausprobiert jetzt.)
Wahl der Schriftart
Aus meiner Zeit der Font-, Design- und Typographierecherchen für das Blog-Redesign war mir schnell klar, dass ich OpenType-Schriftarten haben möchte. Die sind, wenn sie gut gemacht sind, einfach besser und können mehr als TrueType. Adobe hat mit den Source-Pro-Schriften einen schönen Font-Strauß mit diversen Features im Angebot, allesamt frei verwendbar. Source Code Pro nutze ich auch hier im Block für Quellcode.
Das einzige, was den Fonts aktuell noch fehlt und (nicht nur von mir) schon sehnsüchtig erwartet wird, ist die Kursivschrift in Source Serif Pro – die ist nämlich noch nicht fertig. LaTeX ersetzt dann unter Ausgabe einer Warnung einfach den regulären Schnitt. Da ich in Briefen eher selten kursiv schreibe und ich die anderen bereits vorhandenen Features wie z.B. echte Kapitälchen toll finde, ist diese Einschränkung für mich persönlich OK (jedenfalls glaube ich das momentan noch).[1]
Wenn das jemanden stört, der das hier nachkochen will, muss er sich eine andere Schriftart suchen :-) Oder die Standardschrift statt auf Source Serif Pro auf Source Sans Pro stellen, die hat einen echten Kursivschnitt.
Adobe Source Pro-Schriften lokal installieren
Die drei ausgesuchten Schriftarten habe ich so auf meinen Rechner bekommen:
- mkdir -p ~/.fonts/adobe-fonts
- cd ~/.fonts/adobe-fonts
- git clone --depth 1 --branch release https://github.com/adobe-fonts/source-serif-pro.git
- git clone --depth 1 --branch release https://github.com/adobe-fonts/source-sans-pro.git
- git clone --depth 1 --branch release https://github.com/adobe-fonts/source-code-pro.git
- fc-cache -v
Die einzelnen Repositories lassen sich danach auch mit git pull
aktualisieren. (Und wer das nicht für jedes Repo einzeln aufrufen will, der nehme dieses Makefile.)
Wer andere Schriften verwendet, muss sie lediglich Fontconfig beibringen. LuaLaTeX findet sie dann ganz von alleine.
Wahllos Debian-Pakete nachinstallieren
Ich hab hier Debian Stable (Jessie) und eine vorher nicht genau definierte TeX-Installation: Ich bin Speicher-knauserig und hatte (habe?) in aptitude Install Recommends
auf nein gesetzt, was immer mal wieder dazu führt, dass für irgendein obskures Feature etwas nicht installiert ist…
Bei mir war es also nötig, diese Pakete nachzuinstallieren:
texlive-luatex
texlive-xetex
lmodern
YMMV.
Header in Latex-Datei ändern
So fingen meine Briefe bisher an:
- \documentclass[12pt,ngerman]{g-brief}
- \usepackage[T1]{fontenc}
- \usepackage[utf8]{inputenc}
Umwandeln der LaTeX-Datei dann so:
- $ pdflatex datei.latex
Jetzt nach der Umstellung sieht das wie folgt aus:
- \documentclass[11pt,ngerman]{g-brief}
- \usepackage{fontspec}
- \setmainfont{Source Serif Pro}
- \setsansfont{Source Sans Pro}
- \setmonofont{Source Code Pro}
- \usepackage{microtype}
Und damit das Ganze auch umgesetzt werden kann, auf LuaTeX wechseln. PDF ist da schon das Standardausgabeformat:
- $ lualatex datei.latex
Die zuvor erwähnten 12pt
konnte ich jetzt wieder verkleinern, die Source-Pro-Fonts stehen dick genug im Futter.
Unicode ist Standard, Font- und Input-Encoding fallen weg.
Dann werden einfach die drei Standardfonts (Serif, Sans Serif und Monospaced) überschrieben.
Das LaTeX-Paket microtype
hat übrigens nichts direkt mit den Fonts zu tun, ist aber aus Typographiesicht trotzdem toll, cool und geil und geht auf LuaTeX so richtig ab. Einfach mitnehmen ;-) Da bin ich halt beim Googeln drüber gestolpert.
Nach der Umstellung
Erkenntnis aus der Erstellung der Beispieldokumente für das Foto: Während die Generierung nach altem Vorgehen nur eine halbe Sekunde benötigt, braucht das neue Vorgehen derer 13. Sooo oft brauche ich keine LaTeX-Dokumente, aber mein Workflow „Vorschau parallel zum Editor geöffnet, Tippfehler suchen, drei Mal pro Minute neu generieren“ ist empfindlich gestört.
Na ja, wenn das dauerhaft nervt, muss ich LaTeX mal auf meinen Desktops installieren. Momentan rendere ich das alles auf dem lahmen Server.
Wo ich jetzt den Ausdruck in der Hand habe, fällt mir auf, dass die Ziffern in Source Serif Pro erstaunlich serifenlos sind. Das werde ich mal weiter im Auge behalten, wie mir das gefällt, vielleicht gibt es dazu auch eine OpenType-Einstellung. Oder ich aktiviere Minuskelziffern, um mich zumindest etwas abzulenken, das sollte gehen. Das gibt man beim \set…font
mit, z.B. so:
- \setmainfont[Numbers=OldStyle]{Source Serif Pro}
(Das und viele weitere tolle Dinge findet man in der fontspec
-Doku.)
Und erschütternderweise kann Computer Modern wohl gar keine echten Kapitälchen, sondern macht es wie Word: einfach Großbuchstaben bei verkleinerter Schriftgröße verwenden, wodurch dann die Strichstärken abweichen. Hieß es nicht mal: „Nimm LaTeX, ist wie Buchdruck?“ Da habe ich von der Standardschrift mehr erwartet. (Zugegeben: Das ist mir jetzt auch erst nach ca. 20 Jahren LaTeX-Nutzung beim Betrachten der beiden Ausdrucke direkt nebeneinander aufgefallen…)
Quellenverzeichnis
Allgemein ist es gar nicht so einfach, zum Themenkomplex „Font LaTeX OpenType“ etwas Brauchbares zu finden, denn einzelne Suchergebnisse sind schnell mal 4 bis 11 Jahre alt und damit komplett überholt. Ich möchte nicht erst die komplette Historie aufarbeiten und vergleichende Literaturrecherche betreiben, was noch Gültigkeit hat und was mit welcher Programmversion überflüssig geworden ist… Ebenfalls nicht hilfreich ist, dass es heutzutage mehr als ein LaTeX gibt.
Also statt zu googeln mal direkt an passender Stelle geguckt: Die Dante-FAQ beschreibt den LaTeX-Teil ganz gut und hat wohl auch einen halbwegs aktuellen Stand.
Auf Stackoverflow habe ich mich dann in verschiedenen, nicht genauer notierten Postings informiert, was der Unterschied zwischen XeTeX und LuaTeX ist: Im Wesentlichen sind beides Weiterentwicklungen von TeX, LuaTeX ist besser erweiterbar (halt in Lua geschrieben), XeTeX hat(te) es eher mit Schriften. Inzwischen (auch schon wieder Jahre vergangen seit dem Beitrag) liegen beide vermutlich gleichauffer. Beim Rumprobieren funktionierte es dann wie oben beschrieben mit lualatex
, xelatex
hat dagegen irgendwelche Fontfehler geworfen. So hat dann LuaTeX den Zuschlag bekommen. Außerdem kann das microtype
-Paket laut seiner Doku unter LuaTeX mehr als unter XeTeX kann ;-)
Die Installationsanleitung für die OpenType-Schriften habe ich dagegen ganz langweilig aus der Doku der Adobe-Fonts selbst: von hier über hier nach hier.
K. Beul am um :
interessanter Artikel; aber schreibe e-Mail bitte so "E-Mail" (siehe Duden).
Nichts für ungut.
mitch am um :
Immerhin hätte ich ohne die Falschschreibung wohl nicht den Font gewechselt :-)