Subject: TeX, LaTeX, DANTE e.V.: FAQ - Fragen und Antworten (Part 10 of 11)
From: [email-masked] (DANTE e.V., FAQ-Maintainer)
Date: 3 Feb 1997 11:28:07 GMT
Newsgroups: de.comp.text.tex,de.answers,news.answers

Posted-By: auto-faq 3.3 beta (Perl 5.003)
Archive-name: de-tex-faq/part10
Posting-Frequency: monthly
Copyright-Notice: siehe Abschnitt 1.1/see Section 1.1
URL: http://www.dante.de/dante/dante-faq.html

		Fragen und Antworten (FAQ) über

		   das Textsatzsystem TeX und
		       ~~~~~~~~~~~~~~~~~~
	DANTE, Deutschsprachige Anwendervereinigung TeX e.V.
	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

		 (Version 24 vom Februar 1997)

	=== Teil 10: Metafont und Schriften (Fortsetzung) ==

10.1) Die EC-Schriftfamilie und andere T1-kodierte Schriften
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

10.1.1) Wozu benötige ich neben der Computer-Modern-Schriftfamilie
        noch eine weitere Familie, die genau dasselbe Aussehen hat?

Die Schriften der Computer-Modern-(CM)-Familie enthalten nur jeweils
128 verschiedene Zeichen.  Es fehlen daher beispielsweise Umlaute und
alle akzentuierten Zeichen anderer europäischer Sprachen.  Diese
Zeichen müssen bei Verwendung der CM-Schriften durch eine
Box-Konstruktion aus Einzelzeichen zusammengebaut werden.  Da TeX zur
Trennung von Wörtern die Codes der Zeichen in der jeweiligen Schrift
verwendet, werden Wörter mit Umlauten nur unvollständig, fehlerhaft
oder überhaupt nicht getrennt.
  Diese Nachteile vermeiden die EC-Schriften, indem sie in die bisher
ungenutzten 128 Zeichenpositionen akzentuierte Zeichen legen.
Außerdem wurden die Positionen der `unteren' 128 Zeichen im Vergleich
zu den CM-Schriften klarer strukturiert.  So wurden die Positionen,
die in den CM-Schriften mit den griechischen Großbuchstaben belegt
sind, die für den mathematischen Formelsatz genutzt werden, in den
EC-Schriften mit Lettern für gewöhnlichen Text belegt.  So werden die
Zeichen für Text- und mathematischen Formelsatz sauber in
entsprechende Fonts voneinander getrennt, um die dadurch auftretenden
Seiteneffekte zu vermeiden und um Schriften einfacher kombinieren zu
können.

10.1.2) Was ist die Kodierung `T1'?

Die Kodierung der EC-Schriften, die auf der TeX-Tagung TUG'90 in
Cork/Irland festgelegt wurde, wird in LaTeX2e als `T1'-Kodierung
bezeichnet.  Diese Kodierung entspricht im wesentlichen dem Code ISO
8859-1 (Latin-1) mit dem Unterschied, daß das scharfe s zu den anderen
akzentuierten Kleinbuchstaben auf Position 255 gesetzt wurde und daß
die in ISO Latin-1 mit Control-Zeichen belegten Bereiche 0-31 mit
Akzenten, Anführungszeichen und Ligaturen bzw. 128-159 mit Lettern aus
ISO Latin-2 (für die osteuropäischen Sprachen) belegt wurden.  Eine
Kodierungstabelle findet man beispielsweise in `dcdoc.tex', der
Dokumentation der T1-kodierten EC-Schriftfamilie.
  Hinweis: Mit LaTeX2e kann man mit Hilfe des standardmäßig
enthaltenen Pakets `fontenc' sehr einfach mit

	\usepackage[T1]{fontenc}

T1-kodierte Schriften verwenden, falls wie bei den EC-Schriften die
zugehörigen .fd-Dateien vorhanden sind.  (Mit dem Paket `inputenc'
kann man die verwendete Kodierung der (La)TeX-Eingabedatei festlegen;
diese hat jedoch mit der Kodierung der Schrift _nichts_ zu tun!)

