Kurzbeschreibung – german.sty (Version 2.5)

Bernd Raichle

1. Januar 1995 (1. Korrektur 20. Januar 1995)

Zusammenfassung

Beim 6. Treffen der deutschen TEX-Interessenten in Münster (Oktober 1987) wurde Einigung über ein ”Minimal Subset von einheitlichen deutschen TEX-Befehlen“ erzielt, das seitdem an allen Installationen von TEX und L^{A}TEX durch die Style-Option ”german“ zur Verfügung stehen und für Texte in deutscher Sprache verwendet werden soll. Damit wird erreicht, daß alle TEX- und L^{A}TEX-Dokumente, die diese Befehle enthalten, problemlos von einem Rechner zum anderen übertragen werden können.

Inhaltsverzeichnis

1 Allgemeines 2

2 Verwendung 2 2.1 Laden der Style-Option . . . . . . . . . . . . . . . . . . . . . 2 2.2 Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.2.1 Umlaute, Tremata und der Buchstabe ß . . . . . . . . 3 2.2.2 Zusammentreffen von drei gleichen Konsonanten und

”ck“ bei Silbentrennung . . . . . . . . . . . . . . . . . 4 2.2.3 Anführungszeichen . . . . . . . . . . . . . . . . . . . . 4 2.2.4 Trennhilfen für die automatische Silbentrennung … 5 2.2.5 Erstellen deutschsprachiger Dokumente und Einbin-

den von deutschsprachigen Texten in fremdsprachige Dokumente . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3 Beschränkungen und bekannte Fehler . . . . . . . . . . . . . . 8 2.4 Wohin melde ich Fehler? . . . . . . . . . . . . . . . . . . . . . 11

3 Installation 12 3.1 Vorbereitungen für Benutzer . . . . . . . . . . . . . . . . . . . 12 3.2 Vorbereitungen für TEX-Administratoren . . . . . . . . . . . 12

3.2.1 Installation der Style-Option . . . . . . . . . . . . . . 13 3.2.2 Installation der Trennmuster . . . . . . . . . . . . . . 13 4 Sonstiges 17

4.1 Geschichtliches . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.2 Verfügbarkeit der Style-Option . . . . . . . . . . . . . . . . . 18 4.3 TEX 2.x vs. TEX 3.x und die Style-Option ”german“ . . . . . 19 4.4 Änderungen seit Version 2.0 (Oktober 1987) . . . . . . . . . . 19

1 Allgemeines

Die Style-Option ”german“ dient mehreren Zwecken:

• Der deutsche Schriftsatz weist einige Besonderheiten auf, die in TEX durch neue Makros und verschiedene Änderungen unterstützt und dem Benutzer angeboten werden können. Beispiele in ”german“ sind die Makros für die unterschiedlichen Anführungszeichen und die Änderung des Umlautmakros für die Schriften der Computer-Modern-Familie.

• Zur Vereinfachung und Standardisierung der Eingabe von Umlauten und des Buchstabens ß wird die Kurznotation ”"x“ für Rechner, die die Eingabe dieser Zeichen nicht direkt erlauben, eingeführt. Heutzutage unterstützen die meisten Rechnersysteme die direkte Eingabe und Anzeige von Umlauten, jedoch ist die Kurznotation weiterhin als Quasi-Standard zum Austausch von TEX- und L^{A}TEX-Dokumenten sinnvoll und für deutschsprachige Texte weit verbreitet.

• ”german“ unterstützt außerdem das Einbinden deutschsprachiger Texte in ein Dokument einer anderen Sprache – momentan mit der Beschränkung auf Englisch und Französisch.

2 Verwendung

2.1 Laden der Style-Option

Vor der Verwendung der durch die Style-Option ”german“ zusätzlich zur Verfügung gestellten Befehle muß die Style-Option geladen werden.

L^{A}TEX: Mit L^{A}TEX (genauer: L^{A}TEX 2ε) wird die Style-Option als Paket mit

\usepackage{german}

nach der Deklaration der Dokumentenklasse mit \documentclass geladen. Momentan hat das Paket ”german“ keine weiteren Optionen.

L^{A}TEX 2.09: Mit der alten L^{A}TEX-Version oder im L^{A}TEX 2.09-Kompatibi-litätsmodus von L^{A}TEX 2ε wird die Style-Option innerhalb des optionalen Arguments des \documentstyle-Befehls, z. B. mit

     \documentstyle[11pt,german]{article}

angegeben.

plain-TEX: Unter plain-TEX wird die Style-Option als gewöhnliche Makrodatei mit dem TEX-Befehl

     \input german.sty

dazugeladen.

2.2 Befehle

Der in Münster festgelegte Befehlssatz wurde nachträglich um einige Befehle erweitert. Diese Erweiterungen werden zur Kenntlichmachung in der folgenden Liste mit einem † versehen.

2.2.1 Umlaute, Tremata und der Buchstabe ß

• \"a ergibt mit Schriften aus der Computer-Modern-Familie, mit denen ein Umlaut nur aus zwei Zeichen zusammengesetzt werden kann, ein ”a“ mit einem Trema. Die Style-Option ”german“ definiert dieses Makro deshalb so um, daß die Umlautpunkte etwas nach unten verschoben werden (original: ä, mit ”german“: ä),

• "a als Abkürzung für \"a (Umlaute, wie ä) – auch für die Vokale o und u,

• "e und "i für ein e und i mit Trema,

• "s als Abkürzung für \ss (scharfes s: ß), "S^{†} ergibt ”SS“ ("z^{†} und "Z^{†} kann für ß bzw. SZ verwendet werden, falls man Mißverständnisse bei der Verwendung in Großbuchstaben vermeiden möchte).

Verwendungsbeispiele

sch"on  ergibt:  schön
sch\"on  ergibt:  schön (statt: schön)
Citro"en  ergibt:  Citroën
Stra"se Ma"ze  ergibt:  Straße Maße
STRA"SE MA"ZE  ergibt:  STRASSE MASZE

Die Befehle für Umlaute und scharfes s sind so definiert, daß auch in Silben vor und nach dem Befehl die automatische Silbentrennung funktioniert. Dabei kann TEX jedoch nicht mehr alle oder eventuell falsche Trennstellen finden (Beispiel: übert-ra-gen). Diese fehlerhaften Trennungen treten bei der Verwendung von T1-kodierten Schriften, wie z. B. den sogenannten DC-Schriften, die man unter L^{A}TEX 2ε ohne große Anpassungen verwenden kann, nicht auf.

