Schriften LATEX-Kurs der Unix-AG
Steffen Wolf 2. Juli 2008
Schriften Übersicht: ◮ ◮ ◮ ◮
Kleine Schriftenlehre Einfache Pakete zur Schriftwahl Was im Hintergrund passiert Warum sehen meine Dokumente so komisch aus?
Steffen Wolf
Schriften
2. Juli 2008
1 / 45
Fontbefehle ◮ \textrm{ ... }: ◮ ◮
Serifenschrift (Roman) \textsf{ ... }: serifenlos \texttt{ ... }: (Tele-)Typewriter
◮ \textmd{ ... }: ◮
Schriftstärke medium \textbf{ ... }: Schriftstärke fett
◮ \textup{ ... }: ◮ ◮ ◮
senkrecht \textit{ ... }: kursiv \textsl{ ... }: schräggestellt \textsc{ ... }: Kapitälchen
◮
}:
Text hervorheben \textnormal{.}: Normaleinstellungen
◮ \emph{
Steffen Wolf
...
Schriften
2. Juli 2008
2 / 45
Fontbefehle . . . ◮ {\rmfamily ... }: ◮ ◮
Serifenschrift (Roman) {\sffamily ... }: serifenlos {\ttfamily ... }: (Tele-)Typewriter
◮ {\mdseries ... }: ◮
Schriftstärke medium {\bfseries ... }: Schriftstärke fett senkrecht {\itshape ... }: kursiv {\slshape ... }: schräggestellt {\scshape ... }: Kapitälchen
◮ {\upshape ◮ ◮ ◮
}:
Text hervorheben {\normalfont...}: Normaleinstellungen
◮ {\em ◮
... }:
Steffen Wolf
...
Schriften
2. Juli 2008
3 / 45
Fontbefehle . . . Kombinationen 1
\ t e x t s f {\ t e x t b f{ s e r i f e n l o s fett }} ◮
1
serifenlos fett
{\ s f f a m i l y\ b f s e r i e s s e r i f e n l o s fett } ◮
serifenlos fett
Es geht nicht alles: LaTeX Font W a r n i n g: Font shape ‘ T1 / aess / bx / sl ’ undefined ( Font ) using ‘ T1 / aess / bx /n ’ i n s t e a d on input line 14. Steffen Wolf
Schriften
2. Juli 2008
4 / 45
Schrifttypen Intern wird dies auf verschiedene Schriftkommandos abgebildet: Roman 1
\ rmdefault
( hier : pplx
n o r m a l: cmr )
Sans Serif 1
\ sfdefault
( hier : aess n o r m a l: cmss )
Typewriter 1
\ ttdefault
( hier : aett n o r m a l: cmtt )
Die drei Schriften entstammen idealerweise einer Schriftenfamilie. Etwa cm*: Computer Modern Steffen Wolf
Schriften
2. Juli 2008
5 / 45
Schriftdateien Dazu sucht LATEX nach diesen Schriftdateien: ◮ pplb8 für ppl (Palatino) Bold ◮ pplr8 für ppl (Palatino) Roman ◮ aess10 für ae (Almost European) Sans Serif ◮ aett10 für ae (Almost European) TeleTypewriter Dateiendungen: ◮ .afm: ASCII Font Metric ◮ .tfm: TEX Font Metric ◮ .vf: Virtual Font Wo wird gesucht: ◮ /usr/share/texmf/fonts/* ◮ /usr/local/share/texmf/fonts/* Steffen Wolf
Schriften
2. Juli 2008
6 / 45
Schriftdateien Beispiel einer tetex-Installation: / usr / share / texmf / fonts / afm / adobe / p a l a t i n o/ p p l r 8 a. afm / usr / share / texmf / fonts / tfm / adobe / p a l a t i n o/ p p l r 8 c. tfm / usr / share / texmf / fonts / tfm / adobe / p a l a t i n o/ p p l r 8 r. tfm / usr / share / texmf / fonts / tfm / adobe / p a l a t i n o/ p p l r 8 z. tfm / usr / share / texmf / fonts / tfm / adobe / p a l a t i n o/ p p l r 8 r n. tfm / usr / share / texmf / fonts / tfm / adobe / p a l a t i n o/ p p l r 8 a. tfm / usr / share / texmf / fonts / tfm / adobe / p a l a t i n o/ p p l r 8 t. tfm / usr / share / texmf / fonts / vf / adobe / p a l a t i n o/ p p l r 8 t. vf / usr / share / texmf / fonts / vf / adobe / p a l a t i n o/ p p l r 8 z. vf / usr / share / texmf / fonts / vf / adobe / p a l a t i n o/ p p l r 8 c. vf
Steffen Wolf
Schriften
2. Juli 2008
7 / 45
Schriftdateien Die *.afm- und *.tfm-Dateien enthalten nur Fontmetriken. Beispiel: pplr8a.afm: 1 2 3 4 5 6 7 8 9 10 11
S t a r t F o n t M e t r i c s 2.0 F o n t N a m e Palatino - Roman F u l l N a m e P a l a t i n o Roman FamilyName Palatino ... C 43 ; WX 606 ; N plus ; B 51 7 555 512 ; C 97 ; WX 500 ; N a ; B 32 -12 471 469 ; C 98 ; WX 553 ; N b ; B -15 -12 508 726 ; C 102 ; WX 333 ; N f ; B 23 -3 341 728 ; L i fi ; C 174 ; WX 605 ; N fi ; B 23 -3 587 728 ; ...
Code, Breite, Name, Bounding Box, Ligaturen Steffen Wolf
Schriften
2. Juli 2008
8 / 45
Schriftdateien Die *.vf-Dateien enthalten Virtuelle Fonts. Was ist denn das? ◮
◮
◮
◮
Virtuelle Fonts kombinieren mehrere Schriften in einer Datei z. B. lagern einige Schriften die Ligaturen in andere Dateien aus z. B. enthalten einige Kapitälchenschriften nur die Kleinbuchstaben TEX kombiniert einfach die zusammengehörenden Schriften
Steffen Wolf
Schriften
2. Juli 2008
9 / 45
Schriftdarstellung Die bisherigen Dateien enthielten alle nur Metriken, doch wie wird der Buchstabe endlich dargestellt? Glyphen ◮
◮ ◮ 1 2 3
Die eigentlichen Glyphen liegen in *.pfa- oder *.pfb-Dateien vor *.pfa: Postscript Font ASCII *.pfb: Postscript Font Binary
/ usr / share / texmf / fonts / type1 / p u b l i c/ pl / plr8 . pfb / usr / share / texmf / fonts / type1 / p u b l i c/ urwvn / u p l r 8 v. pfb / usr / share / texmf / fonts / type1 / urw / p a l a t i n o/ u p l r 8 a. pfb
Steffen Wolf
Schriften
2. Juli 2008
10 / 45
Schriftensuche Und wie kommt man vom Schriftnamen zur Glyphendatei? Mappings TEX speichert Mappings von den Metriken zu den Glyphen. /usr/share/texmf/fonts/map/dvips/tetex/dvips35.map: 1
2
pplr 8 r Palatino - Roman " T e X B a s e1 E n c o d i n g R e E n c o d e F o n t " ? D E F G H I J K L MNO P QR S TU V W X Y Z [ \ ] ^ _ d e f g h i j k l mn o p q r s t u v w x y z { | } ~ ˘ ´L L’ŁN ˝R ˇ Eˇ E˛ G ´ N ˇ O ´ Rˇ S´ Š S¸ Tˇ T¸ U ˝ U ˚ Ÿ Z´ Ž Z˙ IJ I˙ d¯ § D a˘ a˛ c´ cˇ d’ eˇ e˛ g˘ ´l l’ ł n´ nˇ o˝ r´ rˇ s´ š s¸ t’ ¸t u˝ u˚ ÿ z´ ž z˙ ij ¡ ¿ £ ÀÁÂà ÄÅÆÇ È ÉÊ Ë Ì Í Î Ï ÐÑÒÓ ÔÕ Ö Œ ØÙÚÛ ÜÝ Þ SS à á â ã ä å æ ç è éê ë ì í î ï ð ñ ò ó ô õ ö œ ø ùúû üý þ ß
Steffen Wolf
Schriften
2. Juli 2008
26 / 45
Zeichentabelle (aer) `´ˆ˜ ! ”# @ABC ‘ ab c ˘ ´C ˇ AA֒ C ˘a a֒ ´c ˇc ` ´A ˆA ˜ AA `a ´a ˆa ˜a
Steffen Wolf
¨ ˝˚ˇ ˘¯ ˙ ¸ $ %& ’ ( ) *+ DE F G H I JK de f g hi jk ˇ ˇ EG ˘ ´LL’L N ´ DE ֒ d’ ˇe e֒ ˘g ´l l’ l n ´ ˚ ` ´ ˆ ¨ ¨ A AÆC ¸ E EE E a æ c¸ `e ´e ˆe ¨e ¨a ˚
, , - ./ LMNO l mn o ˇ ˝R ´ N O n ˇ ˝o ´r `I ´I ˆI ¨I `ı ´ı ˆı ¨ı ֒
“” ” 0123 PQR S pq r s ˇS ´S ˇ S¸ R ˇr ´s ˇs ¸s ˜O `O ´ N n ˜ `o ´o
Schriften
–— 45 6 7 TU V W tuvw ˇ ˝˚ TT ¸U U t’ ¸t u ˝˚ u ˆ ˜ ¨ OO O Œ ˆo ˜o ¨o œ
ı ff 89 : ; XYZ [ xyz{ ´Z ˇ Z˙ ¨Z Y y ¨ ´z ˇz z˙ `U ´U ˆ ØU øu `u ´u ˆ
fi flffiffl ? \ ] ˆ | }˜ IJ I˙ d¯ § ij ¡ ¿ £ ´ SS ¨Y U u ´ ß ¨y
2. Juli 2008
27 / 45
Zei hentabelle (cmr) ! "# ABC ` ab ¡¢ £ ÀÁÂ àáâã
Steen Wolf
$ %& ' ( ) *+ DE F G H I JK de f g hijk
¤¥ § ¨ ©ª« ÄÅÆÇ ÈÉÊË äåæç èéêë
Æ , - ./ LMNO l mn o Ǒ ¬®¯ Ì Í Î Ï ì í î ï
0123 PQR S pq r s °±²³ ÑÒÓ ðñòó
S hriften
45 6 7 TU V W tuvw ´µ ¶ · ÔÕ Ö × õ ö ÷
89 : ; XYZ [ xyz{ ¸¹º» ØÙÚÛ øùúû
? \ ℄ ^_ | }~ ¼½ ¾ ¿ ÜÝ Þ ß üýþ ÿ
2. Juli 2008
28 / 45
Fremdländisches ◮ 1 2 3 4 5 6
Russki zyk
\ u s e p a c k a g e[ T 2A , T 1]{ f o n t e n c} \ u s e p a c k a g e[ ot 2 enc ]{ i n p u t e n c} \ u s e p a c k a g e[ russian , g e r m a n ]{ babel } ... {\ cyr N a p i s h i t e malyi r u s s k i\ U { i } tekst .} Zur " uck zu D e u t s c h. ◮
Napixite malyi russki tekst. Zurück zu Deutsch.
◮
ili:
4
\ u s e p a c k a g e[ T 2 A ]{ f o n t e n c} \ u s e p a c k a g e[ utf 8 x ]{ i n p u t e n c} \ u s e p a c k a g e[ r u s s i a n ]{ babel } ...
5
test
1 2 3
Steffen Wolf
Schriften
2. Juli 2008
29 / 45
Chinesisch
Japanisch
Koreanisch
CJK 1 2 3 4 5
7
8 9
\ u s e p a c k a g e{ CJK } \ u s e p a c k a g e[ utf 8]{ i n p u t e n c} ... \ begin { CJK }{ UTF 8}{ song } \ C J K n o s p a c e % s c h a l t e t L e e r z e i c h e n ab % Hier c h i n e s i s c h/ j a p a n i s c h/ k o r e a n i s c h weiterschreiben 文字 / 日本語 / 㲢㒘 \ end { CJK }
Steffen Wolf
Schriften
2. Juli 2008
30 / 45
文字
日本語
㲢㒘
Ergebnis ◮ ◮ ◮ ◮
こんにちは 世界 こんにちは世界 Hello World! Καλη¼ρα κÌσ¼ε
Installation ◮ ◮
Ist etwas schwieriger . . . http://www.durun.cn/?p=336
Steffen Wolf
Schriften
2. Juli 2008
31 / 45
Arabisch 1 2 3 4 5 6 7
éJ
K. QªË
\ u s e p a c k a g e{ a r a b t e x} \ begin { a r a b t e x t} a b c -- abc \\ b c d -- bcd \\ : b e f -- : bef \\ bh l u b -- bhlub \ end { a r a b t e x t}
B éK Yj K . .
l'. h H .
' Ym X h H . . K. ¬ H .. .
IÊîE. H È éK. . .
Besondere Schwierigkeiten: ◮ ◮ ◮ ◮ ◮
Umgekehrte Schreibrichtung Alle Buchstaben werden zusammengefaßt Vokale bestenfalls angedeutet Transkription gewöhnungsbedürftig Mehr Info: arabtex.doc
Steffen Wolf
Schriften
2. Juli 2008
32 / 45
Hebräisch 1 2
{ -
\ u s e p a c k a g e[ english , h e b r e w ]{ babel } ...
Besondere Schwierigkeiten: ◮ Umgekehrte Schreibrichtung ◮ Richtungswechsel mit \L{normal} ◮ Sprachwechsel mit \unsethebrew und \sethebrew ◮ Richtungswechsel dann mit \R{mursredna} ◮
{ Ǒ
Eingabe in iso-8859-8
Alternative: ◮
Arabtex mit Paket \usepackage{hebtex}
Steffen Wolf
Schriften
2. Juli 2008
33 / 45
x +:ta .sM;~k
– Sanskrit
Sanskrit ◮ ◮
http://www.ctan.org/tex-archive/language/sanskrit/ Benötigt Preprozessor 1 2
◮
\ u s e p a c k a g e{ skt } {\ skt sa . msk . rta }
Wird umgewandelt in 1 2
Steffen Wolf
\ u s e p a c k a g e{ skt } {\ skt . sM ; s 1 k \ ZH { -12}{\ ZV {4}{ x }}+: ta }
Schriften
2. Juli 2008
34 / 45
tlhIngan Hol – tlhIngan Hol @ Klingonisch ◮ ◮ ◮ ◮
Einfachstes Beispiel der Schriftinstallation ftp://ftp.dante.de/pub/tex/fonts/klinz.zip Von Karl Günter Wünsch mit METAFONT nachgebildet Darin diese README: You s h o u l d run mf "\ mode := l o c a l f o n t ;" input klinz g f t o p k klinz .* gf Copy the now e x i s t i n g klinz . tfm and klinz .* pk to a place TeX knows about and you ’ re ready to go .
Steffen Wolf
Schriften
2. Juli 2008
35 / 45
tlhIngan Hol – tlhIngan Hol . . . Installation ◮
klinz.zip entpacken (klinz.mf und kligs.mf) nach / usr / local / share / texmf / fonts / s o u r c e s/ p u b l i c/ klinz /
◮
◮
mf (METAFONT) und gftopk aufrufen, um die Fontmetriken (*.tfm) und die Schriftbilder (*pk) zu generieren Die Fontmetriken gehören nach / usr / local / share / texmf / fonts / tfm / p u b l i c/ klinz /
◮
Die Schriftbilder gehören nach / usr / local / share / texmf / fonts / pk / p u b l i c/ klinz /
◮
mktexlsr aufrufen, um die neuen Dateien TEX bekanntzumachen
Steffen Wolf
Schriften
2. Juli 2008
36 / 45
tlhIngan Hol – tlhIngan Hol . . . Benutzung 1 2 3
\ font \ k l i n g o n= klinz ... {\ k l i n g o n Qapla ’} ◮
◮
◮
Qapla’
Die Schriftart kennt nur eine Größe, kein Fett, Kursiv und ähnliches Die *pk-Datei enthält eine Type-3-Schrift
Steffen Wolf
Schriften
2. Juli 2008
37 / 45
Nochmal was Technisches
Steffen Wolf
Schriften
2. Juli 2008
38 / 45
Type-3-Schriften Was ist das? ◮
◮ ◮ ◮
Vorberechnete Bitmap-Schriften für eine bestimmte Auflösung etwa: 300 dpi für Drucker Sehen in alten Acrobat Readern unschön aus Sollten durch Type-1-Schriften ersetzt werden
Steffen Wolf
Schriften
2. Juli 2008
39 / 45
Type-3-Schriften umwandeln ◮ ◮ ◮ ◮ ◮
TEXtrace kann Type-3-Schriften umwandeln http://www.inf.bme.hu/~pts/textrace/ Ist nicht so umständlich wie in der Readme angedroht Die *.pfb-Dateien müssen TEX bekanntgemacht werden Ebenso das Mapping der TEX-Fontnamen zur pfb-Datei
Steffen Wolf
Schriften
2. Juli 2008
40 / 45
Type-3-Schriften umwandeln . . . Beispiel: ◮ ◮
◮ ◮ ◮ ◮
Wir wandeln die klinz um Voraussetzung: klinz ist installiert und erzeugt Type-3-Schriften Aktuelles TEXtrace laden Autotrace kompilieren (erzeugt aus Bitmaps Vektordaten) Aufruf: ./traceall.sh klinz klinz.pfb 4000000 4 000 000?! Jedem Font wird eine UniqueID zugeordnet, 4-5 Mio sind frei
Steffen Wolf
Schriften
2. Juli 2008
41 / 45
Type-3-Schriften umwandeln . . . Ergebnis: ◮ ◮
Wir erhalten eine klinz.pfb Ab damit nach / usr / local / share / texmf / fonts / type1 / klinz / klinz . pfb
◮ 1
◮
Wir brauchen noch eine klinz.map: klinz TeX - klinz < klinz . pfb
Speichern in / usr / local / share / texmf / fonts / map / dvips / klinz . map
Steffen Wolf
Schriften
2. Juli 2008
42 / 45
Type-3-Schriften umwandeln . . . Noch ein paar Eintragungen: ◮
Aufruf: texhash && updmap --enable Map klinz.map
◮
Oder: Eintrag in / usr / local / share / texmf / web2c / u p d m a p. cfg
1 2
# K l i n g o n c o n v e r t e d with T e X t r a c e Map klinz . map
und Aufruf: texhash && updmap und fertig ◮
Testen mit latex tst && dvips -o tst.ps tst && gv tst
Steffen Wolf
Schriften
2. Juli 2008
43 / 45
Mehr Informationen Wer mehr wissen will, kann sich hier informieren: ◮
◮
◮
◮
◮
◮
TEX Font Guide:
http://www.forkosh.com/pstex/index.htm The LATEX Font Catalogue: http://www.tug.dk/FontCatalogue/ Russisch mit LATEX: http://www.capca.ucalgary.ca/~wdobler/doc/tex/ DE-TEX-FAQ: besonders Kapitel 9 und 10: http://www.dante.de/faq/de-tex-faq/ Truetype-Fonts unter TEX: http://www.radamir.com/tex/ LATEX-Fontliste: http://data12.da.funpic.de/LaTeX/Schriften/
Steffen Wolf
Schriften
2. Juli 2008
44 / 45
Ende
Danke für die Aufmerksamkeit Fragen, Anregungen?
Steffen Wolf
Schriften
2. Juli 2008
45 / 45
Verzeichnisse ◮
◮ ◮ ◮
Statt des hier angegebenen Verzeichnisses können auch die folgenden verwendet werden: /usr/share/texmf/ – Distribution /usr/local/share/texmf – Lokal für den Rechner $HOME/texmf/ – für den Nutzer
Steffen Wolf
Schriften
2. Juli 2008
46 / 45
Kodierungen ◮
◮ ◮
Standard ist OT1, doch T1 sollte verwendet werden, um das Trennen von Wörtern mit Umlauten zu ermöglichen T2A für Russisch nötig utf8 beißt sich mit lstlisting
Steffen Wolf
Schriften
2. Juli 2008
47 / 45
Schriften in PDFs einbetten latex tst && dvips -o tst . ps tst && p s 2 p d f \ tst . ps tst . pdf ◮ ◮
◮
Bindet einige Schriften ein, meist aber nicht alle Einige Verlage verlangen selbst das Einbinden der Standard-Postscript-Schriften (Times usw.) Dies hilft: dvips - Ppdf -o tst . ps tst p s 2 p d f 1 4 - d P D F S E T T I N G S =/ p r i n t e r tst . ps tst . pdf
◮
Nachprüfen mit: p d f f o n t s tst . pdf
Steffen Wolf
Schriften
2. Juli 2008
48 / 45
Ende
Danke für die Aufmerksamkeit Fragen, Anregungen?
Steffen Wolf
Schriften
2. Juli 2008
45 / 45