dcdoc.tex:  CTAN: fonts/jknappen/ec/mf/dcdoc.tex

*10.1.3) Was sind die EC-Schriften?  Was sind die DC-Schriften?
        Wo liegt der Unterschied zwischen DC- und EC-Schriften?

Bis Mitte Januar 1997 gab es die DC-Schriften `nur' als Testversion,
von denen die Versionen 1.0, 1.1, 1.2 und 1.3, teilweise in mehreren
Patchleveln, veröffentlicht wurden.  Diese Testversionen hatten noch
den einen oder anderen Fehler und die Schriftdefinitionen wurden
verändert und weiterentwickelt, so daß die tfm-Dateien der einzelnen
Versionen untereinander inkompatibel sind.  Es kann also sein, daß ein
Dokument, das DC-Schriften verwendet, mit einer neuen Version der
DC-Schriften bzw. den EC-Schriften einen anderen Umbruch haben wird.
  Die endgültige, ausgetestete, stabile Version der DC-Schriften heißt
European/Extended-Computer-Modern-(EC)-Schriften.  Sie ist ab Mitte
Januar 1997 verfügbar und wird ab dem LaTeX2e-Release vom Dezember
1996 unterstützt (Datei ``ec.ins'' auspacken, siehe ``install.txt'' im
LaTeX2e-Paket).  Die EC-Schriften sollen ebenso stabil wie die
CM-Schriften sein, d.h. die tfm-Dateien dieser Schriftfamilien sollte
sich nicht mehr ändern.

*10.1.4) Wozu dienen die `tc'-Schriften? Was ist die Kodierung `TS1'?

Es gibt mehr als 256 Zeichen, die man in einem Text verwenden will.
Deshalb werden selten benötigte, jedoch nützliche Zeichen, die nicht
mehr in der T1-Kodierung Platz fanden, in einer sogenannten `text
companion'-Schrift in der Kodierung `TS1' zusammengefaßt.  Diese
Schriften sind passend zur Hauptschrift entworfen und können daher
problemlos mit dieser verwendet werden.  Die endgültigen Menge von
Lettern einer Text-Companion-Schrift und deren Kodierung `TS1' ist
z.Zt. noch nicht vollständig festgelegt und kann sich in späteren
Versionen ändern.
  Die Text-Companion-(tc)-Schriften sind im EC-Schrift-Pakets
enthalten.  Unter LaTeX2e gibt es zur einfachen Einbindung das
`textcomp'-Package in einer Alphatest-Version.  Eine Kodierungstabelle
der Text-Companion-Schriften findet man in `dcdoc.tex', der
Dokumentation der EC-Schriftfamilie.  Das Paket `mathcomp' stellt
einige ausgewählte Zeichnen aus den TC-Schriften zur Benutzung im
Math-Modus zur Verfügung, darunter \tcohm, \tccentigrade, \tcmu (mu),
\tcperthousend, \tcpertenthousend, \tcdigitoldstyle{0-9}.

tc-Fonts:   CTAN: fonts/jknappen/ec/
dcdoc.tex:  CTAN: fonts/jknappen/ec/mf/dcdoc.tex
textcomp:   CTAN: fonts/psfonts/ts1/  (momentan nur als Test-Version!)
mathcomp:   CTAN: macros/latex/contrib/supported/mathcomp/