2.2.2 Zusammentreffen von drei gleichen Konsonanten und ”ck“ bei Silbentrennung

• "ck für ”ck“, das als ”k-k“ getrennt wird,

• "ff für ”ff“, das als ”ff-f“ getrennt wird – auch für die anderen relevanten Konsonanten l, m, n, p, r und t.

Regel 179 der ”Richtlinien zur Rechtschreibung …“ [Duden, Bd. 1] bestimmt: Treffen bei Wortbildungen drei gleiche Konsonanten zusammen, dann setzt man nur zwei, wenn ein Vokal folgt. Bei Silbentrennung tritt der dritte Konsonant wieder ein. ck wird nach Regel 204 bei der Silbentrennung in k-k aufgelöst.

Verwendungsbeispiele:

Dru"cker  ergibt:  Drucker bzw. Druk-ker
Ro"lladen  ergibt:  Rolladen bzw. Roll-laden

Da man diese besonderen Fälle der Silbentrennung nur durch den TEX-Befehl \discretionary als Trennausnahmen realisieren kann, wird dadurch leider die Trennung in den restlichen Wortteilen und die Ligaturbildung um diese Konsonanten beeinflußt. So wird mit der momentanen Version der Style-Option ”german“ mit "ff die ff-Ligatur verhindert, obwohl diese bei Ausfall des dritten ”f“ stehen sollte.

2.2.3 Anführungszeichen

• "` oder \glqq für untere und "' oder \grqq für obere ”deutsche Anführungszeichen“ (”Gänsefüßchen“),

• \glq für untere und \grq für obere ’halbierte Anführungszeichen‘,

• "< oder \flqq für linke und "> oder \frqq für rechte ^{≪}Anführungszeichen^{≫} in der französischen Form (^{≪}guillemets^{≫}),

• \flq für linke und \frq für rechte ^{<}halbierte Anführungszeichen^{>} in der französischen Form,

