Next Previous Contents

## 6. Anwendungssoftware

Mittlerweile sind viele Programme hinsichtlich der Unterstützung von landesspezifischen Einstellungen so weit genormt, man einen Großteil der Konfiguration durch Setzen der Umgebungsvariable `LANG` auf den Wert `de_DE` erledigen kann. Dies ist ein Standard, der in einem der vielen POSIX-Standards festgelegt wird, der aber nicht alle Bereiche abdeckt. So fehlen z.B. Papiergröße und Zeitzone; allerdings wären beide bei größeren Ländern schlecht mit einer Variable zu erfassen, so daß man sie außen vorgelassen hat.

Der richtige Ort für das Setzen von Umgebungsvariablen sind die Dateien `/etc/profile` oder `~/.bash_profile`:

> `

>     #LANG=de_AT  # in Österreich
>     #LANG=de_CH  # in der deutschsprachigen Schweiz
>     LANG=de_DE   # in Deutschland
>     export LANG

> `

Soweit die Theorie. In der Tat ist es etwas nervig, wenn sich deutsche und engliche Fehlermeldungen, Datumsangaben, usw. aufgrund von unvollständiger Internationalisierung mischen:

> `

>     tar: Kann Archiv 'foo.tgz' nicht öffnen: Permission denied

> `

In einem solchen Fall überschreibt man lieber diesen Aspekt der LANG-Variable:

> `

>     LC_MESSAGES=C
>     export LC_MESSAGES

> `

Dabei gehe ich davon aus, daß die eigene Linux-Distribution den POSIX-Standard durch die Locale-Dateien bereitstellt. Leider sind noch nicht alle Linux-Distributionen auf diesem Stand, so daß die obige Einstellung evtl. zu nervigen Fehlermeldungen führt. Beispiel:

> `

>     Warning: locale not supported by C library, locale unchanged

> `

In einem solchen Fall sollte man sich beim Hersteller des Distribution beschweren. Oder auf eigene Faust die locale-Dateien installieren, inkl. Kompilation der libc.

Details zu den Lokalen findet man im Linux Locale mini-HOWTO oder in der man-page zu locale. Der Rest dieses Kapitels behandelt die "Ausreißer", die die Umgebungsvariable LANG nicht auswerten.

## 6.1 Außer Konkurenz ...

### Zeichensätze ohne Umlaute

Sowohl für die Textkonsole als auch für X11 existieren Zeichensätze (engl. `fonts'), die nicht alle Zeichen aus ISO-latin1 enthalten. D.h. die fehlenden Zeichen (z.B. Umlaute) werden als Leerzeichen oder gar nicht auf dem Bildschirm dargestellt. In diesem Fall hilft natürlich die Konfiguration der Programme nicht weiter, sondern es muß ein anderer (vollständiger) Zeichensatz gewählt werden.

### Eigene Süppchen

Konfigurationsdateien: `~/.Xresources` und `/etc/X11/Xresources`

Das X-Window-System wartet mit einer eigenen Konfigurationsmöglichkeit für Locale auf. Diese muß man aber nur nutzen, wenn man für einzelne X-Programme die Locale anders setzen will, d.h. wenn man die Einstellungen in den Umgebungsvariablen überschreiben will.

Anders ausgedrückt: durch Setzen der Locale über die X-Resourcen verkompliziert man in den meisten Fällen das Setup der eigenen Linux-Machine (und wer will das schon). Andererseits gibt es natürlich Fälle, in denen das evtl. notwendig ist (aber wer hat die schon).

Gerüchten zufolge bestimmen folgende Resourcen die Locale von X11:

> `

>     !*displayLang:   de_DE
>     !*timeFormat:    de_DE
>     !*inputLang:     de_DE
>     !*basicLocale:   de_DE
>     !*numeric:       de_DE

> `

Achtung: das Kommentarzeichen ist `!', nicht `#'.

## 6.2 Die Ausreißer

Solange nicht ausdrücklich erwähnt, betreffen die Einstellungen alle Versionen eines Programms. Die vorzunehmenden Einstellungen sind durch Einrückung markiert.

### readline und Verwandte (z.B. `bash`)

Konfigurationsdatei: `~/.inputrc` Versionen: ab bash 1.14.1

> `

>     set meta-flag on
>     set convert-meta off
>     set output-meta on

> `

Kopiert man die Datei außerdem noch nach `/etc/skel/', so erhält sie jeder neu angelegte Benutzer automatisch. Eine globale Konfigurationsdatei gibt es leider noch nicht.

Vorsicht: Kommentare und Leerzeilen in dieser Datei können zu Problemen füren.

### telnet

Konfigurationsdatei: `~/.telnetrc`

Erscheinen beim `telnet` statt `äöü' die Zeichen `dv|', so muß man für jede Maschine einen Eintrag der Form:

> `

>     localhost
>          set binary true

> `

anlegen. Denselben Effekt erreicht man mit der Option "-8". Eine globale Konfigurationsdatei für `telnet` existiert nicht.

### ytalk

Konfigurationsdateien: `~/.` und `/etc/`

### selection

Das Programm selection muß neu compiliert werden, damit es Umlaute korrekt per Cut&Paste transportiert. Die notwendigen Modifikationen (Patch) stammen von Andries Brouwer und liegen unter der URL ftp://ftp.win.tue.nl/pub/linux/util

Gegenüber `gpm` verbraucht `selection` deutlich weniger virtuellen Speicher, daher ist es auch heute noch von Interesse.

### dosemu

Konfigurationsdateien: `~/.dosrc` und `/etc/dosemu.conf`

Versionen: ab 0.52pl16

> `

>     keyboard {  layout de-latin1  keybint on  rawkeyboard on  }

>     X { updatefreq 8 title `DOS in a BOX' icon_name `xdos' keycode }