*10.1.5) LaTeX2e verlangt `ecrm1000' oder `dcr1000', ich kann diesen
        Font aber nicht finden und habe nur Fonts wie `dcr10'.  Was
        mache ich falsch?

Ab der Version 1.2 der DC-Schriften, die Jörg Knappen Anfang September
1995 veröffentlichte, wird für diese Schriften ein anderes Schema zur
Benennung der Dateinamen verwendet.  Dieses löste das alte Schema für
die Version 1.1 ab, die im März 1992(!) erstellt wurden.
  Folgte die Version 1.1 dem CM-Vorbild und fügte dem Basisnamen der
Schrift noch die Entwurfsgröße in Punkt, also z.B. `dcr' + 10 =>
``dcr10'', so wird ab Version 1.2 die Entwurfsgröße in 1/100 Punkt und
immer vierstellig angegeben, wie z.B. `dcr' + 10*100 => ``dcr1000''.
Dadurch können nun auch nicht ganzzahlige Entwurfsgrößen
unproblematisch erfaßt werden.  Beispielsweise hat `dcr' in der
Entwurfsgröße 17.28 pt den Namen ``dcr1728''.
  Zur Veröffentlichung der EC-Schriften Mitte Januar 1997 wurde dieses
Namensschema nochmals leicht geändert.  Der Basisnamen ist nun immer
vier Zeichen lang, beispielsweise `ecrm' statt `dcr'.
  Mit den neuen Versionen wurden neben dieser Nomenklatur auch sehr
