Kurzbeschreibung – german.sty (Version 2.4a)

Bernd Raichle

12. April 1992

Inhaltsverzeichnis

1 Laden der Style-Option 1

2 Verwendung 1 2.1 Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2.2 Wichtige Änderungen seit Oktober 1987 – TEX 3 . . . . . . . . . 2 2.3 Verwendungsbeispiele . . . . . . . . . . . . . . . . . . . . . . . . 3

3 Installation 4

4 Sonstige Bemerkungen 5 4.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4.2 Obsolete Befehle aus german.sty, Version 1 . . . . . . . . . . . . 6 4.3 Änderungen seit Version 2.0 (Oktober 1987) . . . . . . . . . . . . 6

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 LaTEX durch die Style-Option ”german“ zur Verfügung stehen und für deutschsprachige Texte verwendet werden soll. Damit wird erreicht, daß alle TEX- und LaTEX-Dokumente, die diese Befehle enthalten, problemlos von einem Rechner zum anderen übertragen werden können.

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.

Unter plain-TEX wird dazu der TEX-Befehl

     \input german

benutzt, mit LaTEX wird die Style-Option innerhalb des optionalen Arguments des \documentstyle-Befehls, z. B. mit

     \documentstyle[11pt,german]{article}

angegeben.

2 Verwendung

2.1 Befehle

Der in Münster festgelegte Befehlssatz umfaßt die folgenden Befehle: • "a als Abkürzung für \"a (Umlaute, wie ä) – auch für alle anderen Vokale,

• "s als Abkürzung für \ss (scharfes s: ß), "S ergibt ”SS“,

• "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 und t,

• "` 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 ’einfache Anführungszeichen‘,

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

• \flq für linke und \frq für rechte ^{<}einfache französische^{1} Anführungszeichen^{>},

• "| zur Verhinderung von Ligaturen,

• "- für eine Silbentrennstelle ähnlich wie bei \-, bei der aber die automatische Silbentrennung vor und nach dieser Trennstelle erhalten bleibt,

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

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

• \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,