> `

Hinweis: die Einstellung `keycode' funktioniert nur einwandfrei mit XFree86, nicht dagegen mit Xterminals o.ä.

### emacs

Versionen: ab 19.22 (GNU)

Hinweis: einige Versionen des emacs haben Probleme mit der Aktivierung der Umlaute. Ab Version 19.29 sollten damit keinerlei Schwierigkeiten mehr auftreten.

Die Haupt-Konfigurationsdateien für den `emacs' sind:

> `

>     /usr/lib/emacs/site-lisp/site-start.el       (global),
>     ~/.emacs                                 (persönlich),
>     /usr/lib/emacs/site-lisp/default.el          (global),

> `

und werden in dieser Reihenfolge abgearbeitet. Insbesondere überschreiben also die Einstellungen in der `default.el' die Einstellungen aus ` /.emacs' und `site-start.el'. Diese Einträge erlauben das Arbeiten mit Umlauten:

> `

>     (set-input-mode (car (current-input-mode))
>                   (nth 1 (current-input-mode))
>                                             0)

>     (standard-display-european t)

> `

Speziellere Informationen findet man in der FAQ zum Thema `emacs und Umlaute' von Karl Brodowsky, erhältlich unter der URL:

> ftp://ftp.uni-erlangen.de/pub/doc/ISO/deutsch/emacs-umlaute-faq.gz

### less

Konfigurationsdateien: `~/.bash_profile` und `/etc/profile` Versionen: nur ältere Versionen sind betroffen

> `

>     export LESSCHARSET=latin1

> `

### pine

Konfigurationsdateien: `~/.pinerc` und `/etc/pine.conf`

> `

>     # character-set should reflect the capabilities of the display
>     # you have. Normal default is US-ASCII.  Typical alternatives
>     # include ISO-8859-x, where x is a number between 1 and 9.
>     character-set=ISO-8859-1

> `

### joe

Konfigurationsdateien: `~/.joerc` und `/etc/joe/joerc`

> `

>     -asis

> `

Achtung, das Minus muß in der 1. Spalte stehen.

### elm

Konfigurationsdatei: `~/.elm/elmrc`

> `

>     charset = iso-8859-1
>     displaycharset = iso-8859-1
>     textencoding = 8bit

> `

### nn

Konfigurationsdatei: `~/.nn/init`

> `

>     set data-bits 8

> `

Eine globale Konfigurationsdatei existiert nicht.

### lynx

Konfigurationsdateien: `~/.lynxrc` und `/etc/lynx.cfg` Versionen: ab 2.4

> `

>     CHARACTER_SET:ISO Latin 1

> `

### gslp

Kann von Hause aus keine Umlaute. Es ist ein patch erforderlich, dessen Beschreibung die Zielsetzung dieses HOWTO sprengt.

### xfig

Kommandozeilenoption:

> `

>     -metric

> `

## 6.3 Weiterführende Tips

### emacs

Der emacs kann in seinen Fähigkeiten durch Lisp-Module erheblich erweitert werden. Er ist dadurch das Schweizer Taschenmesser unter den Texteditoren. "Nur Kaffeekochen kann er nicht".