viele Dinge im Aussehen der einzelnen Zeichen, den Ligaturen und den
Unterschneidungen (`Kerning') geändert, so daß ein Umstieg auf die
EC-Schriften angebracht ist.

*10.1.6) Ich habe bisher die DC-Schriften Version 1.1, 1.2 oder 1.3
        verwendet und habe sehr viele Dokumente.  Wie kann ich jetzt
        am einfachsten auf die EC-Schriften umsteigen?

LaTeX2e unterstützt seit der Version vom Dezember 1996 die neuen
EC-Schriften (optional zu konfigurieren) bzw. die Versionen 1.2
bzw. 1.3 der veralteten DC-Schriften.  Ist ein Dokument als
LaTeX-Eingabedatei vorhanden, übersetzt man diese einfach mit der
neuen LaTeX2e-Version nochmals.  Für andere (La)TeX-Dokumente oder
dvi-Dateien, von denen man den Quelltext nicht besitzt, gibt es
momentan leider keinen einfachen Weg, da ein einfaches Umbenennen
(oder Setzen eines `links' unter Unix) von beispielsweise
``ecrm1000.tfm'' nach ``dcr1000.tfm'' oder ``dcr10.tfm'' zu einem
Prüfsummenfehler (`checksum error') im dvi-Treiber führt und das
Ergebnis auf dem Ausgabegerät durch etwas andere Maße der Lettern und
deren Positionierung zwischen den EC- und den DC-Schriften besonders
bei den älteren Versionen der DC-Schriften nur für Korrekturausdrucke
reicht.
   Im Moment ist die Erstellung von virtueller Fonts (vf) als Ersatz
für die DC-Schriften v1.3pl4 in Arbeit, die die `realen' EC-Fonts
benutzen.  Damit kann man dann die alten pk-Font-Dateien der Version
1.3 durch diese virtuellen Fonts ersetzen.  Dies hat den Vorteil, daß
diese vf-Dateien sehr klein sind und wenig Platz benötigen und man
alte dvi-Dateien mit dem Tool `dvicopy' in dvi-Dateien wandeln kann,
die nur die EC-Schriften referenzieren.  Eventuell wird es virtuelle
Fonts auch für die uralte Version 1.1 der DC-Schriften geben.

10.1.7) Gibt es die zu den EC-Schriften gehörenden Schriften für den
        mathematischen Formelsatz?

Nein, leider noch nicht.  Zur Zeit existiert ein gemeinsames LaTeX3-/
TUG-Technical-Working-Group-(TWG)-Projekt; Barbara Beeton,
Herausgeberin des TUGboat und Mitarbeiterin bei der American
Mathematical Society (AMS), ist Vorsitzende dieser TWG.  Die
Arbeitsgruppe hat die nicht-triviale Aufgabe, alle benötigten
mathematischen Zeichen zusammenzutragen und entsprechende
Schriftkodierungen festzulegen.  Informationen über die bisher
erarbeiteten Konzepte kann man in CTAN: info/ltx3pub/l3d007.tex
finden.

10.1.8) Wieso werden bei Verwendung von EC-Schriften noch die alten
        CM-Schriften geladen?  Ich dachte, daß die EC- die CM-
        Schriften vollständig ersetzen können?

Da noch keine mathematischen Schriften speziell für die EC-Schriften
existieren, werden die der CM-Schriften verwendet.  Die
CM-Textschriften enthalten jedoch die großen griechischen Buchstaben
für den mathematischen Formelsatz, so daß auch weiterhin diese
Textschriften zusätzlich zu den EC-Textschriften geladen werden
müssen.

10.1.9) Nach dem Umstieg von DC-Fonts v1.1 auf v1.2/1.3 fehlt in der
        Ausgabe das kleine scharfe s (\ss), das grosse \SS
        funktioniert dagegen.  Wieso?

Die Datei `dxbase.mf', mit der man eine neue METAFONT-Base-Datei
erstellen kann, hat sich geändert.  Wenn man noch die alte Datei aus
v1.1 zur Erzeugung der neuen DC-Fonts v1.2/1.3 verwendet, hat man u.a.
den Fehler, daß das kleine \ss nicht korrekt erzeugt wird.
  Abhilfe: Grundsätzlich keine spezielle Base-Datei für die EC- oder
DC-Fonts verwenden, sondern die normale `plain'-Base verwenden.  (Der
Zeitgewinn von ca. einer Sekunde pro Font, der früher sehr viel größer
war, geht durch Probleme wie das hier beschriebene wieder verloren.)
Hat man solch `kaputte' EC- oder DC-Fonts, muß man diese danach
nochmals komplett neu berechnen.

10.1.10) Beim Umstieg auf DC-Fonts v1.3 erhalte ich nur Fehlermeldung
         von Metafont (`Incomplete if ...') oder ich erhalte den
         Hinweis, daß die Versionen meines Metafont/plain.mf zu alt
         ist.

Die Metafont-Quellen setzen die Benutzung einer relativ neuen
Metafont- Version voraus und verwenden Definitionen aus der Datei
`plain.mf', die in `plain.mf' v2.0 noch nicht enthalten waren.
Deshalb ist es ratsam, diese Gelegenheit zu nutzen und eine möglichst
neue Version zu installieren (siehe Abschnitt 3.1.7).
  Ansonsten sollte man bei der Generierung der DC-Fonts darauf achten,
daß die Dateien

    plain.mf
    modes.mf  % oder eine lokale `Mode-Definition'-Datei

in allen Fällen _vor_

    dxbase.mf

geladen wird.  (Am besten ist es, wenn man sich _keine_ spezielle
dx-Base-Datei erzeugt, sondern die normale plain-Base-Datei verwendet,
da die DC-Fonts dann `dxbase.mf' automatisch bei Bedarf nachladen.)

10.1.11) Mit den neuen DC-Fonts 1.3 von Juni 1996 und `modes.mf' 3.0/3.1
         gibt es für einen 300dpi-Drucker keine Probleme.  Bei einem
         360dpi-Drucker (nechi, lqhires) schreibt Metafont aber statt
         *.360gf-Dateien nur *.300gf-Dateien erzeugt.

Ein Fehler der DC-Fonts Version 1.3 Patchlevel 0 bzw. 1 in der Datei
`dxbase.mf' bei Verwendung von `modes.mf' v3.0/3.1 führt zu diesem
Verhalten, wenn ein `mode_def' wie `nechi' einen anderen `mode_def'
verwendet und dabei nur einige Parameter anders setzt.  Er tritt also
nur bei einigen `mode_def' auf.
  Dieser Fehler ist durch DC-Fonts 1.3 Patchlevel 2 (von Anfang Juli
1996) behoben.  Danach wurden noch weitere Fehler im Zusammenhang mit
dem `compound word mark' behoben, so daß man möglichst auf die
aktuelle Version 1.3 Patchlevel 4 vom 25. August 1996 umsteigen
sollte.

10.2) PostScript-Schriften
~~~~~~~~~~~~~~~~~~~~~~~~~~