• \originalTeX zum Zurückschalten auf Original-TEX bzw. -LaTEX. (Inaktiviert alle "x-Befehle.)

• \germanTeX zum Wiedereinschalten der deutschen TEX-Befehle. Die Befehle für Umlaute, scharfes s und zur Einfügung einer zusätzlichen

Trennstelle sind so definiert, daß auch in Silben vor und nach dem Befehl die automatische Silbentrennung funktioniert. Dabei kann TEX jedoch nicht mehr alle oder auch falsche Trennstellen finden (Beispiel: übert-ra-gen).

1Diese Anführungszeichen werden in französischen Texten nicht benutzt. Sie werden in deutschsprachigen Texten für eine Anführung in einer Anführung verwendet.

Außerdem findet kein Kerning zwischen den Anführungszeichen und den anderen Zeichen statt, d. h. bei einigen Buchstaben/Anführungszeichen-Kombi-nationen treten zu große bzw. zu kleine Abstände auf. (Beispiel: ”V statt ”V)

Achtung! Für "x-Befehle, die mit keiner Bedeutung belegt sind, erzeugt german.sty eine Fehlermeldung, um auf eine fehlerhafte Eingabe hinzuweisen. Zum Ausdrucken eines Doublequote-Zeichens sollte man besser \dq, \verb+"+ oder die ``-Ligatur verwenden.^{2}

2.2 Wichtige Änderungen seit Oktober 1987 – TEX 3

TEX Version 3 führte neue control sequences für neue Primitive und interne Register ein.

Darunter fällt das in älteren Versionen von german.sty verwendete Makro \setlanguage, das daher ab Version 2.3 in \selectlanguage umbenannt wurde. In älteren Texte sollte der alte Makroname durch den neuen Namen ersetzt werden.

Das Argument von \selectlanguage, mit dem die Sprache der Überschriftentexte und der Datumsangabe ausgewählt wird, war bisher eine control sequence (z. B. \german). Ab Version 2.4a sollte man als Argument einen String, wie z. B. german, verwenden. Es werden jedoch weiterhin beide Argumenttypen unterstützt.

Zu TEX’s internen Registern kamen u. a. \language, \lefthyphenmin und \righthyphenmin hinzu. Diese drei Register bestimmen die zu verwendenden Hyphenation Patterns und die Mindestlänge der nicht trennbaren Wortpräfixe und -suffixe. Der ”normale“ TEX-Benutzer sollte diese Register zum Wechsel der Hyphenation Patterns nie direkt ändern. Seit Version 2.3 wird zu diesem Zweck der Sprachwechsel (mit einigen Mängeln^{3}) mittels \selectlanguage unterstützt, ab Version 2.4a sind die wichtigsten Mängel beseitigt.

Mit Version 2.4a wird für die Sprachen german und austrian zusätzlich

\frenchspacing und die Werte für \lefthyphenmin und \righthyphenmin

auf zwei gesetzt. Bei Verwendung der neuen Version unterscheidet sich daher der Satzumbruch in den meisten Fällen im Vergleich zu älteren german.sty-Versionen.

2.3 Verwendungsbeispiele

Nachfolgend sind einige Beispiele für die Verwendung dieser Befehle.

sch"on  ergibt:  schön
Stra"se  ergibt:  Straße
STRA"SE  ergibt:  STRASSE
"`Ja, bitte!"'  ergibt:  ”Ja, bitte!“

     "`Sag' doch nicht immer

\glq Ja, bitte!\grq!"'  ergibt:  ”Sag’ doch nicht immer ’Ja, bitte!‘!“

2Aus Kompatibilitätsgründen wird auch noch "{} unterstützt.

3Zum Beispiel wurden für die Sprachen german und austrian unterschiedliche Hyphenation Patterns verwendet.

">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!^{≫}
Dru"cker  ergibt:  Drucker bzw. Druk-ker
Ro"lladen  ergibt:  Rolladen bzw. Roll-laden
Auf"|lage  ergibt:  Auflage (statt Auflage)

Der Befehl \selectlanguage paßt die Datumsangabe und die in den LaTEX-Styles^{4} verwendeten Überschriften an die Sprache an.

      \selectlanguage  \today           \chaptername

german  31. Januar 1987  Kapitel
austrian  31. Jänner 1987  Kapitel
english  31st January 1987 Chapter
USenglish  January 31, 1987 Chapter
french  31 janvier 1987  Chapitre

\selectlanguage ist ungeeignet, um innerhalb eines Dokuments zwischen mehreren Sprachen umzuschalten. Dieser Befehl sollte nur ein einziges Mal in einem Dokument in der Präamble verwendet werden. Dadurch können die deutschen Befehle auch innerhalb eines fremdsprachigen Dokuments benutzt werden.

     \documentstyle[german]{article}
     %\germanTeX  % nicht notwendig, wird durch das Laden der
                  % Style-Option automatisch ausgef"uhrt
     \selectlanguage{USenglish}
     \begin{document}
     englischsprachiger Text mit "a, "s, "-, etc.
     \end{document}

3 Installation

TEX erlaubt seit Version 3.0 das Laden von Hyphenation Patterns für mehr als eine Sprache. Dazu wird jedem Satz an Hyphenation Patterns ein Wert von 0–255 zugeordnet und vor dem Laden der Patterns im IniTEX-Lauf wird das neue TEX-Register \language auf diesen Wert gesetzt.

Zur Auswahl der Hyphenation Patterns beim Übersetzen eines Dokuments wird \language wieder auf den Wert gesetzt, der beim IniTEX-Lauf für diese Patterns gewählt wurde. Wird \language auf einen Wert gesetzt, für den keine Patterns geladen wurde, findet keine Silbentrennung statt.

Bis german.sty Version 2.3e wurde jeder Sprache ein fester Wert zugeordnet, der nicht geändert werden konnte:

4Angepaßte Styles sind seit Dezember 1991 in der offiziellen LaTEX-Distribution.

Sprache Wert  Sprache Wert

 USenglish  0  french  3
 german  1  english  4
 austrian  2

Ab Version 2.4a kann der Wert für jede Sprache durch eine control sequence angegeben werden. Der Name der control sequence einer Sprache language ist dabei \l@language.

In IniTEX kann durch Einlesen des folgenden Beispielfiles nach dem Laden von plain.tex bzw. lplain.tex die control sequences für englische und deutsche Patterns gesetzt werden.

% Beispiel -- nach (l/s)plain.tex einlesen.
% hyphen.tex wurde schon eingelesen und
% beinhaltet die us-amerikanischen Patterns
% !! Nur fuer TeX Version 3.x !!
\catcode`\@=11
\chardef\l@USenglish=\language
\chardef\l@english=\l@USenglish
\newlanguage\l@german \language=\l@german
\chardef\l@austrian=\l@german
\input ghyphen
\language=\l@USenglish % USenglish as Default
\catcode`\@=12
\endinput

Sind einige der control sequences für die folgenden Sprachen undefiniert, so verwendet german.sty die in der Tabelle angegebenen Default-Werte:

Sprache Wert oder, falls gesetzt, Wert der Sprache

 USenglish  0  english
 english  0  USenglish
 german  1  austrian
 austrian  1  german
 french  2

4 Sonstige Bemerkungen

— Hier gehört ein Hinweis, wie die Files GERMAN.TEX und/oder GERMAN.STY bei Ihnen installiert sind und wo das dokumentiert ist (Local Guide, LaTEX-Kurz-beschreibung etc.) — Wir empfehlen auch allen Benutzern, die TEX an einem Personal Computer oder Institutsrechner installiert haben, diese Files an ihren Rechner zu übertragen und dort ebenfalls diese Konventionen zu verwenden.

4.1 Allgemeines

Die Realisierung der deutschen TEX-Befehle mit diesem von Dr. Partl an der Technischen Universität Wien zusammengestellten und von DANTE e. V. am FTP-Server in Stuttgart und am Listserver in Heidelberg zur Verfügung gestellten File german.sty ist vor allem als ”rasche Lösung“ zu betrachten, die den Vorteil hat, daß sie keine Änderungen an der TEX-Software, den Font-Files und den Hyphenation Patterns erfordert, sondern direkt auf die Originalversion von TEX aufgesetzt werden kann.

Die hier beschriebene Version von german.sty (Version 2.4a) ist für plain-TEX und LaTEX Version 2.09 unter Verwendung der CM-Fontfamilie konzipiert.

Für die Zukunft ist eine neue Version geplant, die die EC-Fontfamilie und die neuen LaTEX-Versionen unterstützen wird. Die Benutzer-Schnittstelle (d. h. der oben angeführte Befehlssatz) wird dabei unverändert bleiben, so daß sich für die TEX- und LaTEX-Anwender keine Umstellungsprobleme ergeben werden.

4.2 Obsolete Befehle aus german.sty, Version 1

• \3 für scharfes s wird in der aktuellen Version noch unterstützt. In neuen Dokumenten sollte nur noch "s verwendet werden, da der Befehl \3 in manchen Makro-Paketen (z.B. WEBMAC) bereits für andere Zwecke verwendet wird.

• \ck zur Auflösung von ck in k-k bei der Silbentrennung wird noch unterstützt.

4.3 Ä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-Files führt.

• Ab Version 2.3e werden alle Definitionen/Zuweisungen lokal ausgeführt. (Ausnahmen hiervon sind alle Zählerallokationen.)

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