Die Lisp-Module tragen die Dateiendung `.el` oder `.elc`; letztere ist die compilierte Form einer `.el`-Datei. `emacs` sucht z.B. im Verzeichnis `/usr/lib/emacs/site-lisp` nach solchen Modulen.

Die Laden der Module kann im emacs per Hand mit dem Kommando

> `

>     <Alt x> load-library <return> pc-mode <return>

> `

vorgenommen werden. Alternativ kann man durch die Anweisung

> `

>     (load "pc-mode")

> `

in einer der Konfigurationsdateien das Modul dauerhaft laden. Nachfolgend die Beschreibung einiger nützlicher Module:

pc-mode

  Konfiguriert die Tastaturbelegung so, wie PC-Benutzer es gewohnt sind. Keine Landesspezifischen Abhängigkeiten, aber oft gefragt. In der Konfigurationsdatei eintragen:

  > `

  >     ;;; pc-mode.el --- emulate certain key bindings used on PCs.
  >     (load "pc-mode")
  >     (pc-bindings-mode)

  > `

pc-select

  Stellt Cut&Paste wie unter MacOS oder Win ein.

  > `

  >     ;;; pc-select.el ---  emulate cut&paste like on PC or Mac
  >     (load "pc-select")
  >     (pc-selection-mode)

  > `

iso-tex und iso-cvt

  Zeigen die Umlaute unverändert an, speichern sie aber in dem TeX-Format ab.

konvers

  Wie `iso-tex', kann aber nicht nur in beide Richtungen konvertieren, sondern beherrscht auch noch andere Formate wie etwa MIME.

iso-acc (iso-accent-mode) und alt-symbol

  Erlauben die Eingabe von Umlauten und Akzenten durch vorangestellte Zeichen, d.h. ~a wird schon während der Eingabe der Zeichen zu einem a mit der Schlange darüber (und auch als solches abgespeichert).

AUCTeX

  AUCTeX ist eine leistungsfähige Umgebung zum Verfassen von TeX- und LaTeX-Dokumenten. Die automatische Erkennung von landesspezifischen Besonderheiten wird mit dem Eintrag

  > `

  >     (setq TeX-parse-self t)

  > `

  in einer der Konfigurationsdateien aktiviert. `\usepackage{german}' wird daraufhin von AUCTeX als Indikator verwendet.

Die erwähnten Pakete sind erhältlich unter der URL:

AUC TeX

  ftp://sunsite.auc.dk/packages/auctex/auctex.tar.gz

alt-symbol.el

  ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit

iso-tex.el

  ftp://ftp.dante.de/pub/tex/support/iso-tex

konvers.el

  ftp://ftp.uni-erlangen.de/pub/doc/ISO/charsets/konvers-862.tar.gz

### TeX/LaTeX

TeX ist ein professionelles Satzsystem. LaTeX ist eine Sammlung von Macros zum effektiven Einsatz von TeX.

### Verarbeitung von Umlauten

### LaTeX 2e und höher

Das Paket zur Verwendung des latin1-Zeichensatzes ist mittlerweile fester Bestandteil von LaTeX. Es wird aktiviert mit der Anweisung

> `

>     \usepackage[latin1]{inputenc}

> `

im Kopfteil des Dokuments.

### plain-TeX, LaTeX2.09

Für diese Formate gibt es entweder keine Pakete oder nur veraltete Style-Dateien. Daher kann man Dokumente, die solche veralteten Pakete enthalten, i.a. nicht an andere versenden. Eine Verwendung der alten Makros wie `iso.sty`, `xlatin1.sty` und `umlaute.sty` (für den Atari) wird daher nicht empfohlen.

### Layout

Folgendes Beispiel kann als simples Grundgerüst für deutsche Texte (hier: Artikel) verwendet werden:

> `

>     \documentclass[a4paper]{article}
>         %  Die Option "a4paper" stellt als Papiergröße
>         %  DinA4 ein. Alle anderen LaTeX-Pakete verlassen sich auf
>         %  diese Einstellung.

>     \usepackage{german}
>         %  stellt Abkürzungen für typische deutsche Besonderheiten
>         %  bereit. Die Dokumentation befindet sich auf den
>         %  CTAN-Serven unter /pub/tex/language/german/germdoc.tex

>     %\usepackage[T1]{fontenc}
>     %    % Erlaubt die Trennung von Wörtern mit Umlauten

>     \usepackage[latin1]{inputenc}
>         % gibt den Zeichensatz des Dokuments an und macht somit die
>         % Eingabe von latin1-Zeichen möglich.

>     \usepackage{a4}
>         % stellt den bedruckten Bereich einer Seite, den sogenannten
>         % <em/Satzspiegel/, ein. Er wird so berechnet, daß
>         % durchschnittlich circa 60 bis 70 Buchstaben in einer Zeile
>         % vorkommen, da man sonst beim Lesen die Zeilen verliert.

>     %\usepackage[german]{babel}
>         % Aktiviert die Unterstutzung mehrerer Sprachen gleichzeitig.

>     \begin{document}
>     ...
>     \end{document}

> `