• \dq zum Ausdrucken des Doublequote-Zeichens (").

In [Duden, Bd. 1] findet man: Im deutschen Schriftsatz werden vornehmlich die Anführungszeichen ”…“ und ^{≫}…^{≪} angewendet. Die französische Form ≪…^{≫} ist im Deutschen weniger gebräuchlich; in der Schweiz hat sie sich für den Antiquasatz eingebürgert. Die Regeln 10ff ergänzen diese Aussagen durch: Eine Anführung in einer Anführung wird durch halbe Anführungszeichen deutlich gemacht.

Verwendungsbeispiele:

"`Ja, bitte!"'  ergibt:  ”Ja, bitte!“

     "`Sag' doch nicht immer \glq Ja, bitte!\grq!"'

ergibt: ”Sag’ doch nicht immer ’Ja, bitte!‘!“

">Ja, bitte!"<  ergibt:  ^{≫}Ja, bitte!^{≪}

     ">Sag' doch nicht immer \frq Ja, bitte!\flq!"<

ergibt: ^{≫}Sag’ doch nicht immer ^{>}Ja, bitte!^{<}!^{≪}

"<Merci bien!"> ergibt: ^{≪}Merci bien!^{≫}

Als Einschränkung für die Realisierung der Anführungszeichen ist zu beachten, daß bei der Verwendung von nicht-T1-kodierten Schriften (z. B. die Computer-Modern-Familie) kein Kerning zwischen den Anführungszeichen und den anderen Zeichen eingefügt wird. Bei einigen Buchstaben-Anführungs-zeichen-Kombinationen können daher zu große bzw. zu kleine Abstände auftreten (Beispiel: ”V statt ”V).

Relativ häufig ist folgender Fehler zu beobachten: Statt mit Hilfe von "` und "' die Anführungszeichen ”…“ bzw. mit `` und '' für die im englischsprachigen Raum gebräuchlichen Anführungszeichen “… ” zu erzeugen, wird einfach der direkt auf der Tastatur zu findende Doublequote " verwendet, der das falsche Ergebnis ”… ” erzeugt. Dieser Fehler ist leider in vielen mit L^{A}TEX erstellten deutschsprachigen Texte zu beobachten, obwohl das Fehlen der unteren, öffnenden Anführungszeichen auffallen müßte! Bei Verwendung der Style-Option ”german“ mit der dann geänderten Bedeutung des Doublequote kann außerdem zu verschiedenen Fehlermeldungen führen.

Benötigt man das Doublequote-Zeichen, so muß man mit der Style-Option ”german“ die Befehle \dq oder \verb+"+ verwenden.^{1}

2.2.4 Trennhilfen für die automatische Silbentrennung

• \- für eine Silbentrennstelle, wobei vor und nach dieser Trennstelle die Silbentrennung unterdrückt wird (dies ist TEXs originaler Befehl zur Kennzeichnung von Trennstellen), • "- für eine Silbentrennstelle ähnlich wie bei \-, bei der aber die au-

1Aus Kompatibilitätsgründen mit alten Versionen der Style-Option wird auch noch "{} unterstützt.

tomatische Silbentrennung vor und nach dieser Trennstelle erhalten bleibt; im Gegensatz zu \- kann man mit "- eine Trennstelle einfügen und alle weiteren Trennstellen werden von TEX selbst bestimmt,

• "" für eine Silbentrennstelle, bei der aber im Fall der Trennung kein Bindestrich hinzugefügt wird,

• "| zur Verhinderung von Ligaturen, ähnlich wie bei "-, bei der aber noch zusätzlich ein kleiner Zwischenraum zur besseren Trennung der Einzelzeichen einer Ligatur eingefügt wird,

• - für einen Bindestrich (Divis) bei Zusammensetzungen von Wörtern und Wortabkürzungen; TEX fügt nach dem Bindestrich immer implizit eine Trennstelle ein und verhindert die Trennungen der Wortteile vor und nach dem Bindestrich,

• "~^{†} für einen Bindestrich ohne Trennstelle,

• "=^{†} für einen Bindestrich mit Trennstelle, wobei die automatische Silbentrennung vor und nach dieser Stelle weiterhin erhalten bleibt.

Verwendungsbeispiele: Die möglichen Silbentrennstellen sind in den Beispielen durch das Zeichen | gekennzeichnet.

Auf"|lage  ergibt:  Auflage (statt Auflage)

mit den Trennstellen: Auf|la|ge

"ubertragen  ergibt:  übert|ra|gen (falsche Trennstelle!)
"uber\-tragen  ergibt:  über|tragen
"uber"-tragen  ergibt:  über|tra|gen

bergauf und -ab ergibt: berg|auf und -|ab (falsche Trennstelle) bergauf und "~ab ergibt: berg|auf und -ab

I-Punkt  ergibt:  I-|Punkt (schlechte Trennstelle)
I"~Punkt  ergibt:  I-Punkt

Arbeiter"=Unfall ergibt: Ar|bei|ter-|Un|fall|ver|si|che|rungs-

versicherungsgesetz  ge|setz

Tips:

• Bei zusammengesetzten Wörtern, die falsche Trennstellen aufweisen, sollte man zuerst die Trennhilfe "- in die Wortfuge der Zusammensetzung einfügen und nochmals testen, ob danach richtig getrennt wird, bevor man weitere Trennhilfen einfügt.

• Bei der Verwendung von Bindestrichen zur Ergänzung (”bergauf und -ab“, ”ein-, zwei- oder dreimal“), vor Schrägstrichen (”Ein-/Ausgang“) und Klammern (”Primär-(Haupt-)Strom“) sollte man mit den Befehlen \mbox, "" und "~ vor den Satzzeichen die Trennung unterbinden und evtl. nach den Satzzeichen wieder erlauben.

• Den Befehl "= sollte man nur für automatisch erstellte Texte verwenden, da er in den mit dem Bindestrich verbundenen Wortteilen auch nahe am Bindestrich liegende Trennstellen erlaubt, die man vermeiden sollte. Zusammengesetzte Wörter sollten grundsätzlich ohne Bindestrich geschrieben werden. Wenn der Bindestrich dennoch zur Vermeidung von Mißverständnissen oder zur Verdeutlichung notwendig ist, sollte man mit \- und "- wenige, wohlüberlegte Trennhilfen einfügen.

2.2.5 Erstellen deutschsprachiger Dokumente und Einbinden von deutschsprachigen Texten in fremdsprachige Dokumente

• \selectlanguage{n} zum Umschalten zwischen deutschen, österreichischen, englischen, amerikanischen und französischen Datumsangaben und Überschriften. Für n ist dabei einer der folgenden Namen zu

verwenden: german, austrian, english, USenglish oder french,

• \germanTeX zum Einschalten der deutschen TEX-Befehle: aktiviert alle "x-Befehle, ändert das \"x-Makro und aktiviert durch einen \selectlanguage-Aufruf die deutschen Trennmuster, ändert die Datumsangabe und die in den L^{A}TEX-Styles verwendeten Überschriften,

• \originalTeX zum Zurückschalten auf Original-TEX bzw. -L^{A}TEX, inaktiviert alle durch \germanTeX aktivierten Befehle.

Verwendungsbeispiele: Der Befehl \selectlanguage paßt die Datumsangabe und die in den L^{A}TEX-Styles^{2} verwendeten Überschriften an die Sprache an.

 \selectlanguage{n}  \today           \chaptername

german  1. Januar 1995  Kapitel
austrian  1. Jänner 1995  Kapitel
english  1st January 1995 Chapter
USenglish  January 1, 1995 Chapter
french  1^{er} janvier 1995 Chapitre

\selectlanguage ist nicht dazu geeignet, innerhalb eines Dokuments zwischen mehreren Sprachen umzuschalten. Mit ihm bestimmt man die ”Hauptsprache“ des Dokuments, deshalb sollte dieser Befehl nur ein einziges Mal in einem Dokument in der Präambel verwendet werden. Dadurch können die Befehle aus der Style-Option ”german“ auch innerhalb eines fremdsprachigen Dokuments benutzt werden.

2Angepaßte Styles sind seit Dezember 1991 Bestandteil der offiziellen L^{A}TEX-Verteilung.

\NeedsTeXFormat{latex2e}
\documentclass{article}
\usepackage{german}
%\germanTeX  % nicht notwendig, wird durch das Laden des
             % `Package' implizit aufgerufen
\selectlanguage{USenglish}
\begin{document}
An english text with some german words, e.g., "Au"serung.
\end{document}

2.3 Beschränkungen und bekannte Fehler

Allgemein: Da die Style-Option ”german“ das Doublequote-Zeichen aktiviert und dessen ursprüngliche Bedeutung ändert, können Probleme mit anderen Style-Optionen und fremden Dokumenten auftreten:

• Ganzzahlige Konstanten können in TEX auch in hexadezimaler Notation mit einem voranstehenden Doublequote eingegeben werden (Beispiel: "FF). Beginnt die Hexadezimalzahl mit einer Ziffer, so sollten mit neueren Versionen der Style-Option ”german“ keine Probleme auftreten. Beginnt die Zahl stattdessen mit einem Buchstaben A–F, so tritt durch die geänderte Bedeutung des Doublequote meist der Fehler

”Missing number, treated as zero“ auf.

Abhilfe: Hexadezimalzahlen, die mit einem Buchstaben beginnen, die Ziffer 0 voranstellen – statt "FF sollte man demnach "0FF verwenden. Eine andere Möglichkeit besteht darin, den Doublequote mit \originalTeX oder nur mit \mdqoff zu deaktivieren.

• Leerschritte nach einem aktivierten Doublequote werden ignoriert, d. h. sowohl " a als auch "a ergeben dasselbe Ergebnis. Da dies eine Eigenschaft von TEX selbst ist, kann es nicht ohne andere Nachteile verhindert werden.

• Nach einem aktivierten Doublequote sollten keine geschweiften Klammern folgen. Sowohl die Kombination mit einer öffnenden Klammer "{ als auch mit einer schließenden Klammer "} führt zu Fehlern.

Treten die in den letzten beiden Punkten beschriebenen Fehler auf, ist dies meist auf die falsche Eingabe von Anführungszeichen zurückzuführen. Anführungszeichen sind als "`… "' (bzw. als ``… '') einzugeben, die Verwendung eines einfachen Doublequote führt zu falschen Ergebnissen!

Bei Verwendung von Schriften mit der Kodierung OT1, z. B. der Computer-Modern-Familie, gibt es folgende weitere Einschränkungen:

• Es werden nicht alle oder falsche Silbentrennstellen in Wörtern mit Umlauten gefunden, insbesondere wird nicht direkt um den Umlaut getrennt. Hier muß man evtl. mit dem Befehl "- nachhelfen.

Befehle mit aktivem Doublequote:

"a, "A, "o, "O, "u, "U  Umlaute: ä, Ä, ö, Ö, ü, Ü
"s, "S, "z, "Z  Buchstabe ß, SS, ß und SZ
"e, "E, "i, "I  Buchstaben mit Trema: ë, Ë, ï, Ï
"c, "C  ck → k-k

"f, "l, "m, "n, "p, "r, "t,

"F, "L, "M, "N, "P, "R, "T  ausfallender dritter Konsonant

"`, "'  ” “
">, "<                    ^{≫ ≪}

"-, "|, ""  Trennhilfen
"~, "=  Bindestriche mit besonderem Verhalten

Alle anderen "x-Befehle, die mit keiner Bedeutung belegt sind, erzeugen eine Fehlermeldung, um auf eine fehlerhafte Eingabe hinzuweisen.

Befehle mit geändertem Verhalten:

\"  Umlautmakro mit tieferem Akzentzeichen,

ohne Unterdrückung der Silbentrennung

Neue Befehle – Textzeichen:

\glqq, \grqq, \glq, \grq Anführungszeichen: ” “ ’ ‘
\flqq, \frqq, \flq, \frq dto., französische Form: ^{≪} ^{≫} ^{<} ^{>}
\dq  Doublequote-Zeichen

Neue Befehle – Sprachumschaltung:

\selectlanguage  Trennmuster + Überschriften wechseln
\germanTeX, \originalTeX (de-)aktiviere deutsche TEX-Befehle

Obsolete Befehle: (Nicht mehr verwenden!)

\3, \ck  alte Form von ß und ck → k-k

\setlanguage  ersetzt durch \selectlanguage

Low-Level-Befehle:

\allowhyphens  künstliche, nicht trennbare Wortfuge
\mdqon, \mdqoff  (de-)aktiviere Doublequote-Befehle

Abbildung 1: Befehlsübersicht • Da TEX bzw. die Makros in der Style-Option ”german“ die Umlau-

te und die Anführungszeichen aus mehreren Zeichen aufbauen muß, findet kein Kerning und keine Ligaturbildung mit den umgebenden Zeichen statt. Dies fällt insbesondere bei den Kombinationen ”V, ”W und f“ auf und wird bei schräggestellten Schriften noch verstärkt. Eine Abhilfe ist auf Makroebene nur sehr schwer realisierbar, so daß man von Hand mit den Befehlen \negthinspace und \/ für korrektere Abstände sorgen muß.

• Die Anführungszeichen in der französischen Form ^{≫} und ^{≪} könnten, auch vom Aussehen, verbessert werden. Außerdem wird nach diesen Anführungszeichen nicht umgebrochen, selbst wenn ein Wortzwischenraum folgen sollte.

Diese Einschränkungen sollten für Schriften in der Kodierung T1 bis auf die schließenden Anführungszeichen “ und ‘ nicht mehr existieren, da die verwendeten Zeichen in diesen Schriften existieren und mit korrektem Kerning verwendet werden. Durch die momentane Realisierung der Style-Option gelten diese Einschränkungen leider auch noch für die anderen Anführungszeichen.

L^{A}TEX 2ε (1. Dezember 1994 und neuer): L^{A}TEX 2ε hat als Standardfontauswahlschema die Version 2 des NFSS, das den neuen Schriftparameter \fontencoding zur Verfügung stellt. Dadurch können sehr einfach Schriften mit unterschiedlicher Kodierung verwendet werden. So kann jetzt innerhalb eines Dokuments beliebig zwischen OT1- und T1-kodierten Schriften gewechselt werden.

Sollen Schriften mit weiteren encoding-Werten verwendet werden, so müssen in der Style-Option ”german“ nur mit den entsprechenden L^{A}TEX 2ε-Befehle die ”Low-Level“-Makros \", \ss, \textquote... angepaßt werden.

Leider verhindert die Realisierung der Style-Option ”german“ auch noch für Schriften mit der Kodierung T1 ein korrektes Kerning und Ligaturbildung mit den Anführungszeichen. Dies soll in einer der nächsten Versionen durch eine geänderte Implementierung verbessert werden.

L^{A}TEX 2ε (1. Juni 1994): Hier gilt das zuvor gesagte, jedoch hatte diese L^{A}TEX 2ε-Version weitere Einschränkungen und es fehlten einige von ”german“ verwendete Eigenschaften. Daher konnten z. B. bei Verwendung von Schriften mit geänderten encoding-Werten Fehler oder fehlerhafte Ergebnisse auftreten. Deshalb ist ein Update auf die neueste L^{A}TEX 2ε-Version ratsam!

L^{A}TEX 2.09: Mit der mittlerweile nicht mehr offiziellen L^{A}TEX-Version können weitere Schriften nur mit relativ viel Aufwand integriert werden. Man kann auch die Version 1 des Fontauswahlschemas NFSS verwenden, wobei diese Version die Verwendung von Schriften mit einer anderen Kodierung nicht unterstützt.

Die Style-Option ”german“ unterstützt daher mit L^{A}TEX 2.09 nur Schriften mit der Kodierung OT1, z. B. die Computer-Modern-Familie. Sollen Schriften mit einer anderen Kodierung verwendet werden, so müssen die Makros \", \ss, \flqq, … \grq entsprechend geändert werden. Weitere Änderungen sind nicht notwendig.

plain-TEX: Hier gilt das zuvor für L^{A}TEX 2.09 gesagte. Es ist geplant, NFSS Version 2 auch für plain-TEX verfügbar zu machen, so daß man auch die unter L^{A}TEX 2ε verfügbaren Vorteile nutzen kann.

2.4 Wohin melde ich Fehler?

Wenn Sie einen Fehler in der Style-Option ”german“ gefunden haben oder Vorschläge zu dessen Verbesserung haben, schreiben Sie an die in der Style-Option-Datei selbst angegebene Adresse oder an

DANTE, Deutschsprachige Anwendervereinigung TEX e.V.

Koordinator ”german.sty“

Postfach 10 18 40 69008 Heidelberg Federal Republic of Germany

     Email: german@dante.de

Ein Kontakt per electronic mail wird bevorzugt.

Der Fehlermeldung sollten Sie die komplette Eingabedatei beilegen, mit der dieser Fehler erzeugt werden kann. In Ihrem eigenen Interesse sollte diese Eingabedatei möglichst klein sein und nur die wirklich notwendigen Style-Optionen, Pakete und andere Makrodateien laden. Andernfalls gestaltet sich die Fehlersuche zu aufwendig und/oder es fehlen verwendete Makrodateien, um den Fehler nachvollziehen zu können. Fügen Sie auch die Protokolldatei für diese Eingabedatei mit an, da diese weitere Hinweise auf die verwendeten Makros geben. Um diese Protokolldatei klein zu halten, brechen Sie bitte bei einem Fehler mit x und nicht mit q ab.

Bevor Sie einen Fehler melden, vergewissern Sie sich bitte, daß der Fehler tatsächlich durch die Style-Option ”german“ und nicht durch eine fehlerhafte Eingabe Ihrerseits oder einen Folgefehler eines zuvor aufgetretenen Fehlers auftritt. Sehen Sie bitte auch in der Log-Datei nach, ob diese evtl. Hinweise auf die Fehlerursache gibt. Sehr häufig gibt es Fehler in Zusammenhang mit Konstanten in hexadezimaler Schreibweise, die zur Fehlermeldung ”Missing number, treated as zero“ führen. Dieser ”Fehler“ ist bekannt und ist in dieser Anleitung in Abschnitt 2.3 beschrieben.

3 Installation

Für die Benutzung der Style-Option ”german“ benötigen Sie folgende Dateien:

1. german.sty, die Style-Option selbst, die Sie aus den Dateien

       • german.ins und
       • german.dtx

entpacken können und

2. ghyph31.tex, die deutschen Trennmuster ghyphen in der z. Z. aktuellen Version 3.1a vom 13. Februar 1994.

3.1 Vorbereitungen für Benutzer

Als gewöhnlicher TEX- bzw. L^{A}TEX-Benutzer müssen Sie nur dafür sorgen, daß die Datei german.sty in der neuesten Version vorhanden ist und geladen werden kann.

Arbeiten Sie noch mit einer älteren Version der Style-Option ”german“, sollten Sie sich eine neuere Version besorgen und installieren oder, falls Sie sich in der glücklichen Lage befinden, daß sich ein spezieller TEX-Administrator um diese Dinge kümmert, diesen auf die neuere Version und diese Anleitung aufmerksam machen.

Hat Ihre plain-TEX- oder L^{A}TEX-Version schon die Style-Option vorgeladen – d. h. Sie müssen ”german“ nicht explizit als Style-Option bzw. L^{A}TEX 2ε-Paket deklarieren bzw. die Makro-Datei laden – sollten Sie dennoch die Style-Option explizit in Ihrem Dokument deklarieren bzw. laden! Wenn Sie Ihre Dokumente weitergeben, vermeiden Sie dadurch unnötige Probleme und Rückfragen. Am besten ändern Sie Ihre Installation so ab, daß die Style-Option ”german“ nicht vorgeladen wird, da Sie damit zu allen anderen TEX-Installationen inkompatibel sind.

Erscheint beim Laden der Style-Option die Meldung

     \language number for German undefined, default 255 used.

so haben Sie die deutschen Trennmuster nicht korrekt installiert und erhalten evtl. fehlerhafte Trennungen oder es wird nicht getrennt. Wie Sie die Trennmuster installieren müssen, erfahren Sie im nächsten Abschnitt.

3.2 Vorbereitungen für TEX-Administratoren

Damit Sie die Style-Option ”german“ den TEX-Nutzern zur Verfügung stellen, muß diese, falls noch nicht getan, ausgepackt und installiert werden. Außerdem müssen Sie alle Formatdateien mit den deutschen Trennmuster so erstellen, daß die Style-Option erkennen kann, wie auf diese Trennmuster umgeschaltet werden kann. Andernfalls wird nicht mehr oder falsch getrennt!

3.2.1 Installation der Style-Option

Die Style-Option ”german“ wird als docstrip-Archiv in zwei Dateien verteilt:

• german.dtx enthält den dokumentierten Code für german.sty und

• german.ins ist das zugehörige Installationsskript mit Anweisungen für docstrip, wie die Datei german.dtx auszupacken ist.

Neben diesen beiden Dateien benötigen Sie noch docstrip, das Sie in der Da-

tei docstrip.tex oder docstrip.dtx (und docstrip.ins) in der aktuellen

L^{A}TEX 2ε-Release finden können. Sie können docstrip auch mit plain-TEX oder L^{A}TEX verwenden, ohne daß Sie zuvor L^{A}TEX 2ε installiert haben – entnehmen Sie einfach die Datei docstrip.tex einer schon entpackten Verteilung oder entpacken Sie diese Datei mit den beiden Dateien docstrip.dtx

und docstrip.ins, indem Sie
     % tex docstrip.ins

aufrufen.

Ist docstrip vorhanden, entpacken Sie die Style-Option ”german“ mit

     % tex german.ins

Die Datei german.sty, die dabei erzeugt wird, sollten Sie in ein Verzeichnis kopieren, in dem TEX nach Makrodateien sucht. Haben Sie noch ältere Versionen der Datei german.sty in weiteren Verzeichnissen, die TEX durchsucht, sollten Sie diese Dateien löschen oder umbenennen.

Haben Sie die neue Version der Style-Option ”german“ installiert, sollten Sie auf alle Fälle den nächsten Abschnitt lesen, da es sehr wahrscheinlich ist, daß die Trennmuster in Ihren bisher installierten Formatdateien nicht ”korrekt“ installiert wurde. Ist dies der Fall, wird in allen Dokumenten, die die Style-Option verwenden, nicht mehr getrennt!

3.2.2 Installation der Trennmuster

TEX kann ab Version 3.0 in einem Dokument verschiedene Trennmuster verwenden, so daß jetzt mehrsprachige Dokumente mit korrekter Trennung möglich sind. TEX benutzt dazu für die Trennmuster jeder Sprache eine ganze Zahl von 0–255, die der Sprache vor dem Laden der Trennmuster zugeordnet werden muß.

Beim Laden eines Satzes von Trennmustern erfolgt (beim IniTEX-Durch-lauf) die Zuordnung zu einer Sprache durch Zuweisung der gewählten Nummer an das spezielle TEX-Register \language. Ebenso wird auch beim Übersetzen eines Dokuments die Sprache bzw. die zu verwendenden Trennmuster durch Zuweisung an \language gewählt. Hat \language beim Übersetzen eines Dokuments einen Wert, für den keine Trennmuster geladen wurden, so findet keine Silbentrennung statt.

Wie werden nun die Nummern von 0–255 an die einzelnen Sprachen vergeben? Als Quasi-Standard für die Vergabe der Nummern hat sich mittlerweile das im Babel-System [Braams91, Goosens94] verwendete Schema herausgebildet. Dabei wird jeder neu deklarierten Sprache einfach eine Nummer in aufsteigender Folge vergeben. Wichtig dabei ist, daß die Zuordnung dieser Nummer an die Sprache in der control sequence \l@⟨Sprache⟩ abgespeichert wird, so daß man später wieder auf diese zugewiesene Nummer zugreifen kann. Die Style-Option ”german“ benutzt auch diese control sequences, daher sollten Sie beim Installieren der Trennmuster folgendermaßen vorgehen:

Schritt 1^{∗}: Sie verwenden das Babel-System (aktuell ist z. Z. die Version 3.4f vom 3. Juli 1994). Dann sollten Sie das Paket nach der darin enthaltenen Installationsanleitung auspacken und installieren. Sie können die Datei lthyphen.cfg und das nach der Installation entstandene L^{A}TEX-Format problemlos mit der Style-Option ”german“ verwenden. Jedoch sind die im Babel-System enthaltenen Style-Optionen zur Sprachanpassung inkompatibel zur Style-Option ”german“, so daß die gleichzeitige Verwendung dieser Style-Optionen in einem Dokument zu Problemen führen kann.

Wenn Sie das Babel-System verwenden und die darin enthaltene Datei lthyphen.cfg installiert haben, sind Sie fertig. Wenn Sie das Babel-System nicht verwenden, dann lesen Sie weiter.

Schritt 1: Sie benötigen zum Laden der Trennmusterdateien für verschiedene Sprachen eine Konfigurationsdatei, die (leider) je nach verwendetem Format einen unterschiedlichen Dateinamen besitzt. Den Namen dieser Datei können Sie der Tabelle in Schritt 2 entnehmen, die Datei selbst sollte folgenden Inhalt haben:

     %% Konfigurationsdatei -- Trennmuster: `hyphen.cfg'
     \message{== Loading hyphenation patterns:}
     \chardef\l@USenglish=\language
     %% british english als "Dialekt"
     \chardef\l@english=\l@USenglish
     \input hyphen
     \newlanguage\l@german \language=\l@german
     \chardef\l@austrian=\l@german
     \input ghyph31
     %% weitere Sprachen nach folgendem Schema:
     % \newlanguage\l@SPRACHE \language=\l@SPRACHE
     % \chardef\l@DIALEKT=\l@SPRACHE
     % \input SPRACHhyphen

     %% Default-Trennmuster: USenglish
     \language=\l@USenglish \lefthyphenmin=2 \righthyphenmin=3
     \endinput

Mit dieser Konfigurationsdatei werden die US-englischen Trennmuster und die deutschen Trennmuster geladen, wobei zwei ”Aliases“ für britischenglisch und für die österreichische ”Sprache“ definiert werden. Wollen Sie für weitere Sprachen Trennmuster laden – z. B. existieren auch für britischenglische Silbentrennung separate Trennmuster – sollten Sie in der Lage sein, die dazu notwendigen Zeilen anhand des auskommentierten Schemas im gezeigten Beispiel zu vervollständigen.

Wollen Sie in einem Format nur Trennmuster für eine einzige Sprache laden und soll diese Sprache nicht mehr gewechselt – und damit ausgeschaltet – werden können, verwenden Sie einfach die folgende Konfigurationsdatei:

     %% Konfigurationsdatei -- Trennmuster: `hyphen.cfg'
     %% !! NUR EIN SATZ TRENNMUSTER LADEN !!
     \message{== Loading hyphenation patterns:}
     \chardef\l@german=\language
     \newcount\language   %% <<== "neues" \language-Register
     \chardef\l@austrian=\l@german
     \input ghyph31
     %% Parameter fuer deutsche Trennmuster setzen:
     \lefthyphenmin=2 \righthyphenmin=2
     \endinput

Schritt 2: Entscheiden Sie sich, für welches TEX-Format Sie eine neue Formatdatei erstellen wollen. Je nach zu erzeugendem Format hat die in Schritt 1 gezeigte Konfigurationsdatei einen anderen Namen:

Format  Dateiname

     plain-TEX  hyphen.tex

L^{A}TEX2.09 (vor Dezember 1991) hyphen.tex
L^{A}TEX2.09 (ab Dezember 1991) lhyphen.tex
L^{A}TEX 2ε (1. Juni 1994)  lthyphen.cfg
L^{A}TEX 2ε (ab 1. Dezember 1994) hyphen.cfg

Geben Sie der in Schritt 1 erstellten Datei den entsprechenden Dateinamen aus dieser Tabelle.

Zu plain-TEXund den älteren L^{A}TEX-Versionen: Da die US-englischen Trennmuster, die als Mindestausstattung jeder Installation beiliegen sollten, auch den von Donald E. Knuth vergebenen Namen hyphen.tex haben, müssen Sie diese Trennmusterdatei für plain-TEX und die älteren L^{A}TEX 2.09-Versionen in ushyphen.tex umbenennen, um Namenskollisionen zu vermeiden. Vergessen Sie in diesem Falle nicht, die Zeile mit dem Namen dieser Datei in der Konfigurationsdatei entsprechend zu ändern, falls Sie die Trennmusterdatei umbenennen!

Schritt 3: Bevor Sie nun mit IniTEX eine Formatdatei erstellen, sollten Sie sich vergewissern, daß Ihre TEX-Version genügend Platz für die Trennmuster reserviert hat. Für die deutschen Trennmuster ghyph31.tex benötigen Sie einen ”Trie“-Wert, der mindestens 9733 trie size und 207 trie op size Platz bietet. Wollen Sie Trennmuster für weitere Sprachen, wie z. B. USenglisch, dazuladen, müssen diese Werte erhöht werden. Vergessen Sie später nicht, daß Sie auch bei der Übersetzung der Dokumente entsprechend mehr Platz für die Trennmuster benötigen. Ob und wie Sie diese Werte in Ihrer TEX-Installation ändern können, entnehmen Sie bitte der (hoffentlich) mit der Installation mitgelieferten Dokumentation. Meist kann man die Größe der Trennmustertabelle über Umgebungsvariablen, spezielle Konfigurationsdateien oder Optionen in der Kommandozeile bestimmen.

Schritt 4: Erzeugen Sie durch Aufruf von IniTEX und der Datei, die die Makros für das TEX-Format enthält, die Formatdatei. Zum Beispiel wird die L^{A}TEX 2ε-Formatdatei durch den Aufruf

     % initex latex.ltx

erzeugt. Genaueres darüber, wie Sie mit IniTEX eine Formatdatei erstellen, entnehmen Sie bitte der Ihrer TEX-Installation beigelegten Dokumentation. Welche Datei Sie zum Erstellen eines speziellen TEX-Formats laden müssen, entnehmen Sie der Dokumentation des entsprechenden Formats.

Während IniTEX die angegebene Makrodatei und evtl. noch weitere Dateien lädt, sollten Sie darauf achten, daß auch die oben angegebene Konfigurationsdatei und die Trennmuster geladen werden. Wenn dies nicht geschieht, haben Sie den falschen Namen für die Konfigurationsdatei gewählt. Überprüfen Sie nochmals den Dateinamen und ziehen Sie die Dokumentation des Formats zu Rate.

Bricht IniTEX beim Laden der Trennmusterdateien mit der Fehlermeldung

     TEX capacity exceeded, sorry [pattern memory=x]

ab, so haben Sie trie size zu klein gewählt, bei

     TEX capacity exceeded, sorry [pattern memory ops=x]

wurde trie op size zu klein gewählt. Falls dies bei Ihrer TEX-Implemen-tierung möglich ist, sollten Sie in diesen Fällen die Tabellen entsprechend vergrößern (siehe Schritt 3). Ansonsten können Sie nicht alle in Ihrer Konfigurationsdatei angegebenen Trennmusterdateien in einer einzigen Formatdatei verwenden.

Schritt 5: Wenn alles ohne Probleme durchlief, sollte zum Schluß eine Datei mit Endung .fmt und eine Protokolldatei mit Endung .log erstellt worden sein. Kopieren Sie beide Dateien in das Verzeichnis, in denen Ihre TEX-Implementierung nach Formatdateien sucht. Die Protokolldatei sollten Sie nicht löschen, da Sie anhand dieser Datei noch Monate später nachvollziehen können, mit welchen Makros Sie diese Formatdatei erstellt haben.

Als Kontrolle, welche Trennmuster für welche Sprachen geladen wurden, können Sie das Ende der Protokolldatei betrachten. Sie sollten folgende Zeilen erhalten:

     ...
     14 hyphenation exceptions
     Hyphenation trie of length 13987 has 388 ops out of 750
       207 for language 1
       181 for language 0
     No pages of output.

Wie Sie sehen, enthält die Formatdatei Trennmuster für zwei Sprachen, denen die Nummern 0 und 1 zugewiesen wurden. Zusammen benötigen Sie trie size = 13987 und trie op size = 388 Plätze im ”Trie“-Bereich.

In der Konfigurationsdatei, in dem die Trennmuster geladen werden, werden die den Sprachen zugeordneten Nummern in den control sequences \l@⟨Sprache⟩ abgespeichert. Wird später beim Übersetzen eines Dokuments auf eine Sprache gewechselt, für die keine control sequence definiert wurde, so verwendet die Style-Option ”german“ die folgenden Default-Werte:

Sprache Wert oder, falls gesetzt, Wert der Sprache

     USenglish 255 english
     english  255 USenglish
     german  255 austrian
     austrian  255 german
     french  255

In älteren Versionen der Style-Option ”german“ wurden Werte zwischen 0 und 5 vergeben. Ab Version 2.5a wird dagegen der Wert 255 verwendet, um die Trennung für diese undefinierten Sprachen zu unterbinden. Dies funktioniert in den meisten Fällen, da im allgemeinen für den Wert 255 keine Trennmuster geladen werden.

4 Sonstiges

4.1 Geschichtliches

Die Style-Option ”german“, die das Erstellen deutschsprachiger Texte mit TEX vereinfacht, wurde von Dr. H. Partl (Technische Universität Wien) realisiert und zusammengestellt. Sie war als ”rasche Lösung“ entstanden, die den Vorteil hat, daß sie keine Änderungen an der TEX-Software, den Schriftendateien und den Trennmustern erfordert, sondern direkt auf die Originalversion von TEX aufgesetzt werden kann [Partl88]. Diese ”rasche Lösung“ hat sich bewährt und besitzt heutzutage ein weites Verbreitungsgebiet im deutschsprachigen Raum und darüberhinaus.

Folgende Personen haben durch Ideen und Code-Beispiele zum Erfolg der Style-Option ”german“ beigetragen (die Liste erhebt keinen Anspruch auf Vollständigkeit): W. Appelt, F. Hommes und andere (Gesellschaft für Mathematik und Datenverarbeitung St. Augustin), T. Hofmann (Ciba-Geigy Basel), N. Schwarz (Universität Bochum), J. Schrod (TH Darmstadt), D. Armbruster (Universität Stuttgart), R. Schöpf (Universität Mainz, Universität Heidelberg, Zuse-Zentrum für Informationsverarbeitung Berlin), F. Mittelbach (Universität Mainz, EDS Rüsselsheim), J. Knappen (Universität Mainz), P. Breitenlohner (Max-Planck-Institut München) und viele andere.

Ab Version 2.3e vom 31. Juli 1991 wird die Style-Option ”german“ von B. Raichle (Universität Stuttgart) gepflegt und weiterentwickelt.

4.2 Verfügbarkeit der Style-Option

Die Style-Option ”german“ kann man, wie fast jede andere TEX-Soft-ware, vom Comprehensive TEX Archive Network, kurz CTAN, erhalten. Dieses Netzwerk besteht z. Z. aus den drei ftp-Servern ftp.dante.de, ftp.shsu.edu und ftp.tex.ac.uk, wobei auf jedem dieser drei Server der gleiche Inhalt zu finden ist. CTAN dient als sogenannter ”Backbone“, d. h. das komplette Archiv oder Teile davon werden auf anderen Servern ”gespiegelt“ vorgehalten, so daß Sie die für Sie günstigste Zugriffsmöglichkeit wählen können. Außerdem ist der Inhalt von CTAN von einigen Anbietern auch auf CD-ROM erhältlich.

Die Style-Option ”german“, die zugehörige Dokumentation und die deutschen Trennmuster finden Sie auf CTAN in den Verzeichnissen

     tex-archive/languages/german/
     tex-archive/languages/hyphenation/

Die Mitgliedschaft in DANTE e.V. bietet eine weitere Möglichkeit an die Style-Option ”german“, weitere TEX-Software und vielen Kontakten zu anderen TEX-Anwendern zu gelangen. Informationen über DANTE e.V. erhalten Sie von

DANTE, Deutschsprachige Anwendervereinigung TEX e.V.

Postfach 10 18 40 69008 Heidelberg Federal Republic of Germany

Tel.: +49 6221 2 97 66 Fax: +49 6221 16 79 06

     Email: dante@dante.de

4.3 TEX 2.x vs. TEX 3.x und die Style-Option ”german“

Seit Oktober 1987 ist TEX in der Version 3.x verfügbar. Da diese Version gegenüber TEX 2.x einige Erweiterungen besitzt, soll hier kurz auf die wichtigsten Änderungen in der Style-Option ”german“ eingegangen werden.

TEX Version 3 führte neue control sequences für neue Primitive und interne Register ein. Darunter fällt das in älteren Versionen der Style-Option ”german“ verwendete Makro \setlanguage, das ab Version 2.3 in \selectlanguage umbenannt wurde. Da \setlanguage ein TEX 3-Primitiv ist und deshalb keine aufwärtskompatible Definition angeboten werden kann, muß in älteren Texte der alte Makroname durch den neuen Namen ersetzt werden.

Zu TEXs internen Registern kamen u. a. \language, \lefthyphenmin und \righthyphenmin hinzu, um Trennmuster für mehr als eine Sprache unterstützen zu können. Diese drei Register bestimmen die zu verwendenden Trennmuster und die Mindestlänge der nicht trennbaren Wortpräfixe und -suffixe. Der ”normale“ TEX-Benutzer sollte diese Register zum Wechsel der Trennmuster nie direkt ändern, sondern sollte dazu das \selectlanguage-Makro verwenden. Ab Version 2.4a der Style-Option ”german“ wird für die Sprachen german und austrian zusätzlich \frenchspacing und die Werte

für \lefthyphenmin und \righthyphenmin auf zwei gesetzt.

4.4 Änderungen seit Version 2.0 (Oktober 1987)

Zusätzlich zu den in früheren Abschnitten erwähnten Änderungen kommen folgende hinzu:

• In alten Versionen vor 2.2 fehlen die Befehle "S, "CK, "FF für Großbuchstaben und die entsprechenden Befehle für die Konsonenten L, M, N, P und T.

• In Versionen bis 2.2 gab es die undokumentierten Makros \original-

     @dospecials und \original@sanitize, die die ursprünglichen Defi-
     nitionen von \dospecial und \@sanitize enthielten, und \german-

@dospecials, \german@sanitize, die zusätzlich das Doublequote (") enthielten. Diese Makros werden von einigen ”fremden“ Makros benutzt, obwohl sie undokumentiert und nur zur internen Verwendung bestimmt waren.

• Ab Version 2.3e werden die etwas tieferen Umlautakzente durch ein geändertes Makro erzeugt, das schneller ist und zu kleineren dvi-Dateien führt. Außerdem werden jetzt alle Definitionen/Zuweisungen lokal ausgeführt. Ausnahmen hiervon sind alle Zählerallokationen.

• Bis Version 2.3e wurden bei Verwendung von "| zur Verhinderung von Ligaturen keine weiteren Trennstellen im Wort gefunden.

• In Version 2.4a wurden durch zusätzliche \/ Überschneidungen der öffnenden Anführungszeichen mit nachfolgenden Zeichen bei Verwendung der Computer-Modern-Schriften für viele Fälle verhindert. Undefinierte "x-Befehle führen jetzt zu einer Fehlermeldung (dies führt oft dazu, daß viele einfache Tippfehler schon beim Übersetzen aufgedeckt werden). Die Befehle "z, "Z, "~ und "= kamen neu dazu.

• Version 2.5a enthält Anpassungen an L^{A}TEX 2ε zur Verwendung von Schriften mit Kodierung OT1 und T1. Die Befehle "r und "R kamen hinzu. Die Defaults für ”undefinierten“ Sprachen sind jetzt 255 mit entsprechenden Warnungen, um die Benutzer zu zwingen, beim Laden der Trennmuster gleich die verwendete \language-Nummer zu sichern (z. B. mit dem Babel-System oder einer von Hand geschriebenen Konfigurationsdatei). Intern wurde, neben der Verwendung von docstrip, kleinere Optimierungen ausgeführt.

Literatur

[Duden, Bd. 1] Duden, Rechtschreibung der deutschen Sprache und der Fremdwörter. Hrsg. von der Duden-Redaktion. Auf der Grundlage der amtlichen Rechtschreibregeln. Mannheim; Wien; Zürich: Bibliographisches Institut, 19. Auflage, 1986.

[Partl88] Hubert Partl, German TEX, TUGboat 9(1):70–72, 1988.

[Braams91] Johannes Braams, Babel, a multilingual style-option system for use with L^{A}TEX’s standard document styles, TUGboat 12(2):291–301, Juni 1991.

[Goosens94] Michel Goosens, Frank Mittelbach und Alexander Samarin, The L^{A}TEX Companion, Addison-Wesley, Reading, 2. Auflage, 1994.