Diese Anleitung beschreibt das TEX Live-System. Die TEX Live Distribution enthält TEX/LATEX-Systeme für Linux, verschiedene UNIX-Plattformen, Mac OS X und (32-Bit)-Windows.
Wahrscheinlich haben Sie TEX Live auf einem von zwei Wegen bezogen, entweder per direktem Download von TEX Live oder als Teil der DVD TEX Collection, die von vielen TEX-Vereinen (u. a. DANTE e. V.) an ihre Mitglieder verschickt werden und in Deutschland über die Fachbuchhandlung Lehmanns (http://www.lob.de) vertrieben wird. Abschnitt 2.1 beschreibt kurz den Inhalt der TEX Collection-DVD. Sowohl TEX Live und die TEX Collection sind durch das Engagement vieler Freiwilliger aus vielen TEX-Vereinen entstanden. Im Übrigen beschränkt sich diese Anleitung auf TEX Live an sich.
TEX Live enthält lauffähige Versionen von TEX, LaTeX2e, ConTEXt, Metafont, MetaPost, BibTeX und vielen anderen Programmen, sowie eine umfassende Auswahl an Makros, Zeichensätzen und Beschreibungen, die gemäß der Standard-TEX-Verzeichnisstruktur (TDS) abgelegt sind.
Eine kurze Zusammenfassung der wesentlichen Änderungen der aktuellen TEX Live-Version gegenüber der Vorgängerversion finden Sie im Abschnitt 10 auf Seite 77.
TEX Live enthält direkt ausführbare Programme für viele Unix-basierte Betriebssysteme, insbesondere GNU/Linux und Mac OS X. Sogar Cygwin wird direkt unterstützt. Selbst wenn für Ihr Unix-System wider Erwarten keine ausführbaren Programme enthalten sind, sollten Sie in der Lage sein, aus den mitgelieferten Programm-Quellen ein funktionierendes TEX-System zu kompilieren.
Bezüglich Microsoft Windows werden Versionen ab Windows 2000 unterstützt, während die aktuelle TEX Live unter Windows 95/98, ME und NT nicht mehr lauffähig ist. Es existieren zwar keine 64-Bit-Versionen der Programme, allerdings sollten die 32-Bit-Programme problemlos auf 64-Bit-Systemen funktionieren.
Sie können das TEX Live-System wahlweise von der DVD oder über das Internet installieren. Der Net Installer ist ein kleines Programm, das die benötigten Teile aus dem Internet nachlädt. Dieser Weg bietet sich an (eine schnelle und stabile Internetverbindung voraus gesetzt), wenn Sie kein komplettes TEX Live installieren wollen, sondern Ihr System nur mit bestimmten Paketen bestehen soll.
Wenn Sie die DVD besitzen (oder das ISO-Image der DVD herunter geladen haben – dieses kann auf einigen Systemen sogar direkt als virtuelles Medium »gemountet« werden), können Sie TEX Live nach Wunsch auf Ihrer Festplatte installieren oder direkt von der DVD benutzen.
Beide Methoden werden in den Abschnitten zur Installation beschrieben. Hier daher nur die kurze Zusammenfassung:
Die TEX-Gemeinschaft ist ebenso aktiv wie hilfsbereit, und es wird praktisch jede ernst gemeinte Frage beantwortet. Diese Hilfe ist allerdings nicht formal organisiert, sondern wird von Freiwilligen in ihrer Freizeit geleistet. Es ist daher ernst gemeint, dass Sie vor einer Fragestellung Ihre »Hausaufgaben« gemacht haben. Falls Sie auf eine garantierte kommerzielle Unterstützung angewiesen sind oder eine solche bevorzugen, sollten Sie die Finger vollständig vom TEX Live-System lassen und in der Aufstellung unter http://tug.org/interest.html#vendors nach einem geeigneten Händler suchen.
Die folgende Liste stellt die leicht zugänglichen Quellen in der empfohlenen Reihenfolge vor:
Für deutschsprachige LATEX-Anfänger ist die »LaTeX2e-Kurzbeschreibung« von großem Nutzen (texmf-doc/doc/german/lshort-german/l2kurz.pdf).
Des Weiteren existiert eine englischsprachige FAQ-Sammlung (texmf-dist/doc/generic/FAQ-en/html/index.html), die auch im Internet verfügbar ist (http://www.tex.ac.uk/faq).
Bitte nutzen Sie bei Problemen zu allererst diese beiden Möglichkeiten.
Im Allgemeinen ist es recht Erfolg versprechend, eine generelle Suche über Google http://www.google.de/ durchzuführen (entweder im WWW allgemein oder in den News-Gruppen); dies insbesondere, wenn es sich um Fragen über PostScript/PDF, Ghostscript u. ä. handelt.
Zusätzlich existieren E-Mail-Diskussionslisten, wobei hier die deutschsprachige Liste TeX-D-L@ listserv.dfn.de zu nennen ist (das englischsprachige Äquivalent ist texhax@tug.org). Darüber hinaus bietet sich für Mitglieder von DANTE e.V. der Beraterkreis an (beraterkreis@dante.de). Wie Sie sich in die E-Mail-Liste TeX-D-L eintragen können, finden Sie in der FAQ unter »1.3.2 Was ist TeX-D-L?«.
Bevor Sie aber eine Frage absenden, lesen Sie bitte die entsprechenden Einträge der FAQ zum Thema »Wie stelle ich eine Frage in einer Newsgroup, damit ich mit hoher Wahrscheinlichkeit eine Antwort bekomme?«. So z. B. »1.3.1 Was ist ‘de.comp.text.tex’?« und »1.3.7 Was sollte ich gelesen haben, bevor ich eine Frage in ‘de.comp.text.tex’ oder der Diskussionsliste TeX-D-L stelle?« oder auch http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion.
Fragen zu Programmen, die Sie in der TEX Collection finden, sollten Sie besser auf einer der oben genannten Mailing-Listen stellen oder direkt an den Programmautor richten.
Auf der anderen Seite können auch Sie mit Ihrem Wissen helfen. Die News-Gruppen news:de.comp.text.tex (in Deutsch), news:comp.text.tex (in Englisch) und die Mailing-Liste TeX-D-L@listserv.dfn.de (Deutsch) und texhax@tug.org (Englisch) stehen allen offen. Wenn Sie also dort mitlesen, scheuen Sie sich nicht, Fragen, zu denen Sie eine Antwort wissen, zu beantworten und damit anderen zu helfen.
In diesem Abschnitt beschreiben wir Struktur und Inhalt des TEX Live-Systems und der übergeordneten TEX Collection-DVD.
Die DVD »TEX Collection« besteht aus:
CTAN, protext und texmf-extra unterliegen nicht den selben Lizenzregeln wie TEX Live. Daher können für Teile hieraus andere Lizenzbedingungen bezüglich einer Weiterverteilung oder Modifikation gelten, die Sie unbedingt beachten sollten!
In diesem Abschnitt beschreiben wir die Basisverzeichnisse der TEX Live-Distribution.
Auf der TEX Collection-DVD befindet sich die gesamte TEX Live-Hierarchie im Unterverzeichnis texlive – nicht im Wurzelverzeichnis der DVD.
bin | ausführbare Programme des TEX-Systems; jeweils für die verschiedenen Rechnerplattformen in Unterverzeichnissen zusammengefasst |
readme-*.dir | in diesen Verzeichnissen (!) befinden sich Text- bzw. HTML-Dateien in verschiedenen Sprachen, die als schneller Einstieg in TEX Live empfehlenswert sind. |
source | Quelldateien aller Programme inklusive der Web2C-Quellen für die TEX- und Metafont-Pakete als komprimierte bzip2-Archive |
texmf | Verzeichnisbaum für Programme und zugehörigen Hilfsdateien und Anleitungen; enthält keine TEX-Formate und Pakete (siehe TEXMFMAIN im nächsten Abschnitt) |
texmf-dist | Hauptbaum mit Formaten und Paketen (siehe TEXMFDIST im nächsten Abschnitt) |
tlpkg | Skripte, Programme und Daten die für die Installatioin benutzt werden, sowie einige Dinge, die speziell für Windows benötigt werden. |
Zusätzlich zu den oben aufgeführten Verzeichnissen finden Sie im Wurzelverzeichnis der Distribution auch noch die Installationsskripte.
Wenn Sie nach Dokumentation suchen, bietet Ihnen die Datei doc.html wichtige Links. Die Dokumentation für Programme (Handbücher, »man pages«, GNU-info-Dateien) beispielsweise finden Sie im Verzeichnis texmf/doc. Ähnliches gilt für die Dokumentation der TEX-Pakete und -Formate im Verzeichnis texmf-dist/doc.
Benutzen Sie das Programm texdoc, wenn Sie auf der Suche nach irgendeiner Dokumentationsdatei sind. Hilfreich in diesem Zusammenhang könnte auch die Link-Sammlung doc.html im Wurzelverzeichnis sein.
Die Anleitung zu TEX Live ist in verschiedenen Sprachen verfügbar:
Dieser Abschnitt listet die vordefinierten texmf-Bäume, die vom System benutzt werden, und deren Bedeutung auf. Das Kommando tlmgr conf zeigt Ihnen die aktuellen Einstellungen dieser Variablen an.
In diesem Baum befinden sich wichtige Teile des Systems, wie Konfigurationsdateien, Hilfsprogramme und die Dokumentation.
In diesem Baum befinden sich die wesentlichen Makro-Pakete, Fonts usw. Dieser Baum enthält systemunabhängige Daten, die prinzipiell von jedem TDS-kompatiblem TEX-System nutzbar sein sollten.
Dieser Baum ist für Ergänzungen oder Aktualisierungen von Makros, Fonts etc. gedacht, die Administratoren für alle Nutzer installieren.
In diesem Baum können einzelne Nutzer Ergänzungen oder Aktualisierungen von Makros, Fonts etc. ablegen. Standardmäßig befindet sich dieser Baum unterhalb von $HOME, so dass andere Nutzer von Änderungen hier nicht beeinflusst werden.
Dieser Baum wird von den Hilfsprogrammen von teTEX wie texconfig, updmap und fmtutil verwendet. Standardmäßig befindet sich dieser Baum unterhalb von $HOME, so dass andere Nutzer von Änderungen hier nicht beeinflusst werden.
Dieser Baum wird von den Hilfsprogrammen von teTEX wie texconfig-sys, updmap-sys und fmtutil-sys verwendet, so dass hier das Verhalten des TEX Live-Systems für alle Nutzer beeinflusst werden kann.
Dieser Baum wird von Hilfsprogrammen wie texconfig, updmap und fmtutil benutzt, um automatisch generierte Konfigurations-Dateien abzulegen.
Dieser Baum wird von den systemweiten Hilfsprogrammen wie texconfig-sys, updmap-sys und fmtutil-sys verwendet, um automatisch generierte Konfigurations-Dateien abzulegen.
Der Standard der Verzeichnisstruktur von TEX Live sieht wie folgt aus:
Eine Vorversion von TEX Live.
Die aktuelle Version.
GNU/Linux binaries
Mac OS X binaries
Windows binaries
Hierauf verweist TEXMFMAIN.
TEXMFDIST
TEXMFSYSVAR
TEXMFSYSCONFIG
TEXMFLOCAL, dieses Verzeichnis gilt für alle installierten TEX Live-Versionen (aktuelle Version und Vorgängerversion), so dass hier durchgeführte lokale Änderungen über die Jahre hinweg erhalten bleiben.
Vom Nutzer privat erzeugte Dateien und Konfigurationsdaten der Vorversion.
Vom Nutzer privat erzeugte Dateien und Konfigurationsdaten für die aktuelle Version von TEX Live.
TEXMFVAR
TEXMFCONFIG
TEXMFHOME Persönliche Makros, Fonts usw. des Nutzers.
Unter den TEX-Systemen der TEX Live befinden sich verschiedene TEX-Erweiterungen:
TEX Live enthält eine ganze Reihe unterstützender Programme wie
TEX Live enthält eine Vielzahl qualitativ hochwertiger Vektorschriften. Weitere Informationen hierzu finden sich unter http://tug.org/fonts und texmf-dist/doc/fonts/free-math-font-survey/survey.
Zur Installation von TEX Live benötigen Sie die TEX Collection-DVD oer den TEX Live Net Installer aus dem Internet.
Die folgenden Abschnitte beschreiben die Installation für die einzelnen Betriebssysteme.
Im Folgenden werden die Eingaben des Benutzers nach dem Kommando-Prompt ‘>’ fett dargestellt.
Das Skript install-tl ist ein Perl-Skript. Am Einfachsten starten Sie es auf einem Unix-System in der Kommandozeile mit
Zum Installieren mit Hilfe einer Benutzeroberfläche (Abb. 2) verwenden Sie
Alle Optionen des Installationsprogramms werden mit
Wichtiger Hinweis zu den Zugriffsrechten unter Unix: Ihre aktuelle Einstellung von umask wird bei der Installation von TEX Live berücksichtigt. Daher müssen Sie darauf achten, dass Sie hierfür einen sinnvollen Wert einstellen (z. B. umask002), wenn Ihre Installation auch durch andere Nutzer als Sie benutzt werden soll. Falls Sie unsicher sind, was dies bedeutet, schauen Sie bitte in die Anleitung zu umask (indem Sie das Kommando man umask eingeben).
Besonderheit bei Cygwin: Im Gegensatz zu anderen Unix-basierten Systemen fehlen bei Cygwin i. A. einige Programme, die vom Installationsprogramm von TEX Live vorausgesetzt werden. Bitte lesen Sie den Abschnitt 3.1.4.
Wie in Abschnitt 2.1 bereits erwähnt wurde, existiert mit MacTEX (http://tug.org/mactex) ein eigenes TEX-System für Mac OS X. Dieses enthält ein komplettes TEX Live mit einem Installationsprogramm, das in Funktionalität und Aussehen der üblichen Installation von Software unter Mac OS X entspricht. Weiterhin sind einige Zusatzprogramme enthalten.
Wenn Sie die TEX Collection-DVD besitzen, empfiehlt es sich daher, MacTEX zu verwenden.
Wenn Sie den Net Installer verwenden, oder auf Ihrem System beim Einlegen der DVD das Installationsprogramm nicht automatisch gestartet wurde, können Sie die Installation von TEX Live im Windows-Explorer durch Doppelklick auf install-tl.bat (auf der DVD befindet sich diese Datei im Verzeichnis texlive) starten. Falls Sie bei der Installation mehr Optionen benötigen (z. B. die Auswahl spezifischer Paketgruppen), starten Sie stattdessen install-tl-advanced.bat.
Alternativ können Sie eine MS-DOS-Eingabeaufforderung verwenden, dort in das Verzeichnis wechseln, in dem sich das Installationsprogramm befindet und dort
Alternativ können Sie die Installation auch aus einem beliebigen Verzeichnis heraus starten:
Zur Installation im Textmodus verwenden Sie:
Alle vorhandenen Optionen, die beim Starten des Installationsprogramms verwendet werden können, werden wie folgt angezeigt:
Das Installationsskript von TEX Live unterstützt nur Version 1.7 von Cygwin. Bevor Sie mit der Installation
von TEX Live beginnen, verwenden Sie das Installationsprogramm von Cygwin (setup.exe) um die Pakete
perl und wget gegebenenfalls nachzuinstallieren. Wir empfehlen weiterhin die Installation folgender
Cygwin-Pakete:
Abb. 1 zeigt den Eingangsbildschirm des Installationsprogramms im Textmodus (Standard unter Unix). Dieser
ist ein reiner Textmodus, d. h., es gibt somit keine Unterstützung zum Wandern durch die einzelnen
Menüpunkte mit den Cursor-Tasten. Alle Befehle wie z. B. die Auswahl von Menüpunkten werden
durch Eingabe der entsprechenden Befehle bzw. Menükürzel über die Tastatur eingegeben und
dann durch Drücken von Enter übernommen. Hierbei wird zwischen Groß- und Kleinschreibung
unterschieden!
Die Installation im Textmodus ist so spartanisch, weil dieser Modus überall funktionieren soll,
selbst mit einer Basisinstallation von Perl (für Windows enthältTEX Live eine Minimalversion von
Perl).
Abb. 2 zeigt die grafische Installation im Expertenmodus unter GNU/Linux. Funktionell unterscheided sich
dieser nicht wesentlich vom Textmodus (Abb. 1), außer dass natürlich mit Menüs, Auswahlboxen etc.
gearbeitet wird.
Dieser Modus muss explizit mit
Unter Windows wird automatisch diese einfache Form der Installtion verwendet, der so genannte »wizard
mode«. Dieser zeichnet sich dadurch aus, dass er TEX Live komplett installiert und dabei vom Benutzer nur
wenige Angaben gemacht werden müssen. Falls Sie eine individuell angepasste Version von TEX
Live benötigen, verwenden Sie daher bitte einen der beiden anderen Installationsmodi.
Um die Installation explizit im »wizard mode« zu starten (insbesondere unter Unix), verwenden Sie:
Das Installationsprogramm sollte (wenn Sie die vorherigen Abschnitte zum Aufbau von TEX Live und der
verwendeten Verzeichnisstruktur gelesen haben) weitgehend selbsterklärend sein. Trotzdem wollen wir auf
einige Punkte näher eingehen.
Abb. 4 zeigt das Auswahlmenü für die Binaries der einzelnen Betriebssysteme im Textmodus. Im
Allgemeinen sollte hier schon das richtige System ausgewählt sein. Sie können aber problemlos
Binaries für verschiedene Systeme parallel auswählen. Dies bietet sich an, wenn Ihre Installation auf
verschiedenen Rechnern in einem heterogenen Netzwerk sichtbar ist und von dort aus benutzt werden
soll.
Abb. 5 zeigt das Auswahlmenü für ein grundsätzliches Installationsschema der TEX Live. Durch die
Auswahl eines Schemas werden automatisch die Komponenten zur Installation ausgewählt, die für das
gewünschte Schema notwendig bzw. sinnvoll sind. Mit einer vollständigen Installation von TEX Live (full
scheme) sind Sie auf der sicheren Seite, da hier einfach alles installiert wird. Sie können aber auch eines der
abgespeckten Schemas wie basic (für ein sehr schlankes System), medium oder minimal (dies empfiehlt sich
aber nur für Testsysteme und weniger zum ernsthaften Arbeiten) auswählen. Weiter stehen einige Schemas für
spezielle Zwecke oder Sprachen zur Verfügung.
Wenn Sie das Schema ausgewählt haben, können Sie dieses in den Menüpunkten standard collections und
language collections (s. Abb. 6, diesmal zur Abwechslung im GUI-Modus) individuell nach Ihren Wünschen
anpassen.
Während das Schema nur den grundlegenden Funktionsumfang vorgibt, ist die Auswahl von Komponenten
auf der Ebene der Collections viel feiner. Eine Collection besteht dabei aus mehreren Paketen zu
einem Thema, wobei jedes der Pakete aus bestimmten Makrodateien, Fontdateien usw. bestehen
kann.
Noch mehr Kontrolle über die Komponenten Ihres Systems haben Sie nach der Installation mit dem
Programm tlmgr, das in Abschnitt 6 beschrieben wird. Hier können Sie gezielt einzelne Pakete installieren
oder entfernen.
Die Verzeichnisstruktur von TEX Live wurde bereits im Abschnitt 2.3 auf S. 10 beschrieben. Als
Wurzelverzeichnis für TEX Live (TEXDIR) wird unter Windows (%SystemDrive%\texlive\2009) und unter
Unix (/usr/local/texlive/2009) angenommen.
Prinzipiell können Sie diesen Pfad problemlos ändern, z. B. wenn Sie TEX Live als normaler Nutzer
installieren wollen und kein Schreibrecht in dem o. a. Verzeichnis besitzen.
Auf Wunsch können Sie TEX Live also auch in Ihrem Home-Verzeichnis installieren, wenn Sie sowieso der
einzige Verwender von TEX Live sind. Für Ihr Home-Verzeichnis können Sie den Pfad »~« verwenden und so
beispielsweise TEX Live nach ~/texlive/2009 installieren.
Wir empfehlen Ihnen, die Jahreszahl im Verzeichnisnamen bei zu behalten. So können Sie von Jahr zu Jahr
einfach die neue Version testen, ohne die alte zu entsorgen. Bei Bedarf können Sie einen symbolischen Link
(z.B. /usr/local/texlive-cur) verwenden, der jeweils auf das Verzeichnis der aktuellen Version von TEX
Live verweist.
Wenn Sie die Einstellung TEXDIR im Installationsprogramm ändern, werden die Werte für TEXMFLOCAL,
TEXMFSYSVAR und TEXMFSYSCONFIG automatisch angepasst.
Das als TEXMFHOME bezeichnete Verzeichnis ist der Ort, in dem persönliche Makrodateien, Schriften o. ä.
abgelegt werden können. Vorgabewert ist ~/texmf. Im Gegensatz zu TEXDIR wird ~ hier nicht direkt zum Pfad
des Home-Verzeichnisses aufgelöst, sondern unverändert in die Konfigurationsdateien von TEX Live
übernommen und erst zur Laufzeit aufgelöst. Somit kann jeder Nutzer des Systems seinen komplett eigenen
Pfad haben, der von TEX Live verwendet wird, und so nach Wunsch auch eigene Konfigurationsänderungen
durchführen. Zur Laufzeit wird ~ unter Unix durch $HOME und unter Windows durch %USERPROFILE%
ersetzt.
Abb. 7 zeigt das Menü, in dem weitere Einstellungen für die Installation von TEX Live möglich sind. Zur
Erläuterung:
Wenn Sie alle gewünschten Einstellungen für die Installation vorgenommen haben, können Sie im
Hauptmenü nun »I« eintippen, um diese zu starten. Lesen Sie dann anschließend Abschnitt 3.5 für eventuell
notwendige Arbeiten zum Abschluss der Installation.
Verwenden Sie die Option »V«, um die Installation zum Benutzen von TEX Live direkt von der DVD
einzustellen. Ihr Installationsbildschirm sollte nun so aussehen wie in Abb. 8 dargestellt. Tatsächlich wechselt
die Option V jeweils zwischen Installation auf Festplatte und Installation zur Nutzung von DVD hin- und her,
so dass Sie problemlos zur alten Installationseinstellung zurück kommen, wenn Sie diese Option versehentlich
ausgewählt haben.
Wie Sie sehen, hat sich das Hauptmenü an einigen Stellen geändert: Die Menüpunkte zur Auswahl eines
Schemas oder von Collections sowie zum Anlegen symbolischer Links sind verschwunden, und
im Abschnitt Directories wird nun die Angabe eines Verzeichnisses für TEXDIRW (writable root)
verlangt.
Auch beim Verwenden von TEX Live direkt von DVD müssen einige Verzeichnisse auf der Festplatte
angelegt werden, in denen TEX Live beispielsweise automatisch generierte Dateien (wie Formate oder
Fontmaps) ablegen kann. Die Verzeichnisse texmf, texmf-dist und texmf-doc werden aber direkt von DVD
benutzt und daher nicht auf die Festplatte kopiert.
Die Konfiguration von TEX Live im Anschluss an die Installation unter Unix ist bei der Verwendung als
Live-System von DVD etwas komplexer, da hier an einigen Stellen von der normalen Verzeichnisstruktur von
TEX Live abgewichen werden muss, s. Abschnitt 3.5.
Die Option für die Benutzung von TEX Live direkt von DVD ist nicht im grafischen Modus des
Installationsprogramms enthalten. Daher muss hierfür zwingend der Textmodus verwendet werden. Zu diesem
Zweck muss daher unter Windows die Installation innerhalb einer Eingabeaufforderung mit der
Option -gui=text gestartet werden (s. Abschnitt 3.4).
Abschnitt 5 beschreibt einen portableren Weg um TEX Live zu benutzen, der keine Änderungen der
Systemkonfiguration erfordert, dafür dann aber keine Konfigurationsänderungen an TEX Live
erlaubt.
Nach Eingabe von
Installation im GUI-Modus. Hierfür muss
unter Unix Perl/Tk installiert sein (http://tug.org/texlive/distro.html#perltk); falls dies
nicht der Fall ist, wird die Installation stattdessen im Textmodus durchgeführt.
Installation im Textmodus. Da dies unter Unix Standard ist, wirkt sich diese Option nur unter
Windows aus. Da die Installation zum Benutzen von TEX Live direkt von DVD im grafischen
Modus nicht verfügbar ist, brauchen Sie in diesem Fall unbedingt den Textmodus.
Sprache des Installationsprogramms als Sprach-Code in zwei Buchstaben (LL). Derzeit werden
englisch (en, Standard), deutsch (de), französisch (fr), holländisch (nl), polnisch (pl), slowenisch
(sl) und vietnamesisch (vi) unterstützt. Das Installationsprogramm versucht, die gewünschte
Sprache anhand des Systems herauszufinden. Falls dies scheitert oder die betreffende Sprache
nicht verfügbar ist, wird als Rückfallposition englisch benutzt.
Das Installationsprogramm schreibt die ausgewählten Optionen in eine Datei texlive.profile.
Mit dieser Option können Sie eine bereits vorhandene Datei bei der Installation weiter verwenden,
z. B. wenn Sie äquivalente Installationen auf mehreren Rechnern realisieren wollen, ohne alle
Auswahlschritte der Installation immer wieder neu durchführen zu müssen.
zur Auswahl einer Installationsquelle, für weitere Erläuterung siehe den nächsten Abschnitt.
Als Standardquelle für die Installation wird ein CTAN-Knoten verwendet, der automatisch von
http://mirror.ctan.org ermittelt wird.
Falls Sie eine andere Installationsquelle verwenden wollen, geben Sie eine neue Quelle an, die entweder mit
ftp:, http: oder file:/ beginnt oder ein Verzeichnispfad auf Ihrem System ist. Falls Sie http: oder ftp:
verwenden, werden »/«-Zeichen am Ende ignoriert.
Sie können also z. B. einen bestimmten CTAN-Knoten auswählen, so etwa
http://ctan.example.org/tex-archive/systems/texlive/tlnet/, wobei Sie natürlich statt
ctan.example.org einen echten Servernamen verwenden und wahrscheinlich auch den Rest der URL anpassen
müssen. Eine Auflistung von CTAN-Servern finden Sie unter http://ctan.org/mirrors.
Falls Sie ein lokales Repository verwenden (also entweder direkt einen Verzeichnispfad oder eine mit
file:/-URL angeben), so werden bevorzugt Archivdateien in einem Unterverzeichnis archive des Repository
verwendet, selbst wenn ausgepackte Dateien vorhanden sind.
Je nach System kann es notwendig sein, dass im Anschluss an die Installation noch einige Kleinigkeiten erledigt
werden müssen.
Benutzer von Windows sind hier in der glücklichen Position, dass das Installationsprogramm alles komplett
erledigt haben sollte.
Wenn Sie bei der Installation angegeben haben, dass und wo symbolische Links angelegt werden sollten
(s. Abschnitt 3.3.4), sollten hier auch keine Nacharbeiten mehr notwendig sein.
Das Verzeichnis mit den ausführbaren Programmen von TEX Live muss sich im Suchpfad des Systems
befinden. Jedes unterstützte System besitzt ein eigenes Verzeichnis unterhalb von TEXDIR/bin, deren Namen
Sie in Abb. 4 finden.
Weiterhin können Sie die Verzeichnisse mit den Manual-Pages und Info-Dateien zu den entsprechenden
Suchpfaden für Dokumentation hinzu fügen, wenn Sie es wünschen.
Für Systeme mit einer Bourne-kompatiblen Shell wie bash ist hier am Beispiel von GNU/Linux
aufgeführt, wie die Befehle zum Setzen der Umgebungsvariablen (z. B. in $HOME/.profile) aussehen
könnten:
Für csh oder tcsh erfolgt die Konfiguration in der Regel in der Datei $HOME/.cshrc und könnte so
aussehen:
Wenn Sie als Administrator die Umgebungsvariablen global für das gesamte System setzen wollen, gehen wir
davon aus, dass Sie sich mit der grundlegenden Systemadministration auskennen.
Daher hier nur zwei Hinweise: 1) schauen Sie nach einer Datei /etc/manpath.config. Falls diese
vorhanden ist, sollte es reichen, folgende Zeilen hinzu zu fügen:
Und 2) prüfen Sie, ob es auf Ihrem System eine Datei /etc/environment gibt, in der die systemweiten
Umgebungsvariablen definiert werden.
Zusätzlich wird ein symbolischer Link man im binary-Verzeichnis unter Unix angelegt. Einige Versionen von
man, so z. B. unter Mac OS X, finden so verlinkte Man-Pages automatisch, so dass hier keine spezielle
Konfiguration für die Man-Pages mehr erforderlich ist.
Falls Sie das Paket xetex aus einem Unix-System installiert haben, sind einige spezielle Einstellungen
erforderlich, damit XeTEX die bei TEX Live mitgelieferten Fonts findet. Hierfür wurde bei der
Installation des Paketes xetex die Datei TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf
erzeugt.
Um die mitgelieferten TEX Live-Schriften systemweit verwenden zu können, gehen Sie bitte
folgendermaßen vor:
Falls Ihnen als normaler Nutzer die entsprechenden Privilegien für die obigen Schritte fehlen, können Sie
die TEX Live-Schriften für sich selbst als XeTEX-Nutzer verwendbar machen:
Üblicherweise verwendet TEX Live eine Datei texmf.cnf, um die Verzeichnisbäume, in denen sich die
Komponenten von TEX Live befinden, zu identifizieren. Diese Methode benutzt relative Pfade, so dass Ihr
TEX Live-System funktioniert, wo immer Sie es auch hin installieren, solange die Verzeichnisstruktur erhalten
bleibt.
Diese Methode funktioniert leider nicht mehr, wenn Sie TEX Live direkt von der DVD benutzen wollen. Da
die DVD ein Nur-Lese-Medium ist, einige der Pfade in texmf.cnf aber erst nach der Installation fest stehen,
muss sich diese Datei außerhalb der DVD befinden. Aus diesem Grund muss eine Umgebungsvariable TEXMFCNF
gesetzt werden, die TEX Live mitteilt, in welchem Verzeichnis sich die Datei texmf.cnf befindet.
Zusätzlich muss sich natürlich – wie im vorigen Abschnitt beschrieben – das Verzeichnis der DVD, in
dem sich die passenden ausführbaren Programme befinden, innerhalb des Suchpfads des Systems
befinden.
Beim Abschluss des Installationsprogramms sollten Sie die notwendigen Informationen erhalten haben, wie
Sie TEXMFCNF setzen müssen. Falls Sie dies übersehen haben, der Wert ist $TEXMFSYSVAR/web2c, wobei im
Normalfall $TEXMFSYSVAR auf das Verzeichnis /usr/local/texlive/2009/texmf-var/web2c verweist. In
diesem Fall benötigen Sie also für die bash den Befehl
bzw. für [t]csh:
Diesen Modus verwenden Sie am Besten, falls Sie TEX Live zwar auf Ihrem eigenen System benutzen
wollen, aber nicht genügend Platz für eine normale Installation auf Ihrer Festplatte haben. Wenn Sie ein
portables TEX Live suchen, das komplett auf einem eingenständigen Medium wie einem USB-Stick läuft, lesen
Sie bitte Abschnitt 5.
Das »alte« ConTEXt sollte direkt lauffähig sein. Falls Sie das neue ConTEXt »Mark IV« verwenden wollen,
sind einige manuelle Nacharbeiten notwendig, die unter http://wiki.contextgarden.net/Running_Mark_IV
beschrieben sind.
Wie bereits in Abschnitt 2.3 erwähnt, ist der Verzeichnisbaum TEXMFLOCAL (im Normalfall
/usr/local/texlive/texmf-local oder %SystemDrive%\texlive\texmf-local) für lokale Ergänzungen wie
Makros und Schriften gedacht, die anschließend allen Benutzern des Systems zur Verfügung stehen. Weiterhin
können Benutzer den Verzeichnisbaum TEXMFHOME (im Normalfall $HOME/texmf oder %USERPROFILE%\texmf)
für persönliche Ergänzungen verwenden, ohne dass andere Benutzer davon beeinflusst werden. Diese
Verzeichnisse sollen über verschiedene Versionen von TEX Live hinweg identisch sein, so dass
ein Update von TEX Live auf eine neue Version einfach möglich ist, ohne dass Sie Ihre lokalen
Ergänzungen verlieren. Wir empfehlen Ihnen daher, von der vorgegebenen Verzeichnisstruktur nicht
abzuweichen.
Für beide oben genannte Verzeichnisbäume erwartet TEX Live eine Verzeichnisstruktur innerhalb
des Baums, die dem TEX Directory Standard entspricht, wie er in http://tug.org/tds bzw.
texmf/web2c/texmf.cnf definiert ist. So gehören Dokumentklassen für LATEX z. B. in ein Verzeichnis
unterhalb von TEXMFLOCAL/tex/latex oder TEXMFHOME/tex/latex.
Der Verzeichnisbaum TEXMFLOCAL wird zur Laufzeit nicht direkt nach Dateien durchsucht. Stattdessen wird
eine Liste von Dateinamen verwendet, sich sich in einer Datei mit dem Namen ls-R befindet. Denken Sie also
daran, nach Änderungen in diesem Baum diese Dateiliste zu aktualisieren, entweder mit dem
Befehl mktexlsr oder die Schaltfläche Reinit file database in dem Konfigurationsreiter von tlmgr im
GUI-Modus.
Die Installation von Schriften, die nicht von TEX Live sind, ist eine recht komplexe Angelegenheit. Sie sollten
sich bereits gut mit dem System auskennen, bevor Sie sich an diese Aufgabe wagen. Schauen
Sie vielleicht vorher in Abschnitt 2.6 nach, welche Schriften bereits bei TEX Live mitgeliefert
werden.
Eine Alternative besteht im Benutzen von XeTEX (s. Abschnitt 2.4), bei dem direkt alle vom
Betriebssystem installierten Schriften verwendet werden können, ohne dass die Installation einer
TEX-Unterstützung notwendig ist.
Falls Sie wirklich weitere Schriften benötigen, finden Sie unter http://tug.org/fonts/fontinstall.html
eine Beschreibung zur Installation weiterer Schriften.
Nach der Installation von TEX Live wollen Sie es natürlich benutzen, um möglichst schöne Dokumente zu
setzen.
Dieser Abschnitt beschreibt, wie Sie prüfen können, ob Ihr TEX Live-System funktioniert. Die folgenden
Beispiele sind für Unix, sollten unter Windows und Mac OS X aber sehr ähnlich sein, abgesehen davon, dass Sie
dort eventuell eine grafische Benutzeroberfläche verwenden.
Erhalten Sie als Resultat statt der Versionsnummer die Meldung, dass der Befehl nicht gefunden wurde,
so haben Sie wahrscheinlich vergessen, das Verzeichnis mit den ausführbaren Programmen in Ihren PATH
aufzunehmen, s. Abschnitt 3.5.3 auf S. 41.
Falls dies schief geht, sind wahrscheinlich noch alte Umgebungsvariablen einer vorigen TEX-Installation
übrig geblieben. Wir empfehlen, die Umgebungsvariablen, die sich auf TEX beziehen, zu entfernen. Für
eine weitere Analyse können Sie TEX anzeigen lassen, wo es bestimmte Dateien sucht, siehe
»Fehlersuche« auf Seite 69.
Einfachere Version von sample2e, um den Fehler einzugrenzen, wenn Sie beim Übersetzen
von sample2e Probleme haben.
Hiermit können Sie prüfen, ob Ihr Drucker Ihren Ausdruck horizontal oder vertikal verschiebt.
Zum Testen von Fonts und Erzeugen von Schrifttabellen.
Erzeugen von Schrifttabellen, aber mit plain TEX.
Das einfachste Testdokument von allen (in plain TEX). Geben Sie am Ende ‘\bye’ ein, wenn
nach dem Aufruf von ‘tex story.tex’ der * erscheint.
In vielen Fällen ist die Installation weiterer Software sinnvoll:
Für weitere Programme siehe http://tug.org/interest.html.
Bei TEX Live ist nicht nur vorgesehen, dass es von mehreren Benutzern auf einem System verwendet werden
kann, sondern auch in einem Netzwerk. In der normalen Konfiguration von TEX Live werden
nur relative, keine absoluten Pfade verwendet. Dies erkennt man an Einstellungen in der Datei
$TEXMFMAIN/web2c/texmf.cnf, die Zeilen wie die folgenden enthält, in denen Verzeichnisse relativ zu den
Verzeichnissen lokalisiert werden, in denen sich die Programme befinden:
Daher ist es im Normalfall ausreichend, das Programm-Verzeichnis in den Suchpfad des Systems aufzunehmen,
alles weitere bestimmt TEX Live dann automatisch.
Daher ist es kein Problem, wenn das Grundverzeichnis von TEX Live als Netzlaufwerk gemountet ist.
Tatsächlich können Sie TEX Live sogar zunächst lokal installieren und dann auf ein Netzlaufwerk
verschieben.
Benutzer von Windows können ein Installationssckript namens w32client für eine Netzwerkinstallation von
http://tug.org/texlive/w32client.html herunter laden. Dieses nimmt die Einstellungen im
Startmenü von Windows für das Verwenden von TEX Live über Netzwerk vor, weiterhin wird
ein Skript zur Deinstallation mitgeliefert. Lesen Sie bitte die Beschreibung auf der angegebenen
Webseite.
Im Abschnitt 3.3.5 wurde beschrieben, wie TEX Live direkt von einer DVD benutzt werden kann. Hierbei
werden einige Verzeichnisse auf der Festplatte angelegt. Dies ist wahrscheinlich kein Problem, wenn Sie dies auf
Ihrem eigenen Rechner verwenden, aber es kann anders aussehen, wenn Sie auf einem fremden Rechner »zu
Gast« sind.
Sie können die Stellen, an denen beim Benutzen von TEX Live von DVD auf der Festplatte Verzeichnisse
angelegt werden, minimieren. Verwenden Sie unter unter Unix das Skript tl-portable oder unter Windows
die Batch-Datei tl-portable.bat, so werden beim ersten Start die Konfigurationsdateien für das Verwenden
des Live-Modus von DVD geschrieben.
Hierzu wird ausschließlich ein Verzeichnis /.tlportable2009 angelegt, in dem diese Dateien abgelegt
werden. Dies kann einen Moment dauern, aber sobald die Dateien einmal da sind, erfolgt der Start des
portablen Modus über die o. a. Programme sehr schnell. Die Konfiguration dieses Modus erfolgt ausschließlich
in dem aktuellen Terminalfenster (bzw. für die aktuelle Eingabeaufforderung), der Rest des Systems bleibt
davon völlig unberührt. Sie können problemlos in mehreren Sitzungen parallel den portablen Modus
benutzen.
Wird hier immer ein Verzeichnis auf der Festplatte angelegt, so ist dies komplett überflüssig, wenn Sie den
portablen Modus von USB-Stick verwenden. Kopieren Sie hierfür alle Dateien, die sich direkt im Verzeichnis
texlive der DVD befinden, sowie (mindestens) die Verzeichnisse bin, texmf, texmf-dist und tlpkg
komplett auf den USB-Stick (dies kann eine Weile dauern!). Beim Kopieren auf einen mit FAT32
formatierten Stick verwenden Sie unbedingt die Option zum Auflösen symbolischer Links (cp
-L). Ein auf dem Stick vorhandenes Verzeichnis texmf-local wird ebenfalls später erkannt und
benutzt.
Wenn Sie nun das Skript tl-portable auf dem USB-Stick (wie oben für die DVD beschrieben) verwenden,
erkennt das Skript, dass der USB-Stick beschreibbar ist und verwendet diesen statt der Festplatte für die
Konfigurationsdateien.
Bei der Installation von TEX Live wird auch das Programm tlmgr installiert, mit dem Sie anschließend Ihr
TEX Live-System verwalten können. Die hierfür bisher verwendeten Programme updmap, fmtutil und texconfig
sind zwar noch vorhanden, aber inzwischen ist tlmgr die vorgesehene Oberfläche zur Konfiguration von TEX
Live. Mit tlmgr können Sie folgende Aufgaben erledigen:
Warning: tlmgr ist für den Live-Modus, bei dem TEX Live von DVD genutzt wird, weder gedacht noch
getestet.
tlmgr im GUI-Modus wird durch Abb. 10 stellt den Reiter zur Konfiguration von TEX Live dar.
Nachdem Sie TEX Live installiert haben, können Sie Ihr TEX Live-System auf den neuesten Stand
aktualisiern: Das folgende Beispiel demonstriert, wie die Collection für XeTEX installiert wird, wobei sich die
Installationsdateien in einem lokalen Verzeichnis befinden:
Wie man sieht, beachtet tlmgr die Abhängigkeiten von Paketen und installiert im obigen Beispiel von
XeTEX benötigte Komponenten nach. Weiterhin werden automatisch im Anschluss die Dateilisten der
Verzeichnisbäume aktualisiert und fehlende Formate generiert.
Informationen zu einem Paket (oder einer Collection oder einem Schema) anzeigen: Hier erhält man folgende Ausgabe:
Die komplette Dokumentation finden Sie unter http://tug.org/texlive/tlmgr.html oder mit
Das Installationsprogramm von TEX Live läuft sowohl unter Windows als auch Unix. Dies war nur dadurch
möglich, dass ältere Versionen von Windows nicht mehr unterstützt werden. Daher kann TEX Live nur noch
ab Windows 2000 oder später installiert werden.
Unter Windows kümmert sich das Installationsprogramm auch um folgende Dinge:
Zusätzlich werden unter Windows einige Programme installiert, die unter Windows meist noch nicht verfügbar
sind:
Das Gegenstück von Windows zum HOME-Verzeichnis unter Unix ist das Verzeichnis %USERPROFILE%. Unter
Windows XP und Windows 2000 liegt es meist im Verzeichnis C:\Documente und Einstellungen\<username>,
unter Windows Vista C:\Users\<username>. In der Datei texmf.cnf und in Kpathsea allgemein wird ~
sowohl unter Unix und Windows korrekt aufgelöst.
Windows verwaltet fast all seine Konfigurationseinstellungen in der Registry. Diese besteht aus einem
hierarchisch aufgebauten Baum von Schlüsseln, wobei mehrere dieser Registry-Bäume existieren. Die
wichtigsten sind HKEY_CURRENT_USER und HKEY_LOCAL_MACHINE, oft abgekürzt als HKCU bzw. HKLM. Der
HKCU-Teil der Registry wird im Home-Verzeichnis des Benutzers gespeichert (s. Abschnitt 7.3). HKLM liegt im
Normalfall in einem Unterverzeichnis des Windows-Verzeichnisses.
In einigen Fällen sind Systeminformationen aus Umgebungsvariablen ersichtlich, in vielen anderen Fällen
liegen diese Informationen aber in der Registry.
In neueren Versionen von Windows wird zwischen normalen Benutzern und Administratoren unterschieden,
wobei nur letztere freien Zugang auf alle Teile des Betriebsystems haben. Im Gegensatz zu Unix ist es in der
Praxis allerdings häufig so, dass Benutzer zur Klasse der Administratoren gehören und daher doch alle
Freiheiten haben. Trotzdem haben wir einigen Aufwand getrieben, damit TEX Live auch unter Windows ohne
Administrator-Rechte installiert werden kann.
Falls der Benutzer, der TEX Live installiert, Administrator-Rechte besitzt, kann TEX Live für alle
Benutzer des Systems installiert werden, d. h. Verknüpfungen, Menüs und Systemeinträge werden für alle
Nutzer angelegt. Ansonsten werden diese nur für den aktuellen Benutzer angelegt.
Unabhängig davon wird grundsätzlich angenommen, dass das Wurzelverzeichnis von TEX Live unter
%SystemDrive% liegen soll. Allerdings testet das Installationsprogramm, ob dieses Verzeichnis für den aktuellen
Benutzer schreibbar ist.
Ein Problem entsteht, wenn TEX Live ohne Administrator-Rechte installiert wird und sich bereits ein
TEX-System im systemweiten Suchpfad befindet. Windows benutzt zuerst den Suchpfad des Systems, erst
dann den spezifischen Suchpfad des Nutzers, so dass hier immer zuerst das alte TEX-System
gefunden wird. Als Workaround wird hier eine Verknüpfung mit einer Eingabeaufforderung erzeugt, in
der das Programmverzeichnis von TEX Live im Suchpfad vor den Standardsuchpfad geschrieben
wird. Dies bedeutet, dass in diesem Fall nur in einer Eingabeaufforderung verfügbar ist, die über
diese Verknüpfung gestartet wird. Die Verknüpfung für TEXworks (falls Sie dieses installieren)
fügt ebenfalls automatisch TEX Live am Anfang des Suchpfades ein, so dass es direkt benutzbar
ist.
Unter Vista gibt es einen weitern Fallstrick. Selbst wenn Sie als Administrator angemeldet sind, müssen Sie
Programme trotzdem explizit mit Administratorrechten starten. Insofern ist es tatsächlich nicht sehr sinnvoll,
sich als Administrator anzumelden. Klicken Sie stattdessen auf das gewünschte Programm (bzw. die
gewünschte Verknüpfung) mit der rechten Maustaste, damit Sie die Option erhalten, dieses mit
Administratorrechten auszuführen.
Web2C besteht aus einer Reihe von Programmen, die zusammen ein komplettes TEX-System darstellen. Dazu
gehören natürlich TEX, Metafont, MetaPost, BibTeX usw.
Die erste Implementierung eines TEX-Systems in der Programmiersprache C stammt von Tomas Rokicki
und datiert zurück in das Jahr 1987. Rokicki benutzte als Basis sog. Change-Files unter UNIX, die
ursprünglich von Howard Trickey und Pavel Curtis entwickelt wurden. Tim Morgan hat dieses System, für
das der Name Web-to-C eingeführt wurde, gepflegt. 1990 hat Karl Berry mit Unterstützung vieler Helfer die
Weiterentwicklung übernommen und 1997 an Olaf Weber weitergegeben, der es 2006 wieder an Karl zurück
gab.
Web2C läuft unter UNIX, 32-bit-Versionen von Windows, Mac OS X und auf weiteren Betriebssystemen. Es
benutzt die Original-Quelldateien von Donald E. Knuth und weitere in der Sprache WEB entwickelte
Programme als Basis und übersetzt diese in C-Quell-Code. Darüber hinaus bietet das System viele Makros und
Funktionen zur Nutzung der originalen TEX-Software. Hier eine Liste der Basisprogramme eines
TEX-Systems:
Die genaue Funktionsweise und die möglichen Parameter sind der Beschreibung der jeweiligen Pakete
bzw. der Web2C-Dokumentation zu entnehmen. Trotzdem wird ein Überblick über Zusammenspiel und
Funktionsweise der Web2C-Programme Ihnen sicherlich helfen, besser mit dem System zurechtzukommen.
Zunächst verstehen alle Programme die grundlegenden Parameter der GNU-Software:
Die Programme des Web2C-Systems benutzen zum Lokalisieren der benötigten Dateien im Dateisystem die
Kpathsea-Bibliothek (http://tug.org/kpathsea). Diese Bibliothek optimiert und beschleunigt den
Suchprozess im Dateisystem. Ihre Arbeitsweise wird durch einige Umgebungsvariablen und eine
Konfigurationsdatei gesteuert. Web2C 7.5 kann mehr als einen Dateibaum gleichzeitig verwalten und
ermöglicht somit die schon beschriebene TEX Live-Installation unter Verwendung der CDROM oder DVD mit
der Ablage modifizierter Konfigurationsdateien und zusätzlicher Zeichensätze in einem zweiten Dateibaum. Die
Suche nach Dateien wird durch die Analyse der Datei ls-R beschleunigt, die in jedem Wurzelverzeichnis eines
TEX-Dateibaums vorhanden ist. Sie enthält für jede Datei die genaue Position im Dateibaum relativ zum
Wurzelverzeichnis.
Wir beschreiben zunächst den grundlegenden Suchmechanismus der Kpathsea-Bibliothek.
Ein Suchpfad ist eine durch Kommata oder Semikola getrennte Liste von Pfadkomponenten,
die üblicherweise Verzeichnisnamen darstellen. Ein Suchpfad kann sich aus vielen Komponenten
zusammensetzen. Die Suche nach einer Datei ‘my-file’ über den Suchpfad ‘.:/dir’ bewirkt, dass Kpathsea
jede Komponente nacheinander überprüft, also zunächst ‘./my-file’ und dann ‘/dir/my-file’.
Als Ergebnis wird entweder die erste gefundene Datei oder eine Liste aller passenden Dateien
geliefert.
Um auf allen Dateisystemen effizient arbeiten zu können, verwendet Kpathsea ggf. andere Datei-/
Verzeichnis-Separatoren als ‘:’ und ‘/’.
Beim Überprüfen einer Pfadkomponente p überprüft Kpathsea zunächst, ob eine Dateinamen-Datenbank
(siehe auch Dateinamen-Datenbank auf Seite 65) für die Pfadkomponente zuständig ist, d. h. beispielsweise
steht die Datenbank in einem Verzeichnis, das im Pfad vor der zu überprüfenden Komponente
p steht. In diesem Fall wird zur Bestimmung der Position der gesuchten Datei die Datenbank
herangezogen.
Nur wenn keine passende Datenbank existiert oder wenn die Datei nicht in der Datenbank gefunden wird,
durchsucht Kpathsea das Dateisystem. Diese zeitaufwändige Suche kann über die Spezifikation der
Pfadkomponente p mit dem Präfix ‘!!’ unterbunden werden. Zur Suche erzeugt Kpathsea eine Liste der
Verzeichnisse, die im Pfadelement enthalten sind, und durchsucht jedes dieser Verzeichnisse nach der gesuchten
Datei.
Für Dateien kann auch ein Schalter ‘file must exist’ gesetzt werden (»Datei muss vorhanden
sein«). Wenn dieser Schalter nicht gesetzt ist und beispielsweise über das TEX-Kommando \openin
eine VF-Datei wie cmr10.vf gelesen werden soll, wäre es falsch, nach dieser Datei zu suchen,
weil es sie gar nicht gibt. Speziell für neu installierte VF-Dateien sollten Sie also unbedingt die
Dateinamen-Datenbank (ls-R) aktualisieren, weil die Dateien sonst nicht gelesen werden und kein
Fehler angezeigt wird. Dieser Vorgang wiederholt sich für jede Komponente eines Suchpfades:
zunächst wird die Datenbank überprüft, danach ggf. das Dateisystem. Wird die Datei gefunden,
stoppt die Suche (normalerweise) und als Ergebnis wird der komplette Pfad zur gesuchten Datei
ausgegeben.
Außer Verzeichnisnamen dürfen Pfadkomponenten für Kpathsea folgende Elemente enthalten:
(verschachtelte) Vorgaben, Umgebungsvariablen, Werte aus der Konfigurationsdatei, Home-Verzeichnisse von
Benutzern und Startverzeichnisse für eine rekursive Suche. Diese Elemente werden vor einer Dateisuche von
Kpathsea in gewöhnliche Verzeichnis- oder Dateinamen expandiert. Diese Expansion wird in den folgenden
Abschnitten erklärt, und zwar genau in der Reihenfolge, wie die Elemente auch von Kpathsea bearbeitet
werden.
Beachten Sie, dass Kpathsea bei absoluten und explizit relativen Komponenten, d. h. wenn die Komponente
mit den Zeichen ‘/’, ‘./’ oder ‘../’ beginnt, nur überprüft, ob die Datei existiert.
Ein Suchpfad kann aus vielen verschiedenen Bestandteilen aufgebaut werden. Dies sind in der Reihenfolge, wie
Kpathsea sie auswertet:
Unter Verwendung der Parameter zur Fehlersuche können Sie sich diese Werte für einen Suchpfad auch
anzeigen lassen. (Siehe dazu den Abschnitt Fehlersuche auf Seite 69.)
Die Kpathsea-Bibliothek liest zur Laufzeit die Konfigurationsdateien mit den Namen texmf.cnf. Der
zugehörige Suchpfad zum Auffinden dieser Konfigurationsdateien steht in der Umgebungsvariablen TEXMFCNF
(die Voreinstellung ist texmf/web2c). Kpathsea liest alle Dateien mit den Namen texmf.cnf, die es in diesem
Suchpfad findet. Die zuerst gelesenen Definitionen haben dabei Vorrang vor später gelesenen Werten. Wenn
der Suchpfad auf .:$TEXMF steht, überschreiben die Einstellungen in ./texmf.cnf diejenigen in
$TEXMF/texmf.cnf.
Im Folgenden wird die Syntax der Datei texmf.cnf angegeben. Konsultieren Sie zum besseren Verständnis
beim Lesen die auf der CDROM oder DVD enthaltene Konfigurationsdatei.
Das Zeichen »=« und umgebender Leerraum dürfen entfallen.
Der Ausschnitt einer Konfigurationsdatei demonstriert diese Möglichkeiten.
Kpathsea verwendet in Suchpfaden ähnliche Zeichen und Konstrukte wie UNIX-Shells. Beispielsweise wird die
Definition ~$USER/{foo,bar}//baz in alle Unterverzeichnisse von foo und bar unterhalb vom
Home-Verzeichnis von $USER expandiert, die eine Datei oder ein Unterverzeichnis namens baz enthalten. Der
Expansionsmechanismus wird im Folgenden erklärt.
Wenn der Suchpfad mit der höchsten Priorität (siehe hierzu »Bestandteile von Pfadkomponenten« auf
Seite 60) einen zusätzlichen (vorangestellten, nachgestellten oder verdoppelten) Doppelpunkt enthält, wird an
dieser Stelle der Suchpfad eingefügt, der als nächstes in der Hierarchie folgt. Auch bei diesem gilt dieselbe
Regel. Wenn beispielsweise die Umgebungsvariable
gesetzt wird (hier: C-Shell) und in texmf.cnf die Variable TEXINPUTS folgenden Wert erhält
dann lautet der Suchpfad schließlich:
Da es sinnlos wäre, denselben Pfad mehrfach einzufügen, wird die Ersetzung nur einmal vorgenommen, und
zwar in der Reihenfolge vorne, hinten und Mitte. Mehrfach verdoppelte Doppelpunkte bleiben
unverändert.
Die Expansion geschweifter Klammern ist zur Definition mehrerer TEX-Hierarchien sehr nützlich.
Beispielsweise wird v{a,b}w zu vaw:vbw. Verschachtelungen sind dabei erlaubt. Diese Technik
wird dazu benutzt, durch eine Zuweisung an $TEXMF verschiedene TEX-Hierarchien einzuführen.
Als Beispiel finden Sie in texmf.cnf folgende Definition (etwas gekürzt, tatsächlich ist es etwas
komplexer):
Eine Anwendung wie
führt dann dazu, dass erst im aktuellen Verzeichnis gesucht wird, dann im gesamten Dateibaum
$TEXMFHOME/tex und $TEXMFLOCAL/tex (auf der Festplatte) und schließlich im gesamten Dateibaum
$TEXMFVAR/tex sowie $TEXMFMAIN/tex (nur in der Datenbank ls-R) durchsucht wird. Dadurch kann man
bequem zwei parallel installierte TEX-Hierarchien durchsuchen, beispielsweise eine unveränderliche auf
CDROM/DVD und eine dynamisch angepasste auf Festplatte, in der neue Programmversionen und zusätzliche
Zeichensätze installiert werden. Durch die Verwendung der Variablen $TEXMF in allen Definitionen wird
grundsätzlich zuerst der neuere Dateibaum durchsucht.
Zwei oder mehrere aufeinanderfolgende Schrägstriche (//) in einer Pfadkomponente, die auf einen
Verzeichnisnamen d folgen, werden expandiert zu allen Unterverzeichnissen von d. Dieser Vorgang findet
rekursiv statt, wobei erst alle Verzeichnisse auf einer Ebene bearbeitet werden, dann deren Unterverzeichnisse,
usw. Auf den jeweiligen Ebenen ist nicht beeinflussbar, in welcher Reihenfolge die Unterverzeichnisse
bearbeitet werden.
Wenn nach den Schrägstrichen Namen angegeben werden, dann werden nur Unterverzeichnisse mit
passenden Namen in die Suche einbezogen. Beispielsweise wird ‘/a//b’ in die Pfade /a/1/b, /a/2/b, /a/1/1/b
usw. expandiert, aber nicht zu /a/b/c oder /a/1. (Jeweils vorausgesetzt, dass die Verzeichnisse
existieren.)
Mehrere ‘//’-Konstruktionen innerhalb einer Pfadkomponente sind zulässig, allerdings nicht am
Pfadanfang.
Die folgende Zusammenfassung fasst alle Sonderzeichen zusammen, die in den Kpathsea-Konfigurationsdateien
auftreten können:
Kpathsea unternimmt etliche Anstrengungen, um den Zugriff auf Festplatte und CDROM/DVD zur Suche
nach Dateien zu reduzieren. Auf TEX-Systemen mit vielen Unterverzeichnissen kann die Suche in jedem
möglichen Verzeichnis nach einer bestimmten Datei eine lange Zeit in Anspruch nehmen, besonders
wenn einige Hundert Zeichensatzverzeichnisse durchforstet werden müssen. Um dieses Problem
abzumildern, benutzt Kpathsea eine Art Datenbankdatei namens ls-R, die die Zuordnung von
Dateinamen auf Verzeichnisse enthält. Dadurch muss nicht jedesmal die Festplatte durchsucht
werden.
Eine zweite Datenbank in der Datei aliases kann eine Zuordnung zwischen den Namen in ls-R und
weiteren Namen vornehmen und so beispielsweise hilfreich bei der Umsetzung von ‘8.3’-DOS-Dateinamen auf
die »echten«, aussagekräftigen Dateinamen zur Seite stehen.
Wie schon öfters erwähnt, muss die Dateinamen-Datenbank in der Datei ls-R gespeichert sein. Sie sollten eine
solche Datenbank für jede TEX-Hierarchie (normalerweise in $TEXMF) Ihres Systems anlegen. Kpathsea sucht
die Datenbanken ls-R über den Pfad TEXMFDBS.
Es wird empfohlen, die Pflege der ls-R-Dateien dem mitgelieferten Skript mktexlsr zu überlassen. Dieses
Skript wird automatisch von den verschiedenen ‘mktex*’-Skripten aufgerufen. Das Skript ruft grob gesagt den
Befehl
auf, falls das Kommando ls Ihres Rechners eine Ausgabe im richtigen Format liefert. (So wie das GNU-ls.)
Wenn Sie ganz sichergehen wollen, dass die Datenbank immer auf dem neuesten Stand ist, sollten Sie sie
in regelmäßigen Abständen mit Hilfe eines crontab-Eintrags aktualisieren lassen. Dadurch wird
nach einer Installation eines Pakets per Hand trotzdem sichergestellt, dass die Datenbank aktuell
ist.
Wenn eine Datei nicht über die Datenbank gefunden wird, sucht Kpathsea normalerweise auf der
Festplatte weiter. Wenn eine Pfadkomponente mit ‘!!’ beginnt, wird dagegen niemals die Festplatte
durchsucht.
Mit dem Programm kpsewhich können Sie unabhängig vom Aufruf irgendeines TEX-Programms nach Dateien
in der TEX-Hierarchie suchen (als schnellere Alternative zu dem Befehl find). Dies wird von den verschiedenen
‘mktex…’-Skripten bis zum Exzess vorexerziert.
Die Optionen werden entweder mit ‘-’ oder mit ‘--’ eingeleitet. Jede eindeutige Abkürzung ist
zulässig.
Argumente der Kommandozeile, die keine Optionen darstellen, werden als Dateinamen interpretiert. Für
jeden Dateinamen wird der erste passende Pfad gemeldet. Um eine Liste aller passenden Pfade zu erhalten,
müssen Sie das UNIX-Kommando find aufrufen.
Im Folgenden werden die häufiger benutzten Optionen beschrieben.
Wir schauen uns nun die Funktionsweise von Kpathsea anhand einiger Beispiele an.
Wir suchen unter den TEX-Quelldateien nach der Datei article.cls. Da die Namensendung ‘.cls’
eindeutig ist, müssen wir den Typ ‘.tex’ nicht angeben. Die ‘texmf-dist’-Hierarchie enthält die Datei im
Unterverzeichnis tex/latex/base. Ähnlich bereiten die folgenden Beispiele auf Grund eindeutiger
Namensendungen keine Probleme.
Beim letzten Beispiel handelt es sich übrigens um eine BibTeX-Literaturdatenbank für TUGBoat-Artikel.
Zeichensatzdateien mit der Namensendung ‘.pk’ werden von Anzeige- oder Druckaufbereitungsprogrammen
wie dvips und xdvi verwendet. Nachdem wir aufgrund der Voreinstellung keine .pk-Dateien verwenden, sondern
die PostScript-Type 1-Zeichensätze, die auf der CDROM/DVD enthalten sind, wird auch keine .pk-Datei
angezeigt.
Durch die Angabe »-dpi=300« interessieren wir uns nur für Zeichensätze mit der Auflösung
300 dpi. Es wurde keiner gefunden. Programme wie dvips oder xdvi lassen einen solchen fehlenden
Zeichensatz durch den Aufruf des Skripts mktexpk mit entsprechenden Parametern automatisch
erzeugen.
Als nächstes wenden wir uns den Header- und Konfigurationsdateien von dvips zu. Zunächst suchen wir
nach der Konfiguration für die TEX-Unterstützung, dem Prolog tex.pro. Danach suchen wir die allgemeine
Konfigurationsdatei (config.ps) und schließlich die PostScript-Zeichensatzzuordnungsdatei psfonts.map.
Dateien dieser Art haben seit der 2004er-Version der TEX Live ihre eigenen Suchpfade und einen neuen
Aufbewahrungsort im texmf-Baum. Da die Namensendung ‘.ps’ nicht eindeutig ist, müssen wir den
gewünschten Typ (‘dvips config’) für die Datei config.ps spezifizieren.
Jetzt suchen wir nach den Dateien für den PostScript-Zeichensatz »URW Times«. Nach dem
Namensschema von Karl Berry beginnen die Namen mit »utm«. Zunächst suchen wir die Konfigurationsdatei,
die den Namen der Zeichensatzzuordnungsdatei enthält.
Diese Datei enthält folgende Anweisung:
Die angegebene Datei utm.map wollen wir als nächstes suchen:
Diese Zuordnungsdatei wird im Unterverzeichnis urw bei den Hilfsdateien für dvips gefunden. Sie enthält die
Dateinamen der Type 1-PostScript-Zeichensätze, die für URW Times benutzt werden. Ein kleiner Auszug aus
dieser Datei:
Wenn wir jetzt beispielsweise nach dem Zeichensatz Times Regular (utmr8a.pfb) suchen, finden wir ihn im
Verzeichnis texmf unter den Type 1-Zeichensätzen:
Diese Beispiele sollten deutlich gemacht haben, wie leicht bestimmte Dateien im TEX-Dateibaum
gefunden werden können. Dies ist sehr wichtig, wenn Sie den Verdacht haben, dass eine falsche
Version einer Datei verwendet wird: Sie lassen sich einfach die verwendete Datei von kpsewhich
anzeigen.
Manchmal ist wichtig, bis ins Detail nachzuvollziehen, wie ein Programm eine bestimmte Datei findet. Zu
diesem Zweck bietet die Kpathsea-Bibliothek verschiedene Stufen für den Umfang der Fehlersuche
an.
Durch die Angabe von ‘-1’ setzen Sie alle Stufen gleichzeitig. Für eine effiziente Fehlersuche sollten Sie sich
auf die wichtigsten Ausgaben beschränken.
Für dvips gibt es einen ähnlichen Mechanismus zur Erzeugung von Analysemeldungen, um herauszufinden,
warum bestimmte Dateien geöffnet wurden bzw. wo vielleicht das Problem liegt, wenn Dateien nicht gefunden
werden.
Da fast alle Programme die Kpathsea-Bibliothek benutzen, können Sie die gewünschte Stufe auch über die
Umgebungsvariable KPATHSEA_DEBUG einstellen, indem Sie einen der Werte oder eine additive Kombination
spezifizieren.
Anmerkung für Windows-Benutzer: Es ist nicht einfach, alle Meldungen in eine Datei umzulenken. Für die
Fehlersuche jedoch ist die folgende (temporäre!) Vereinbarung sinnvoll:
SET KPATHSEA_DEBUG_OUTPUT=err.log
Wir betrachten als Beispiel eine kleine LATEX-Quelldatei mit dem Namen hello-world.tex mit
folgendem Inhalt:
Diese Datei verwendet nur einen Zeichensatz, nämlich cmr10. Wir sehen uns jetzt einmal genau an, wie
dvips die PostScript-Datei erzeugt. Da wir die Type 1-Variante der Computer-Modern-Roman-Zeichensätze
verwenden wollen, haben wir die Option -Pcms verwendet.
Hier haben wir als Stufe zur Fehlersuche eine Kombination der Stufe 4 von dvips (siehe dvips-Handbuch,
texmf/doc/html/dvips/dvips_toc.html?). Die Ausgabe sieht ungefähr so wie in Abbildung 12 dargestellt
aus (die Ausgabe wurde für einen besseren Überblick etwas umgestaltet).
Zunächst sucht dvips (bzw. Kpathsea) seine Konfigurationsdateien, nämlich texmf.cnf (das die Pfade der
anderen Dateien enthält), dann die Dateinamen-Datenbank ls-R (zur Optimierung der Suche) und die Datei
aliases, mit deren Hilfe für eine Datei mehrere Namen vereinbart werden können, z. B. um die kurzen
‘8.3’-DOS-Namen mit aussagefähigen, langen Namen zu assoziieren. Danach wird die allgemeine
dvips-Konfigurationsdatei config.ps, anschließend die benutzerspezifische Konfigurationsdatei .dvipsrc (wird
hier nicht gefunden) gesucht. Als letztes sucht dvips die Zuordnungsdatei für Computer-Modern-PostScript-
Zeichensätze config.cms (bedingt durch die Option -Pcms beim Aufruf von dvips). Diese Datei
enthält die Dateinamen der Listen, die die Zuordnung zwischen Dateinamen und Zeichensatznamen
herstellen.
dvips versucht, diese Dateien und zusätzlich die allgemeine Zeichensatzzuordnungstabelle psfonts.map
zu laden, die immer konsultiert wird; der letzte Teil von Abschnitt 8.2.3 erklärt diese Tabellen
genauer.
Jetzt erfolgt die normale Startmeldung von dvips:
Es geht weiter mit cmr10.tfm und einigen weiteren Prologdateien, deren Ausgaben wir hier weglassen.
Letztlich wird die Type 1-Zeichensatzdatei cmr10.pfb gesucht (und gefunden) und in die Ausgabedatei
integriert (siehe letzte Zeile).
Zu den willkommenen Erweiterungen von Web2C zählt die Möglichkeit, zur Laufzeit einige Speichergrößen
über die Datei texmf.cnf anpassen zu können (insbesondere die Größe einiger Stacks). Eine ausführliche
Liste der veränderbaren Parameter finden Sie in der Datei texmf.cnf. Die wichtigsten Werte
sind:
Natürlich sind diese Parameter kein Ersatz für eine wirklich dynamische Speicherverwaltung. Mit der
gegenwärtigen Version von TEX ist dieses Konzept aber nur extrem schwer zu implementieren; darum stellt
dieses Verfahren eine praktikable Lösung dar.
Die TEX Live ist eine gemeinsame Arbeit faktisch aller TEX Users Groups.
Die Entwicklung des vorliegende TEX Live-Releases wurde Karl Berry geleitet; die übrigen
Haupt-Mitarbeiter sind im Folgenden aufgelistet.
Lauffähige Programme: Peter Breitenlohner (x86_64-linux), Karl Berry (i386-linux, sparc-linux), Ken
Brown (i386-cygwin), Akira Kakuto (win32), Dick Koch (universal-darwin), Norbert Preining (alpha-linux),
Jukka Salmi (i386-netbsd), Thomas Schmitz (powerpc-linux), Apostolos Syropoulos (i386-solaris), Vladimir
Volovich (powerpc-aix, sparc-solaris), Olaf Weber (mips-irix).
Informationen dazu, wie Binaries für TEX Live erzeugt werden, finden sich unter
http://tug.org/texlive/build.html.
Übersetzungen der Dokumentation:
Natürlich haben wir am meisten Donald Knuth zu danken, einmal dafür, dass er TEX erfand und dann
dafür, dass er es der Welt schenkte.
Diese Ausgabe der TEX Live ist in Zusammenarbeit der TEX Users Group (TUG), der UKTUG, der
französischen TEX-Vereinigung GUTenberg und der deutschsprachigen TEX-Anwendervereinigung (DANTE
e. V.) unter Mithilfe der niederländischen, tschechischen/slowakischen, indischen, polnischen und russischen
TEX-Benutzergruppen entstanden.
Die niederländische TEX-Benutzergruppe hatte Ende 1993 mit der Produktion der 4AllTEX-CDROM für
MS-DOS die Diskussion angeregt, eine einzige CDROM für alle Rechnersysteme zu entwickeln. Zum damaligen
Zeitpunkt war dieses Ziel zu hoch gesteckt, doch immerhin entstand aus dieser Diskussion nicht nur die sehr
erfolgreiche 4AllTEX-CDROM, sondern auch die TUG-Arbeitsgruppe zur Definition der TEX
Directory Structure TDS, die die zur Arbeit mit TEX notwendigen und hilfreichen Dateien in eine
konsistente und handhabbare Verzeichnisstruktur einbettet. Das »Final Draft«-Dokument, das diese
Verzeichnisstruktur festlegt, wurde in der Dezember-Ausgabe 1995 der TUGBoat veröffentlicht. Schon
frühzeitig war den Beteiligten klar, dass eine CDROM auf der Basis der TDS sehr zu begrüßen
wäre. Die TEX Live-CDROM war das direkte Resultat der Beratungen der TDS-Arbeitsgruppe.
Außerdem hat der Erfolg der 4AllTEX-CDROM klargemacht, dass ein ähnliches System auch für
UNIX-Benutzer eine Erleichterung darstellen würde. Dies war der zweite Beweggrund für die TEX
Live-CDROM.
Im Herbst 1995 wurde das Projekt, eine TDS-basierte UNIX-CDROM zu entwickeln, in Angriff genommen.
Sehr schnell stießen die Verantwortlichen auf das teTEX-System von Thomas Esser als idealen
Ausgangspunkt für diese Arbeit, weil es verschiedene Rechnerplattformen unterstützte und für die Arbeit
mit verschiedenen Dateisystemen vorgesehen war. Anfang 1996 wurde in Zusammenarbeit mit
Thomas Esser ernsthaft mit der Arbeit begonnen und im Mai 1996 die erste Ausgabe der CDROM
veröffentlicht.
Anfang 1997 stellte Karl Berry eine neue Version seines Web2C-TEX-Systems vor, das schon nahezu alle
Ausstattungsmerkmale aufwies, die Thomas Esser mit teTEX verwirklicht hatte. Die TUG entschied
sich daraufhin, die zweite Version der CDROM auf der Basis von Web2C unter Verwendung des
Installations-Skripts texconfig aus dem teTEX-Paket zu entwickeln.
Die dritte Ausgabe basierte auf der inzwischen von Olaf Weber gepflegten und weiter entwickelten
Web2C Version 7.2; TEX Live unterstützte fast alle Eigenschaften der zur selben Zeit entstandenen neuen
Version von teTEX.
Die vierte Ausgabe folgte demselben Schema, indem ihr neue Versionen von teTEX und Web2C (7.5)
zugrunde lagen. Fast die gesamte CDROM wurde einer kritischen Überprüfung unterzogen, wobei besonders
darauf geachtet wurde, dass doppelte Dateien entfernt wurden und die Einordnung der Pakete konsistent
erfolgte. Zudem enthielt diese Ausgabe ein komplettes Windows-Setup.
Für die fünfte Ausgabe im März 2000 wurden wiederum große Teile der CDROM ersetzt, wobei Hunderte
von überarbeiteten Paketen aufgenommen wurden. Omega, pdfTEX und Teile der TEX-Support-Programme
(hier insbesondere xdvi, dvips und tex4ht) lagen in neuer Version vor. Die Hauptänderung bei der TEX Live 5
betraf die ‘non-free’-Software. Alles auf dieser CDROM war nun in Übereinstimmung mit den Debian Free
Software Guidelines (http://www.debian.org/intro/free). Wir haben unser Bestes versucht, die
Lizenzbedingungen aller Pakete zu überprüfen, sind aber dankbar, wenn wir auf Fehler hingewiesen
werden.
Die sechste Ausgabe der TEX Live vom Juli/August 2001 enthielt die neuesten Versionen aller Pakete und
Programme. Das neue Installationskonzept stellte die größte Änderung dar: Der Benutzer konnte nun viel
genauer gewünschte bzw. nicht erwünschte Sammlungen und Pakete auswählen. Dabei wurden die
sprachspezifischen Sammlungen komplett überarbeitet, so dass sie jetzt automatisch nicht nur
Makros, Fonts usw. installierten, sondern zusätzlich die notwendigen Einträge in language.dat
vornahmen.
Die siebte Ausgabe vom Mai 2002 enthält als größte Änderungen Mac OS X und wieder unzählige
Updates aller Pakete und Programme. Ein wesentliches Ziel war zudem die Wiedererstellung einer
gemeinsamen Quelle mit teTEX, um das Auseinanderlaufen seit TEX Live 5 und TEX Live 6 zu
korrigieren.
Im Jahr 2003 war die Flut von Updates und neuen Paketen so groß geworden, dass wir feststellen mussten:
»TEX Live passt nicht mehr auf eine einzelne CDROM«. Und so wurde sie in drei verschiedene Distributionen
aufgeteilt (siehe Abschnitt 2.1 auf Seite 8). Des Weiteren:
Nach den .map-Dateien wird jetzt in den fonts/map-Unterverzeichnissen im TEXFONTMAPS-Pfad
gesucht (in jedem texmf-Baum). Gleichzeitig werden .enc-Dateien
jetzt in den fonts/enc-Unterverzeichnissen entlang des ENCFONTS-Pfads gesucht. Das Programm
updmap versucht, bei problematischen Dateien zu warnen.
Informationen darüber, wie das gehandhabt wird, und zusätzliche Informationen finden Sie unter
http://tug.org/texlive/mapenc.html.
Anmerkung: Da TEX byte-orientiert ist, können bei einer Unicode-Eingabe (2-Byte-Zeichen)
im Kontext von Fehlermeldungen Folgen von 1-Byte-Zeichen ausgegeben werden.
Das bedeutet, dass es wichtiger denn je ist, das Paket ifpdf zu benutzen (es arbeitet sowohl
mit plain TEX als auch mit LATEX), da der einfache Test, ob \pdfoutput oder ein anderer
TEX-Grundbefehl (primitive) definiert ist, nicht verlässlich genug ist für die Entscheidung, ob
eine PDF-Ausgabe erzeugt wird. Wir haben das rückwärts-kompatibel gemacht, so gut wir das
dieses Jahr konnten; nächstes Jahr aber soll \pdfoutput so beschaffen sein, dass dieser Befehl
auch dann definiert ist, wenn DVI-Code erzeugt wird.
Für zusätzliche Informationen siehe das Web2C-Handbuch: texmf/doc/web2c.
Im Jahr 2005 gab es – wie üblich – viele aktualisierte Pakete und Programme. Die Struktur des Systems blieb
weitgehend gleich, mit folgenden Ausnahmen:
Der wichtigeste Neuzuwachs in der Ausgabe 2006–2007 von TEX Live war das XeTEX Programm, verfügbar
durch die xetex und xelatex Programme; siehe http://scripts.sil.org/xetex.
Auch MetaPost erhielt ein bemerkenswertes Update, mit weiteren geplannten Änderungen
(http://tug.org/metapost/articles), ebenso pdfTEX (http://tug.org/applications/pdftex).
Das (plain) tex-Programm liest nicht mehr erste Zeilen mit %& um das Format zu bestimmen. Es ist ein
reines Knuth-TEX. (LATEX und alle anderen Formate lesen weiterhin %&-Zeilen).
Weiters wurden wie üblich hunderte von Paketen und Programmen auf einen neueren Stand gebracht. Für
weiter Updates wenden Sie sich bitte an CTAN (http://www.ctan.org).
Die Entwicklungsumgebung wurde auf Subversion umgestellt, was ein Webinterface für den
Entwicklungsbaum beisteuerte. Dieses Webinterface ist von der Homepage verlinkt. Obwohl dieser Umstieg in
der Distribution nicht zu erkennen ist, erwarten wir uns ein stabiles Fundament für die Entwicklung in den
nächsten Jahren.
Schließlich hat im Mai 2006 Thomas Esser das Ende seiner Entwicklung von teTEX (http://tug.org/tetex)
angekündigt. Als Konsequenz ist das Interesse an TEX Live, besonders unter den GNU/Linux-Distributoren
angestiegen. (TEX Live bietet nun ein tetex-Installationsschema, dass annähernd den Umfang von teTEX
umfasst.) Wir hoffen dass dies schlussendlich zu einer Verbesserung der TEX-Umgebung für jederman
führt.
Die komplette Infrastruktur von TEX Live wurde 2008 neu entwickelt. Die gesamten Daten, die
für die Installation benötigt werden, finden sich nun in einer einzigen Textdatei mit dem Namen
tlpkg/texlive.tlpdb.
Dies ermöglicht es unter anderem, ein Update einer installierten Version von TEX Live über das Internet
durchzuführen, was für MiKTEX schon seit Jahren möglich ist. Wir planen regelmäßige Updates
bereitzustellen, wenn Pakete auf CTAN aktualisiert werden oder neu erscheinen.
Als neues Programm ist LuaTEX (http://luatex.org) enthalten, das neben neuen Möglichkeiten
innerhalb des Satzsystems eine hervorragende Skriptsprache zur Verfügung stellt, die inner- und außerhalb von
TEX benutzt werden kann.
Die Unterstützung von TEX Live für Windows und Unix ist mittlerweile praktisch äquivalent. Die meisten
Perl- und Lua-Skripte können nun auch unter Windows verwendet werden, da innerhalb von TEX Live Perl
integriert ist.
Das neue tlmgr-Programm (Abschnitt 6) ist eine komplette Oberfläche zum Verwalten von
TEX Live nach der Installation. Es ermöglicht das Aktualisieren von Paketen, die Neugenerierung
von Formatdateien, Fontmaps und die Konfiguration der TEX-Unterstützung für verschiedene
Sprachen.
Nach der Einführung von tlmgr sind die Funktionen von texconfig zur Konfiguration von Formatdateien und
Trennmustern deaktiviert worden.
Der Index-Prozessor xindy (http://xindy.sourceforge.net/) ist nun für die meisten Betriebssysteme
integriert.
Das Programm kpsewhich kann nun alle Fundstellen für eine gesuchte Datei anzeigen (Option –all) oder
die Suche auf ein bestimmtes Verzeichnis einschränken (Option –subdir).
Das Programm dvipdfmx kann nun Informationen über die Bounding Box liefern, was über die
Kommandozeile mit dem Befehl extractbb aufgerufen werden kann; dies war die letzte Funktion von dvipdfm,
die noch nicht in dvipdfmx vorhanden war.
Die Font-Aliasnamen Times-Roman, Helvetica usw. wurden abgeschafft.
Das Makro-Format platex wurde entfernt, um den Namenskonflikt mit dem japanischen platex auf zu lösen;
Unterstützung für polnisch wird nun vom Paket polski zur Verfügung gestellt.
Die WEB string pool files wurden in die Programme einkompiliert, um Updates zu vereinfachen.
Und abschließend sind die Änderungen von Donald Knuth in seinem TEX tuneup of 2008 in TEX Live
eingearbeitet, http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf.
Das Standardausgabeformat für Lua(LA )TEX ist nun PDF. Hier entfalten die Erweiterungen von Lua(LA )TEX,
wie die Unterstützung von OpenType, ihre volle Wirkung. Die neuen Programme dviluatex bzw.
dvilualatex erzeugen wie früher DVI als Ausgabeformat. Die Homepage von LuaTEX finden Sie unter
http://luatex.org.
Nach Rücksprache mit den Autoren von Omega wurden Omega und das Format Lambda entfernt. Die
aktuelle Version von Aleph und Lamed ist weiterhin in TEX Live enthalten, zusammen mit einigen
Hilfsprogrammen von Omega.
Eine neue Version der AMS Type 1-Fonts wird von TEX Live mitgeliefert, inklusive der Computer
Modern-Schriften. Donald Knuth hat in den letzten Jahren die Gestalt einiger Zeichen in den
Metafont-Quellen geändert, diese wurden übernommen. Weiterhin wurde das so genannte
Hinting verbessert. Die Euler-Schriften wurden kürzlich ebenfalls sorgsam überarbeitet (siehe
http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf). In allen Fällen blieben die Fontmetriken
unverändert. Mehr zu den AMS-Fonts finden Sie unter http://www.ams.org/tex/amsfonts.html.
Die neue TEX-Oberfläche TEXworks ist für Windows enthalten, analog zu MacTEX. Für andere Systeme
oder weitere Informationen beachten Sie bitte die Webseite http://tug.org/texworks. TEXworks ist eine
Cross-Plattform-Anwendung, die von dem Editor Mac OS X inspiriert wurde, und somit eine einfach zu
bedienende Oberfläche für TEX bietet.
Das Grafikprogramm Asymptote ist für verschiedene System enthalten. Es bietet eine textbasierte
Beschreibungssprache für Zeichnungen, nicht unähnlich zu MetaPost, aber mit Unterstützung für 3D und
weiteren Vorteilen. Die Homepage befindet sich unter http://asymptote.sourceforge.net.
Das bisher enthaltene eigenständige Programm dvipdfm wurde durch dvipdfmx ersetzt, das beim Aufruf
als dvipdfm in einem Kompatibilitätsmodus läuft. dvipdfmx unterstützt CJK (Chinesich, Japanisch,
Koreanisch) und enthält viele Korrekturen und Verbesserungen gegenüber dem alten dvipdfm. Die Homepage
zu DVIPDFMx finden Sie unter http://project.ktug.or.kr/dvipdfmx.
Für cygwin und i386-netbsd werden nun ausführbare Programme mitgeliefert, während einige andere
BSD-Derivate nicht mehr dabei sind. Es wird empfohlen, dass Nutzer von OpenBSD bzw. FreeBSD TEX über
den Paketmanager ihres Systems installieren, da sich gezeigt hat, dass die Bereitstellung von Binaries, die für
mehrere Versionen funktionieren, sehr problematisch ist.
Einige weitere, aber kleine Änderungen: Wir verwenden nun zur Datenkompression xz als stabile
Alternative zu lzma (http://tukaani.org/xz/); Dollarzeichen sind in Dateinamen erlaubt, solange sich
zusammen mit den Dollarzeichen kein bekannter Variablenname ergibt; die Kpathsea ist nun
multi-threaded (was von MetaPost verwendet wird); der gesamte Build von TEX Live basiert nun auf
Automake.
Und zum Abschluss: Alle Releases von TEX Live, mit Zusatzmaterial wie den DVD-Labeldrucken, sind
unter ftp://tug.org/historic/systems/texlive verfügbar.
TEX Live ist nicht perfekt! – und wird es auch nie sein. Wir planen Neuauflagen zu produzieren, die
umfangreichere Hilfstexte, mehr Hilfsprogramme, mehr Installationshilfen und (natürlich) den ständig
verbesserten und überprüften Satz der Makros und Zeichensätze enthalten. Diese Arbeit wird von Freiwilligen
in ihrer knappen Freizeit geleistet. Viel Arbeit steht noch an. Wenn Sie uns helfen können, zögern Sie keine
Sekunde, sich bei uns zu melden.
Verbesserungen, Anregungen und Erweiterungen für künftige Ausgaben der TEX Collection senden Sie
bitte an:
Neue Versionen, Anmerkungen und zusätzliches Material werden über die CTAN-Server im
Verzeichnis info/texlive zur Verfügung gestellt. Im WWW können Sie sich über die Adresse
http://www.tug.org/tex-live/ informieren und die Bestellformalitäten einsehen.
3.1.4 Cygwin
3.1.5 Installation im Textmodus
3.1.6 Installation mit Benutzeroberfläche im Expertenmodus
3.2 Installation mit einfacher Benutzeroberfläche (wizard mode)
3.3 Benutzung des Installationsprogramms
3.3.1 Auswahl der Binaries (nur für Unix)
===============================================================================
a [ ] alpha-linux DEC Alpha with GNU/Linux
b [ ] i386-cygwin Intel x86 with Cygwin
c [X] i386-linux Intel x86 with GNU/Linux
d [ ] i386-netbsd Intel x86 with NetBSD
e [ ] i386-solaris Intel x86 with Sun Solaris
f [ ] mips-irix SGI IRIX
g [ ] powerpc-aix PowerPC with AIX
h [ ] powerpc-linux PowerPC with GNU/Linux
i [ ] sparc-linux Sparc with GNU/Linux
j [ ] sparc-solaris Sparc with Solaris
k [ ] universal-darwin universal binaries for MacOSX/Darwin
l [ ] win32 Windows
m [ ] x86_64-linux x86_64 with GNU/Linux
3.3.2 Auswahl der zu installierenden Komponenten
===============================================================================
a [ ] basic scheme (plain and LaTeX)
b [ ] ConTeXt scheme
c [X] full scheme (everything)
d [ ] GUST TeX Live scheme
e [ ] GUTenberg TeX Live scheme
f [ ] medium scheme (plain, latex, recommended packages, some languages)
g [ ] minimal scheme (plain only)
h [ ] Omega scheme
i [ ] teTeX scheme (more than medium, but nowhere near full)
j [ ] XML scheme
k [ ] custom selection of collections
3.3.3 Verzeichnisse
3.3.4 Optionen
<F> create format files: [X]
<D> install font/macro doc tree: [X]
<S> install font/macro source tree: [X]
<L> create symlinks in standard directories: [ ]
binaries to:
manpages to:
info to:
3.3.5 Benutzen von TEX Live direkt von DVD (nur im Textmodus verfügbar)
...
<D> directories:
TEXDIRW (Writable root):
!! default location: /usr/local/texlive/2009
!! is not writable, please select a different one!
TEXMFLOCAL (directory for site-wide local files):
/usr/local/texlive/texmf-local
TEXMFSYSVAR (directory for variable and automatically generated data):
/usr/local/texlive/2009/texmf-var
TEXMFSYSCONFIG (directory for local config):
/usr/local/texlive/2009/texmf-config
TEXMFHOME (directory for user-specific files):
~/texmf
<O> options:
[ ] use letter size instead of A4 by default
[X] create all format files
<V> set up for installing to hard disk
Other actions:
<I> start installation for running from DVD
<H> help
<Q> quit
3.4 Kommandozeilenoptionen für die Installation
3.4.1 Die Option repository
3.5 Aufgaben im Anschluss an die Installation
3.5.1 Windows
3.5.2 Unix, falls symbolische Links angelegt wurden
3.5.3 Umgebungsvariablen für Unix
export MANPATH=/usr/local/texlive/2009/texmf/doc/man:$MANPATH
export INFOPATH=/usr/local/texlive/2009/texmf/doc/info:$INFOPATH
setenv MANPATH /usr/local/texlive/2009/texmf/doc/man:$MANPATH
setenv INFOPATH /usr/local/texlive/2009/texmf/doc/info:$INFOPATH
3.5.4 Systemweites Setzen von Umgebungsvariablen
3.5.5 Font configuration for XeTEX
3.5.6 Benutzen von TEX Live direkt von DVD
3.5.7 ConTEXt Mark IV
3.5.8 Integrieren lokaler bzw. Nutzer-spezifischer Makros
3.5.9 Integrieren von anderen Schriften
3.6 Testen der Installation
TeX 3.1415926 (TeX Live 2009)
kpathsea version 5.0.0
Copyright 2009 D.E. Knuth.
...
This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009)
...
Output written on sample2e.dvi (3 pages, 7484 bytes).
Transcript written on sample2e.log.
> dviout sample2e.dvi # Windows
or:
> xpdf sample2e.pdf
This is XeTeX, Version 3.1415926…
...
Output written on opentype-info.pdf (1 page).
Transcript written on opentype-info.log.
3.7 Hinweise auf weitere Software
4 Installation im Netzwerk
5 Portables TEX Live auf DVD oder USB-Stick
6 tlmgr: Installation verwalten
6.1 tlmgr im grafischen Modus
6.2 Beispiel zur Verwendung von tlmgr über Kommandozeile
install: arabxetex
...
install: xetex
install: xetexconfig
install: xetex.i386-linux
running post install action for xetex
install: xetex-def
...
running mktexlsr
mktexlsr: Updating /usr/local/texlive/2009/texmf/ls-R...
...
running fmtutil-sys --missing
...
Transcript written on xelatex.log.
fmtutil: /usr/local/texlive/2009/texmf-var/web2c/xetex/xelatex.fmt installed.
category: Collection
shortdesc: LaTeX supplementary packages
longdesc: A large collection of add-on packages for LaTeX.
installed: Yes
revision: 14675
7 Hinweise zu Windows
7.1 Windows-spezifische Dinge
7.2 Zusätzlich enthaltene Programme unter Windows
7.3 User Profile unter Windows
7.4 Die Windows-Registry
7.5 Windows Permissions
8 Anleitung zum Web2C-System
8.1 Dateisuche mit der Kpathsea-Bibliothek
8.1.1 Bestandteile von Pfadkomponenten
8.1.2 Konfigurationsdateien
TEXINPUTS.latex = .;$TEXMF/tex/{latex,generic;}//
TEXINPUTS.fontinst = .;$TEXMF/tex//;$TEXMF/fonts/afm//
% e-TeX related files
TEXINPUTS.elatex = .;$TEXMF/{etex,tex}/{latex,generic;}//
TEXINPUTS.etex = .;$TEXMF/{etex,tex}/{eplain,plain,generic;}//
8.1.3 Expansion von Pfadkomponenten
8.1.4 Expansion der Voreinstellungen
8.1.5 Expansion geschweifter Klammern
8.1.6 Expansion von Unterverzeichnissen
8.1.7 Liste der Sonderzeichen und ihre Bedeutung: eine Zusammenfassung
8.2 Dateinamen-Datenbanken
8.2.1 Die ls-R-Datenbank
8.2.2 kpsewhich: Dateisuche
Stellt die Auflösung für die Suche nach Zeichensätzen (nur .gf oder .pk) auf num dpi. Alternativ
kann die Option -D (kommt von dvips) benutzt werden. Voreinstellung ist 600.
Setzt das Format zur Suche auf name. Per Voreinstellung versucht kpsewhich das Format über den
Dateinamen zu erschließen. Bei Formaten ohne zugeordnete Namensendung wie den zu MetaPost
gehörenden Dateien und den Konfigurationsdateien zu dvips müssen Sie den entsprechenden
Namen so eingeben, wie er Kpathsea bekannt ist.
Setzt für die Zeichensatzsuche den Generierungsmodus (betrifft nur .gf- oder .pk-Dateien).
Normalerweise werden alle Zeichensätze gemeldet.
Es wird versucht, die Dateien notfalls durch eine Suche auf der Festplatte zu finden. Normalerweise
wird nur die ls-R-Datenbank konsultiert.
Sucht entlang des angegebenen Pfads statt des Standardpfads, der auf Grund der Endung gewählt
wird. Alle Expansionen sind zulässig. Bei Verwendung der Option --path darf nicht die Option
--format angegeben werden.
Setzt den Programmnamen für die genauere Variablenspezifikation über ‘.Programmname’.
Voreinstellung ist ‘kpsewhich’.
Zeigt den Suchpfad für die angegebene Namensendung. Diese kann entweder als Namensendung
(‘.pk’, ‘.vf’, usw.) oder als Name (wie bei der Option --format) spezifiziert werden.
Legt den Umfang für die Fehlersuche fest.8.2.3 Anwendungsbeispiele
/usr/local/texmf-dist/tex/latex/base/article.cls
/usr/local/texmf-dist/tex/latex/tools/array.sty
> kpsewhich latin1.def
/usr/local/texmf-dist/tex/latex/base/latin1.def
> kpsewhich size10.clo
/usr/local/texmf-dist/tex/latex/base/size10.clo
> kpsewhich small2e.tex
/usr/local/texmf-dist/tex/latex/base/small2e.tex
> kpsewhich tugboat.bib
/usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib
/usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk
/usr/local/texmf/dvips/base/tex.pro
> kpsewhich --format="dvips config" config.ps
/usr/local/texmf/dvips/config/config.ps
> kpsewhich psfonts.map
/usr/local/texmf/fonts/map/dvips/updmap/psfonts.map
/usr/local/texmf-dist/dvips/psnfss/config.utm
/usr/local/texmf-dist/fonts/map/dvips/times/utm.map
utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb
utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb
utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb
utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb
utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb
/usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb
8.2.4 Fehlersuche
path=.:/usr/local/bin/texlive:/usr/local/bin:
/usr/local/bin/texmf/web2c:/usr/local:
/usr/local/texmf/web2c:/.:/./teTeX/TeX/texmf/web2c:).
kdebug:start search(file=ls-R, must_exist=1, find_all=1,
path=~/tex:/usr/local/texmf).
kdebug:search(ls-R) =>/usr/local/texmf/ls-R
kdebug:start search(file=aliases, must_exist=1, find_all=1,
path=~/tex:/usr/local/texmf).
kdebug:search(aliases) => /usr/local/texmf/aliases
kdebug:start search(file=config.ps, must_exist=0, find_all=0,
path=.:~/tex:!!/usr/local/texmf/dvips//).
kdebug:search(config.ps) => /usr/local/texmf/dvips/config/config.ps
kdebug:start search(file=/root/.dvipsrc, must_exist=0, find_all=0,
path=.:~/tex:!!/usr/local/texmf/dvips//).
search(file=/home/goossens/.dvipsrc, must_exist=1, find_all=0,
path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//).
kdebug:search($HOME/.dvipsrc) =>
kdebug:start search(file=config.cms, must_exist=0, find_all=0,
path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//).
kdebug:search(config.cms)
=>/usr/local/texmf/dvips/cms/config.cms
path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:
~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).
kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro
path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//:
/var/tex/fonts/tfm//).
kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm
kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0,
...
<texps.pro>
kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0,
path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:
~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).
kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb
<cmr10.pfb>[1]
p +ams.map
p +cms.map
p +cmbkm.map
p +amsbkm.map
dvips(k) 5.94a
kpathsea version
Copyright (C) 2003 Radical Eye Software.
...
kdebug:start search(file=texc.pro, must_exist=0, find_all=0,
path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:
~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).
kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro
TeX output 1998.02.26:1204’ -> hello-world.ps
Defining font () cmr10 at 10.0pt
Font cmr10 <CMR10> is resident.
kdebug:start search(file=cmr10.tfm, must_exist=1, find_all=0,
path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//:
/var/tex/fonts/tfm//).
kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm
kdebug:start search(file=texps.pro, must_exist=0, find_all=0,
...
<texps.pro>
kdebug:start search(file=cmr10.pfb, must_exist=0, find_all=0,
path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:
~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).
kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb
<cmr10.pfb>[1]
8.3 Einstellungen zur Laufzeit
Arbeitsspeicher für TEX, Metafont und MetaPost in Worten: Für jede Einstellung muss eine
eigene Format-Datei erstellt werden. Allerdings können Sie mehrere Versionen von TEX unter
verschiedenen Namen erzeugen und in der Konfigurationsdatei jeweils eigene Einträge vorsehen.
Hier gibt es ein Monster-TEX namens ‘hugetex’ mit der zugehörigen Format-Datei hugetex.fmt,
wobei der spezielle Wert der Variablen main_memory dann aus der Datei texmf.cnf gelesen wird.
Extraspeicher für »große« TEX-Datenstrukturen wie Boxen, Glue, Breakpoints, usw.: Besonders
bei Anwendung von PI CTEX sollte dieser Wert erhöht werden.
Anzahl der Worte für Speicherung von Zeichensatzinformationen: Entspricht ungefähr dem
Speicherbedarf der gelesenen TFM-Dateien.
Zusätzlicher Platz für Suchlisten: In der Hauptliste können ca. 10000 Einträge verwaltet werden.
Bei einem Buch mit vielen Querverweisen reicht dieser Platz unter Umständen nicht aus. Die
Voreinstellung für hash_extra ist 50000.9 Danksagungen
10 Geschichtliches
10.1 Vergangenheit
10.2 2003
10.3 2004
10.4 2005
10.5 2006–2007
10.6 2008
10.7 Gegenwart (2009)
10.8 Zukunft