Weitere Informationen findet man unter der URL http://www.dante.de/dante/dante-faq.html

Eine bessere Alternative zur Satzspiegeleinstellung bietet das Paket "typearea.sty". Dieses Paket findet man bei den Koma-Script-Klassen von Markus Kohm unter ftp://[CTAN]/pub/tex/macros/latex/contrib/supported/koma-script/, die das "typearea.sty"-Paket intern verwenden. Es ist aber auch zusammen mit den Standardklassen (z.B. article) verwendbar.

Die Koma-Script-Klassen beachten auch andere deutsche Typographieregeln und sind daher sehr empfehlenswert. Dokumentation zu den Koma-Script-Klassen und dem "typearea.sty"-Paket befinden sich unter ftp://[CTAN]/pub/tex/macros/latex/contrib/supported/koma-script/scrguide. ps.

CTAN

  Comprehensive TeX Archive Network, bestehend aus (bald wieder) drei Rechnern in Amerika, Großbritannien und Deutschland. Der amerikanische und der deutsche Rechner sind von DANTE e.V ( Deutschsprachige Anwendervereinigung TeX) angeschafft und finanziert worden. Der deutsche Rechner hat den Namen `ftp.dante.de`.)

### Deutsche Wortrennung

Alle modernen TeX-Distributionen bieten die Möglichkeit, in der zugehörigen Konfigurationsdatei das Kommentarzeichen % vor der Zeile

> `

>     german          ghyph31.tex

> `

zu entfernen. Es werden dann Formate mit den deutschen Trennregeln erzeugt.

Mit der Rechtschreibreform ab 1. August 1998 werden andere Trennregeln gültig. Vermutlich werden dann rechtzeitig neue Trenntabellen zur Verfügung stehen.

### Rechtschreibprüfung mit deutschem Wörterbuch

Zur Prüfung von Rechtschreibfehlern steht unter Linux das Programm `ispell` zur Verfügung. Die meisten Distributionen bieten dieses zur Installation an, die zugehörige deutsche Wortliste liegt seltener bei.

### Die Wortlisten

Einen recht brauchbaren Grundstock für eine eigene Wortliste enthält das Paket "hk-deutsch2" von H. Knutzen. Es umfaßt 22 Dateien, die individuell zu einer eigenen Wortliste zusammengefaßt werden können. Die dazu notwendigen Schritte werden in dem beiliegendem README genau erklärt.

Durch die individuelle Zusammenstellung werden die Wortlisten kleiner und somit die Rechtschreibprüfung beschleunigt.

Es soll aber nicht verschwiegen werden, daß man diesen Listen in der Regel noch eine "eigene" Wörter hinzufügen muß (dies ist mit `ispell` automatisch möglich).

Das Paket ist erhältlich unter der URL:

> ftp://ftp.informatik.uni-kiel.de/pub/kiel/dicts/hk2-deutsch.tar.gz

### Das Rechtschreibprogramm `ispell`

Da `ispell` nicht jedes Textformat automatisch erkennt, muß man die Optionen `-T latin1` und `-w "äöüÄÖÜß"` verwenden. Kommen weitere nicht-ascii Zeichen im Text vor, so sollte man diese ebenfalls mit der '-w'-Option zulassen.

Ein anderes als das englische Wörterbuch wird mit der Option '-d' ausgewählt, also z.B.

> `

>     ispell -d german -T latin1 -w "äöüÄÖÜß" German-HOWTO.txt

> `

für das Deutsche Wörterbuch in der Datei `/usr/dict/german.hash` (Binärformat).

Ruft man `ispell` aus dem Editor `emacs` heraus auf, so kann man obige Parameter automatisch übergeben, indem man folgenden Eintrag in einer der Konfigurationsdateien des emacs vornimmt:

> `

>     (setq ispell-extra-args '("-Tlatin1"
>                               "-d" "/usr/lib/german"
>                               "-w" "äöüÄÖÜß"))

> `

Next Previous Contents