10.2.1) Gibt es die CM-Fonts auch als PostScript-(Type-1)-Schriften?

Die Knuth'sche Computer-Modern-(CM)-Familie, die zusätzlichen
LaTeX-CM-Fonts, die aus der CM-Familie entstandene kyrillische
CMCYR-Familie und die AMS-Fonts zum mathematischen Formelsatz sind im
Type-1- und True-Type-Format in den beiden Schriftpaketen `Bakoma' und
`Paradissa' zu finden.

Bakoma:    CTAN: fonts/cm/ps-type1/bakoma/
Paradissa: CTAN: fonts/cm/ps-type1/paradissa/

10.2.2) Wie installiere ich mit `dvips' eine neue PostScript-Schrift,
        so daß ich diese unter (La)TeX verwenden kann?

Schritt 0 -- Dokumentation lesen:
  Zuerst sollte man sich die Dokumentation zum `dvips' durchlesen.
Diese beschreibt die wichtigsten Schritte, auch wenn die dort
beschriebenen Dateinamen und die Kodierungen für die PS-Schriften
veraltet sind (gilt zumindest für die Doku bis dvips Version 5.58).
Außerdem sollte man Karl Berrys Fontname, `Filenames for TeX fonts',
in der Version 2.0 (oder neuer) durchlesen, in dem ein für alle
TeX-Systeme verwendbares, einheitliches Namensschema bschrieben wird.

Schritt 1 -- TeX-Anpassungen besorgen oder selbst erstellen:
  Gibt es im `psfonts'-Verzeichnis bereits fertige Anpassungen?  Wenn
ja, sollte man diese verwenden.  Wenn nein, sollte man sich das Tool
`fontinst' besorgen, mit dem man relativ einfach aus der mit dem
PostScript-Font mitgelieferten afm-Datei die notwendigen virtuellen
Fonts (vf-Dateien) mit den entsprechenden Fontkodierungen und
Font-Definitions-(fd)-Dateien für LaTeX2e erzeugen lassen kann.  Für
Textschriften sollten zumindest vf-Dateien für OT1-Kodierung, besser
auf noch für T1-Kodierung erzeugt werden.

Schritt 2 -- PS- und TeX-Font-Dateien installieren:
  Nach Schritt 1 sollten beispielsweise für die Schrift `URW Antiqua
