Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!spool.mu.edu!howland.erols.net!feed1.news.erols.com!insync!Gamma.RU!srcc!news.uni-stuttgart.de!news.urz.uni-heidelberg.de!german From: dantefaq@dante.de (DANTE e.V., FAQ-Maintainer) Newsgroups: de.comp.text.tex,de.answers,news.answers Subject: TeX, LaTeX, DANTE e.V.: FAQ - Fragen und Antworten (Part 10 of 11) Supersedes: Followup-To: de.comp.text.tex Date: 3 Feb 1997 11:28:07 GMT Organization: DANTE, Deutschsprachige Anwendervereinigung TeX e.V. Lines: 379 Approved: news-answers-request@MIT.EDU Distribution: world Expires: 20 Mar 97 12:27:57 Message-ID: References: Reply-To: dantefaq@dante.de (DANTE e.V., FAQ-Maintainer) NNTP-Posting-Host: sun.dante.de Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Summary: This posting contains a list of Frequently Asked Questions (and their answers) about the typesetting system TeX and about DANTE e.V., the german-speaking TeX users group. It is in German and uses the ISO Latin-1 character set. Keywords: FAQ TYPESETTING TeX USERGROUP DANTE Originator: german@sun.dante.de Xref: senator-bedfellow.mit.edu de.comp.text.tex:292 de.answers:1038 news.answers:93728 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