Regular Roman Condensed' bzw. nach Berrys Namenschema `uaqr...c...'
folgende Dateien vorhanden sein:

  PS-Schrift und zugehörige Font-Metrik:
	uaqr8ac.{pfb,afm}

  virtueller Font, zugehörige TeX-Font-Metriken und PS-Reencoding:
	uaqrrc.{vpl,vf,tfm}    Roman (`raw, 7-bit')
	uaqr7tc.{vpl,vf,tfm}   TeX-Text-/OT1-/CM-Encoding (`7-bit')
	uaqr8rc.{vpl,vf,tfm}   TeX Base-1 Encoding (`raw, 8-bit')
	uaqr8tc .{vpl,vf,tfm}  Cork-TeX-Text-/T1-/EC-Encoding (`8-bit')
	8r.enc                 PS-Reencoding, in `fontname' enthalten

  LaTeX2e-Font-Definition-Files:
	OT1uaq.fd
	T1uaq.fd
	antiqua.sty

und noch einige weitere Dateien für die `slanted'- und `small caps'-
Varianten, die man mit `fontinst' erzeugen kann.
  Diese Dateien werden nun in folgende Verzeichnisse gelegt:

	*.fd, *.sty  ==> TEXINPUTS (TeX)
	*.tfm        ==> TEXFONTS bzw. `T'-Eintrag (TeX + dvips)
	*.vf         ==> `V'-Eintrag oder VFFONTS  (dvips)
	*.pfb/pfa    ==> `H'-Eintrag oder DVIPSHEADERS (dvips)

Schritt 3 -- Map-Datei des PS-Fonts für `dvips' erstellen:
  Map-Datei für `dvips' erstellen, in der die Zuordnung des
Font-Namens in TeX zu dem in PS verwendeten festgelegt wird und
evtl. die zu ladenden pfb-/pfa- und PS-Reencoding-Dateien angegeben
werden.  In unserem Beispiel enthält die Map-Datei `uaq.map' die Zeile

uaqr8rc URWAntiquaT-RegularCondensed "TeXBase1Encoding ReEncodeFont"
	<8r.enc <uaqr8ac.pfb

(dies muss eine einzige Zeile sein, sie wurde hier nur umbrochen, um
eine zu lange Zeilen zu vermeiden!) und evtl. noch Zeilen für weitere
Schriften und Varianten.
  Diese Map-Datei in ein Verzeichnis legen, in dem `dvips' nach
PS-Header-Dateien sucht (DVIPSHEADERS bzw. `H'-Eintrag in `config.ps').

Schritt 4 -- `dvips'-Konfigurationsdatei anpassen:
  Konfigurationsdatei `config.ps' des `dvips' ändern: Die in Schritt 3
erstellte Map-Datei durch die in `config.ps' neu einzutragende Zeile

p +uaq.map

zusätzlich zur Standard-Map-Datei `psfonts.map' laden.  (Ältere
`dvips'-Versionen verstehen das `+' nicht; bei diesen muß man den
Inhalt der Map-Datei `uaq.map' an die Datei `psfonts.map' anhängen und
die obige Zeile in `config.ps' ist wegzulassen.)  Außerdem sollte man
noch überprüfen, ob das Verzeichnis, in dem die Map-Datei und die
pfb-/pfa-Dateien zu finden sind, im Suchpfad nach PS-Header-Dateien
enthalten ist (DVIPSHEADERS bzw. `H'-Eintrag in `config.ps').

Schritt 5 -- Anpassungen testen und verwenden:
  Mit LaTeX2e kann man unsere Beispielschrift einfach mittels des
Packages `antiqua' verwenden, da diese Schrift damit als \rmdefault-
Schrift verwendet wird.  Ohne dieses Package kann man auch durch die
Anweisung ``\usefont{OT1}{uaq}{m}{n}'' diese Schrift kurz austesten.
LaTeX2e müßte dazu die fd- und tfm-Dateien finden und einlesen können.
`dvips' benutzt dann die angepaßte Konfigurationsdatei, die virtuellen
Schriften `uaqr*.vf', die Map-Datei `uaq.map', die eigentliche
PS-Schrift `uaqr8ac.pfb' und schließlich noch `8r.enc'.
  Unter plain-TeX kann man diese Schrift relativ einfach z.B. durch
die Anweisung \font\rmantiqua=uaqr7tc laden und anschließend
verwenden.  Zur Verwendung der T1-kodierten Variante `uaqr8tc' sind,
wie bei der Verwendung der EC-/DC-Schriften unter plain-TeX, noch
einige Anpassungen notwendig.
  Unter LaTeX 2.09 gilt dasselbe wie für plain-TeX, nur sollte man
hier besser \newfont{\rmantiqua}{uaqr7tc} verwenden.  Will man diese
Schrift und deren Varianten statt den CM-Schriften in einem Dokument
verwenden, so sind größere Änderungen notwendig, die den Rahmen dieser
FAQ sprengen würden.  Am einfachsten ist ein Umstieg auf LaTeX2e!

dvips.tex:  CTAN: dviware/dvips/
fontname:   CTAN: info/fontname/
8r.enc:	    CTAN: info/fontname/8r.enc
psfonts:    CTAN: fonts/psfonts/...
                  fonts/psfonts/urw/antiqua/  (unsere Beispielschrift)
fontinst:   CTAN: fonts/psfonts/tools/finst/ (neuere Version)
		  fonts/utilities/fontinst/ (enthält contrib/-Verzeichnis)

--- DE-TeX-FAQ Ende Teil 10 ---