  German HOWTO
  Winfried Trümper <winni@xpilot.org>
  v1.6, 19 March 1997

  Dieses Dokument enthält Tips und Informationen für deutschsprachige
  Linux-Benutzer. Note to English readers: this document explains the
  German-specific aspects of Linux.]
  ______________________________________________________________________

  Table of Contents



  1. Über das German-HOWTO

     1.1 Benutzung auf eigene Gefahr
     1.2 Zielgruppe
     1.3 Thematischer Umfang
        1.3.1 Was ist neu in dieser Version?
           1.3.1.1 Version 1.4
           1.3.1.2 Version 1.3
           1.3.1.3 Version 1.2
           1.3.1.4 Version 1.1
     1.4 Verfügbarkeit
     1.5 Rückkopplung
     1.6 Urheberrechte
     1.7 Danksagung

  2. Rüstzeug und generelle Bemerkungen

     2.1 Warum sind deutsche Anpassungen notwendig?
     2.2 Notation
     2.3 Empfohlene Begleitliteratur
     2.4 Kurzes Glossar

  3. Menschen

     3.1 Benutzergruppen
     3.2 Linux-Supporter
     3.3 Online Chat (IRC)
     3.4 Newsgroups

  4. Dokumentation

     4.1 Deutsches Linux HOWTO Projekt (DLHP)
     4.2 Bücher
     4.3 Deutschsprachige Manual-Pages
     4.4 Diverses
        4.4.1 GNU emacs reference card
        4.4.2 Crash-Kurs Linux

  5. Das System

     5.1 Konsole
        5.1.1 Tastenbelegung der Textkonsolen
           5.1.1.1 Deutschland
           5.1.1.2 Schweiz
           5.1.1.3 Östereich
           5.1.1.4 Länderübergreifende Einstellungen
              5.1.1.4.1 Deadkeys
              5.1.1.4.2 Compose
              5.1.1.4.3 Unicode
     5.2 Zeichensatz für die Textkonsolen
        5.2.1 Unicode
     5.3 Tastenbelegung von `XFree86'
        5.3.1 Version 2.1:
        5.3.2 Version 3.1
        5.3.3 Version 3.2 und höher:
        5.3.4 Alle Versionen:
           5.3.4.1 Unicode
     5.4 Zeitzonen
        5.4.1 DOS
        5.4.2 Linux

  6. Anwendungssoftware

     6.1 Außer Konkurenz ...
        6.1.1 Zeichensätze ohne Umlaute
        6.1.2 Eigene Süppchen
     6.2 Die Ausreißer
        6.2.1 readline und Verwandte (z.B.
        6.2.2 telnet
        6.2.3 ytalk
        6.2.4 selection
        6.2.5 dosemu
        6.2.6 emacs
        6.2.7 less
        6.2.8 pine
        6.2.9 joe
        6.2.10 elm
        6.2.11 nn
        6.2.12 lynx
        6.2.13 gslp
        6.2.14 xfig
     6.3 Weiterführende Tips
        6.3.1 emacs
        6.3.2 TeX/LaTeX
           6.3.2.1 Verarbeitung von Umlauten
              6.3.2.1.1 LaTeX 2e und höher
              6.3.2.1.2 plain-TeX, LaTeX2.09
           6.3.2.2 Layout
           6.3.2.3 Deutsche Wortrennung
        6.3.3 Rechtschreibprüfung mit deutschem Wörterbuch
           6.3.3.1 Die Wortlisten
           6.3.3.2 Das Rechtschreibprogramm

  7. Textdateien

     7.1 Das Papierformat DIN A4
        7.1.1 xdvi
        7.1.2 ghostview
        7.1.3 gs
        7.1.4 dvips
        7.1.5 ImageMagick
     7.2 Konvertierung von DOS- und Mac-Texten nach Linux
        7.2.1 Die Zeilenenden
        7.2.2 Die Zeichensätze
     7.3 Drucken
     7.4 PostScript

  8. Programmierung

     8.1 National Language Support (NLS)
     8.2 Übersetzung von GNU-Programmen
     8.3 ncurses
     8.4 Erzeugung von PostScript

  9. Anhang

     9.1 Erklärende Übersetzung einiger technischer Begriffe


  ______________________________________________________________________

  1.  Über das German-HOWTO


  1.1.  Benutzung auf eigene Gefahr

  Text, Abbildungen und Programme in diesem HOWTO wurden mit großer
  Sorgfalt erarbeitet. Dennoch sind Fehler nicht ganz auszuschließen.
  Aus diesem Grund sind die im vorliegenden HOWTO enthaltenen Angaben
  mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden.
  Kurz: Benutzung auf eigene Gefahr.

  1.2.  Zielgruppe

  Das German-HOWTO wendet sich an Linux-Benutzer, deren Linux-
  Installation nicht oder nur teilweise an "deutsche" Begebenheiten
  angepaßt ist. Die Forderung der Benutzer sollte natürlich sein, daß
  alle Linux-Distributionen länderspezifische Einstellungen von sich aus
  berücksichtigen. Schließlich ist dies der Zweck der Distributionen:
  anhand einfacher Informationen das System weitmöglichst zu
  konfigurieren, ohne daß der Benutzer erst Guru werden muß.

  Kurz: würden alle Distributionen ihre Hausaufgaben machen, wäre diese
  HOWTO erheblich kürzer.



  1.3.  Thematischer Umfang

  Dieses HOWTO beschränkt sich ausschließlich auf die Beschreibung der
  für Deutschland spezifischen Konfiguration von Linux und seinen
  Programmen.

  Es wird weder eine allgemeine deutsche Einführung in Linux gegeben,
  noch wird die vorhandene Original-Dokumentation durch dieses HOWTO
  überflüssig.


  1.3.1.  Was ist neu in dieser Version?



  1.3.1.1.  Version 1.4

  Korrekturen an 1.3.


  1.3.1.2.  Version 1.3

  Komplette Neufassung des HOWTOs. Jetzt auch ausdrücklich für den
  gesamten deutschsprachigen Raum.


  1.3.1.3.  Version 1.2

  ?


  1.3.1.4.  Version 1.1

  Konvertierung in das Format linuxdoc-sgml.


  1.4.  Verfügbarkeit

  Dieses HOWTO ist offizieller Teil des `Linux Documentation Projects'
  (LDP) und somit wie alle anderen Dokumente des LPD erhältlich. Nähere
  Informationen findet man unter den URLs


       <http://www.jura.uni-sb.de/LDP/>

       <http://www.uni-paderborn.de/Linux/mdw/>


  oder im Verzeichnis /usr/doc/HOWTO/ auf der eigenen Festplatte.


  1.5.  Rückkopplung

  Korrekturen von Tippfehlern und Verbesserungsvorschläge direkt an mich
  schicken: winni@xpilot.org.

  Einstellungen aus MAKEFILEs nehme ich nicht mehr entgegen: sie sind
  direkt an den Hersteller der Linux-Distribution zu richten.  Wo kämen
  wir hin, wenn das German HOWTO zur allgemeinen Sammelstelle für Bug-
  Fixes würde?

  Man verschone mich mit über das HOWTO hinausgehende Fragen wie z.B.
  `Warum  stürzt ispell ab?'. Ich stehe aus gutem Grund nicht auf der
  Liste der deutschen Linux-Unterstützer und beantworte auch keine
  Fragen per e-mail.



  1.6.  Urheberrechte

  Copyright (1994,1995,1996,1997) Winfried Trümper <winni@xpilot.org>

  Das German-HOWTO darf im ganzen oder teilweise vervielfältigt und
  vertrieben werden, sowohl in gedruckter als auch in elektronischer
  Form, solange dieses Copyright beibehalten wird. Kommerzieller
  Vertrieb ist in diesem Sinne ausdrücklich erlaubt, solange höchstens
  (anteilige) Kosten für die Datenträger berechnet werden.

  Note to English readers:

  The German-HOWTO may be reproduced and distributed in whole or in
  part, in any medium physical or electronic, as long as the above
  copyright notice is retained on all copies. Commercial redistribution
  under the GPL is allowed and encouraged.


  1.7.  Danksagung

  Folgende Personen haben durch Vorschläge am German-HOWTO mitgewirkt:



  Bernhard Aceman <a2607425@athena.rrz.Uni-Koeln.DE>
  Andreas Bagge <Andreas_Bagge@h2.maus.de>
  Andries Brouwer <Andries.Brouwer@cwi.nl>
  Karl Brodowsky <bk1@aixcomp2.urz.uni-heidelberg.de>
  Bernhard Buettner <ben@dl6rai.muc.de>
  Gert Doering <gert@greenie.muc.de>
  Karl Eichwalder <ke@ke.central.de>
  David Frey <David.Frey@eos.lugs.ch>
  Jochen Hein <jochen.hein@delphi.central.de>
  Michael Hinz <michael@fagmed.uit.no>
  Ulli Horlacher <framstag@belwue.de>
  "Markus G. Kuhn" <kuhn@cs.purdue.edu>
  Detlef Lannert <lannert@uni-duesseldorf.de>
  Anselm Lingnau <lingnau@tm.informatik.uni-frankfurt.de>
  Nat Makarevitch <nat@nataa.frmug.fr.net>
  Sebastian Matschke
  Frerk Meyer <frerk@educat.hu-berlin.de>
  Reiner Miericke <reiner@schildi.xnc.com>
  Uwe Münch <muench@ph-cip.uni-koeln.de>
  Nils Naumann <naumann@unileoben.ac.at>
  Danilo Rene Neuber <daneuber@sbox.tu-graz.ac.at>
  Sven Neuhaus <sven%fuzzy@fuzzy.ping.de>
  Thomas Ploss <plossts@cip01.mathematik.uni-stuttgart.de>
  Roland Rosenfeld <roland@spinnaker.rhein.de>
  Sven Rudolph <sr1@irz301.inf.tu-dresden.de>
  Dietrich Schmidt <diet@sfb256.iam.uni-bonn.de>
  Ingo Schroeck <ioschroe@track.informatik.uni-stuttgart.de>
  Juergen Steiner <js@barbar.augusta.de>
  Guenter Stueck <guenter@gst0hb.north.de>
  Martin Schulze <joey@finlandia.infodrom.north.de>
  Jan Vroonhof <vroonhof@math.ethz.ch>



  2.  Rüstzeug und generelle Bemerkungen



  2.1.  Warum sind deutsche Anpassungen notwendig?

  Linux wird von einer weltweiten Gemeinde von Hackern im Internet
  entwickelt. Obwohl Linux ursprünglich aus Finnland kommt, ist Englisch
  gemeinsame Sprache und Ausgangspunkt bei der Programmierung sind meist
  amerikanische Standards (Papierformat "letter", Zeichensatz ohne
  Umlaute, usw.).

  Gerade weil die Linux-Gemeinde weltweit operiert, sind
  landesspezifische Einstellungen an vielen Stellen vorgesehen und
  müssen lediglich aktiviert werden. Das ist schon alles.


  2.2.  Notation

  Tasten werden durch ihre Aufschrift in spitzen Klammern markiert.



  2.3.  Empfohlene Begleitliteratur

  Das Linux Configuration-HOWTO (to appear) erläutert die Handhabung der
  erwähnten Konfigurationsdateien.


  Im Linux Keyboard- und Keystroke-HOWTO findet man alle "Tricks" für
  die Tastatur.


  2.4.  Kurzes Glossar


     ASCII
        ist ein 7-bit Zeichensatz und enthält 2^7 = 2*2*2*2*2*2*2 = 128
        Zeichen, was gerade mal für a-z, A-Z, 0-9 und einige wichtige
        Zeichen ausreicht. Das amerikanische Alphabet halt.


     8-bit-clean
        ein 8-bit Zeichensatz umfaßt 128*2 = 256 Zeichen und kann einige
        Sonderzeichen aufnehmen. Ist ein Programm in der Lage mit einen
        8-bit Zeichensatz umzugehen, so bezeichnet man es auch als
        `8-bit clean'. Ist ein Programm nicht 8-bit clean, so erscheinen
        oft anstelle der Umlaute `äöü' die Zeichen `dv|'.

        Man beachte den subtilen Unterschied zwischen `8bit clean' und
        `localized': Ein 8bit cleanes Programm braucht nichts von seiner
        Locale (und dem verwendeten Zeichensatz!) zu wissen; es muss
        ``nur'' alle 256 Zeichen bearbeiten können.  Handkehrum kann ein
        Programm localized sein, aber trotzdem nicht 8bit clean sein, da
        es gewisse Zeichen verschluckt (z.B. alle Control-Codes).


     `ISO-latin1' oder `ISO-8859-1'
        Internationaler 8-bit Zeichensatz, enthält Umlaute und viele
        Sonderzeichen für die `westeuropäischen' Sprachen.  (Die
        osteuropäischen und weitere haben andere Endziffern.)


     Unicode
        Unicode ist ein Standard, der Zeichen aus den
        unterschiedlichsten Sprachen der Länder dieser Welt enthält.
        Dazu werden die Zeichenpositionen in einem 32-bit Zeichensatz
        definiert, was noch längst nicht abgeschlossen ist. Gängigere
        Zeichensätze (wie die Zeichen der europäischen Sprachfamilien)
        sind als 16-bit Untergruppen festgelegt, die in kompatibler
        Weise als einzelne 16-bit Unicode-Zeichensätze verwendet werden
        können. Wenn hier von einem Unicode-Zeichensatz die Rede ist,
        ist die 16-bit Untergruppe der europäischen Sprachfamilien
        gemeint.



     POSIX
        POSIX steht für `Portable Operating System Interface for UniX'.
        Normierte Schnittstellenbeschreibung zu Kernel- und libc-
        Funktionen (POSIX.1) resp. zu den Grundutilities (sh, ed, vi,
        awk, cut, ...) (POSIX.2).


     Locale
        Ist die formale Beschreibung eines Teils der kulturellen
        Eigenheiten für ein Land oder einen Spracheraum und die vom
        jeweiligen Programm benötigten übersetzten Texte.


     Internationalization
        Veränderung eines Programms zur Unterstützung mehrerer Sprachen.



     i18n
        Abkürzung für internationalization. Da viele Leute zu faul waren
        dieses lange Wort immer wieder auszuschreiben, wurden einfach
        der erste und letzte Buchstabe belassen und der Zwischenraum
        durch die Anzahl fehlender Buchstaben ersetzt.


     Localisation
        Mit localisation wird der Prozeß bezeichnt, einem bereits
        internationalisierten Programm alle benötigten Informationen zur
        Verfügung zu stellen, um den nationalen Besonderheiten,
        bezüglich der Sprache und kulturellen Umfeld zu entsprechen.
        Kurz gesagt, i18n ist der eigentliche Übersetzungsprozeß.

        Der Nutzer kann das lokalisieren eines Programms erreichen,
        indem er besonderen Umgebungsvariablen geeignete Werte zuweist,
        welche die zu benutzende `locale' angeben.


     l10n
        Abkürzung für localization, die wie i18n entstanden ist.



  3.  Menschen


  3.1.  Benutzergruppen

  In vielen Städten haben sich Linux-Benutzer zu sogenannten Linux User
  Groups (LUG) zusammengetan. Diese Benutzergruppen sind offen für jeden
  und halten regelmäßige Treffen ab. Sie sind der ideale Treffpunkt für
  all diejenigen, die sich nicht nur im Cyberspace mit anderen Linuxern
  austauschen wollen. Eine Übersicht befindet sich unter der URL

       <http://www.schwaben.de/linux/LUG_in_de.html>



  3.2.  Linux-Supporter

  Eine Liste mit Ansprechpartnern, die Anfängern in einem begrenzten
  Rahmen kostenlosen Hilfestellung geben, findet sich unter der URL:

       <http://localhost.ruhr.de/Linux-Support.html>


  Ziel ist die Verbreitung von Linux als Betriebssystem zu fördern.


  3.3.  Online Chat (IRC)

  Im IRC-Kanal #LinuxGER halten sich einige deutsche Linux-Aktivisten
  auf.  Nähere Informationen unter der URL:

       <http://www.infodrom.north.de/Linux/LinuxGER/>



  3.4.  Newsgroups

  Früher von mir als kostenlose Hotlines degradiert, habe ich die
  Newsgroups in dieser Version anders eingeordnet. Hotline hat immer den
  Klang einer Stelle, bei der man auch ohne Lesen des Handbuchs Fragen
  stellen kann. Obwohl einige Handbücher nun wirklich nicht das gelbe
  vom Ei sind, sollte man die newgroups mit übermäßigen Fragen
  verschonen:

       de.comp.os.linux.hardware <news:de.comp.os.linux.hardware>

       de.comp.os.linux.misc <news:de.comp.os.linux.misc>

       de.comp.os.linux.x <news:de.comp.os.linux.x>

       de.comp.os.linux.networking
       <news:de.comp.os.linux.networking>


  Stattdessen sind die Newsgroup ein prima Forum, in denen man die nicht
  ganz alltäglichen Dinge diskutieren kann.



  4.  Dokumentation


  4.1.  Deutsches Linux HOWTO Projekt (DLHP)

  Das Deutsche Linux HOWTO Projekt beschäftigt sich mit der Übersetzung
  der originalen Linux HOWTOs ins Deutsche. Unter der URL

       <http://www.tu-harburg.de/~semb2204/dlhp/>


  kann man eine Liste aller übersetzten HOWTOs und nähere Informationen
  zum Projekt abrufen.



  4.2.  Bücher

  Mittlerweile gibt es sehr viele deutschsprachige Bücher zu Linux,
  weshalb ich die Übersicht aus diesem HOWTO herausgenommen habe.

  Martin Schulze <joey@finlandia.infodrom.north.de> unterhält eine Liste
  mit deutschen Büchern rund um Linux, die unter der URL:

       <http://www.infodrom.north.de/Linux/Buecher/>


  erhältlich ist und die in der Newsgroup de.comp.os.linux.misc
  regelmäßig gepostet wird.



  4.3.  Deutschsprachige Manual-Pages

  Eine Gruppe von Freiwilligen hat sich die Übersetzung der englischen
  Manual-Pages vorgenommen. Obwohl bereits ein ansehnlicher Teil
  übersetzt ist, werden weiterhin Übersetzer gesucht. Details unter der
  URL:

       <http://www.Infodrom.North.DE/Linux/manpages-de/>



  4.4.  Diverses


  4.4.1.  GNU emacs reference card

  Eine deutsche Version der äußerst nützlichen Referenzkarte zum
  Texteditor `emacs' findet man unter der URL:

       <http://www.inf.tu-dresden.de/~sr1/projects/emacs-ref­
       card/index.html>



  4.4.2.  Crash-Kurs Linux

  Wer gerne knappe Bescheibungen mag, sollte einen Blick in den von mir
  geschriebenen `Crash-Kurs Linux' werfen.

       <http://www.uni-koeln.de/themen/linux/ckl/>



  5.  Das System


  5.1.  Konsole

  Die Konsole ist die Tastatur und der Bildschirm eines Linux-Systems;
  in der Regel also der VGA-Monitor plus Tastatur.

  Linux täuscht den Programmen mehr als eine Konsole vor und der
  Benutzer kann dann mittels Tastenkombination <Alt-Ctrl-F1> - <Alt-
  Ctrl-F8> zwischen diesen hin- und herblenden. Die vorgetäuschten
  Konsolen nennt man virtuelle Konsolen.



         |¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|                             |¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|
         |  Escape the     |<--  setfont    loadkeys  -->|^1234567890ß  123 |
         |  Gates of hell. |                             | qwertzuiopü+ 567 |
         |                 |=======+             +=======| asdfghjklöä# 789 |
         |  Use Linux.     |       |             |       | <yxcvbnm,.­  0,  |
         |                 |       |             |       |__________________|
         |_________________|       |             |
                 MMM               |             |
              MMMMMMMMM            |             |             +---<---< Internet
                                   |             |             |
                           +-------*-------------*------+      |
                           |        \           /       |      |      X11 ------+
                           |         \         /        |      |       |        |
                           |  Betriebssystemkern Linux  |   telnetd  xterm      |
         Alt+Ctrl F1­F8 ----------------/ <­>           |       \\   ///        |
         als Schalter      |           /                |        \\ ///         |
                           |     /    |          \      +-------+· · ·+-------+ |
                           |    /     |           \     | ptyp1 |     | ptyef | |
                           |······+······+ · · · +······+·······+ · · +·······| |
                           | tty0 | tty1 | . . . | tty8 | ttyp1 | · · | ttyef | |
                           +------+------+ - - - +------+-------+ - - +-------+ |
                             |      |              ^              |             |
                          bash      emacs          |              less          |
                                                   |                            |
                                                    `---------------------------'

  Die nachfolgend beschriebenen Einstellungen betreffen alle virtuellen
  Konsolen gleichzeitig. Welches die "richtige" Datei für die Kommandos
  ist, darüber kann nur das Handbuch der eigenen Distribution Auskunft
  geben. (Tip: das Configuration HOWTO kann in vielen Fällen helfen.)

  Weiterführende Literatur: Keystroke-HOWTO (engl.).

  Es ist unter Linux übrigens nicht notwendig, die virtuellen
  Bildschirme mit dem Befehl `stty pass8' in den 8-bit Modus zu schalten
  - das sind sie nämlich von Hause aus.



  5.1.1.  Tastenbelegung der Textkonsolen

  Für die unterschiedlichen Tastaturen der verschiedenen Länder liegen
  im Verzeichnis `/usr/lib/kbd/keytables' vorgefertigte
  Konfigurationsdateien. Mit dem Kommando `loadkeys' kann man eine
  solche Datei in den Linux-Kernel laden und dadurch den Tasten
  bestimmte Zeichen zuordnen.

  Um Mißverständnissen vorzubeugen: man ordnet den Tasten keine
  Bedeutungen zu, sondern nur bestimmte Zeichen. Dadurch ist
  sichergestellt, daß die Tastatur auch beim Arbeiten mit entfernten
  Rechnern funktioniert, denn Zeichen kann man über jede Art von
  Netzwerkverbindung übertragen. Dagegen wäre eine direkte Abfrage der
  Tastatur-Hardware (so wie unter DOS) über ein Netzwerk nicht möglich -
  es ist ein Widerspruch in sich.

  Die Bedeutung eines Zeichens (und damit einer Taste) kann von Programm
  zu Programm leicht unterschiedlich sein und die Kunst liegt in der
  effektiven, bzw. komfortablen Konfiguration der Bedeutung. Die
  länderspezifischen Aspekte werden im kommenden Kapitel behandelt.



  5.1.1.1.  Deutschland

  Im einfachsten Falle werden Benutzer einer deutschen Tastatur mit der
  Belegung `de-latin1-nodeadkeys.map' zufrieden sein:

  Beispiel:


       loadkeys   de-latin1-nodeadkeys.map



  5.1.1.2.  Schweiz

  Geeignete Tastenbelegungen für die Schweiz sind `sf-latin1.map'
  (swiss-french) und `sg-latin1.map' (swiss-german).

  In der Deutschschweiz gibt es 2 verschiedene Tastaturlayouts, bei
  denen wenige Tasten verschieden beschriftet sind (eckige Klammern,
  @-Zeichen an verschiedenen Orten).



  5.1.1.3.  Östereich

  ?


  5.1.1.4.  Länderübergreifende Einstellungen

  Die Tastaturtabellen sind Textdateien, die sich mit dem persönlichen
  Lieblingseditor bearbeiten lassen. Um z.B. die französischen
  Anführungszeichen auf <AltGr .> und <AltGr -> zu legen, ergänzt man an
  den entsprechenden Stellen:



       keycode 51 = comma semicolon guillemotright
       keycode 52 = period colon guillemotleft

       control keycode 105 = Meta_b
       control keycode 106 = Meta_f



  Die letzten beiden Einträge ermöglichen wortweises Springen auf der
  Kommandozeile mit Strg-Cursortaste. Als Anregung für eigene
  Ergänzungen hier eine Tabelle mit allen (?) symbolischen Namen:



       "  quotedbl     '  apostrophe   `  grave        ~  asciitilde
       ^  asciicircum  _  underscore   !  exclam       ?  question
       #  numbersign   $  dollar       %  percent      &  ampersand
       |  bar          @  at           +  plus         -  minus
       *  asterisk     /  slash        \  backslash    .  period
       ,  comma        :  colon        ;  semicolon    <  less
       =  equal        >  greater      (  parenleft    )  parenright
       [  bracketleft  ]  bracketright {  braceleft    }  braceright

       ¡  exclamdown   ¢  cent         £  sterling     ¤  currency
       ¥  yen          ¦  brokenbar    §  section      "  diaeresis
       ©  copyright    ª  ordfeminine  <  guillemotleft
       ¬  notsign      ­  hyphen       ®  registered
       ¯  macron       °  degree       ±  plusminus    ²  twosuperior
       ³  threesuperior                ´  acute        µ  mu
       ¶  paragraph    ·  periodcentered               ¸  cedilla
       ¹  onesuperior  º  masculine    >  guillemotright
       ¼  onequarter   ½  onehalf      ¾  threequarters
       ¿  questiondown À  Agrave       Á  Aacute       Â  Acircumflex
       Ã  Atilde       Ä  Adiaeresis   °A  Aring        Æ  AE
       Ç  Ccedilla     È  Egrave       É  Eacute       ^E  Ecircumflex
       Ë  Ediaeresis   Ì  Igrave       Í  Iacute       Î  Icircumflex
       Ï  Idiaeresis   Ð  ETH          Ñ  Ntilde       Ò  Ograve
       Ó  Oacute       Ô  Ocircumflex  Õ  Otilde       Ö  Odiaeresis
       ×  multiply     Ø  Ooblique     Ù  Ugrave       Ú  Uacute
       ^U  Ucircumflex  Ü  Udiaeresis   Ý  Yacute       |O  THORN
       ß  ssharp       à  agrave       á  aacute       â  acircumflex
       ã  atilde       ä  adiaeresis   å  aring        æ  ae
       ç  ccedilla     è  egrave       é  eacute       ê  ecircumflex
       ë  ediaeresis   ì  igrave       í  iacute       î  icircumflex
       ï  idiaeresis   xo  eth          ñ  ntild        ò  ograve
       ó  oacute       ô  ocircumflex  õ  otilde       ö  odiaeresis
       ÷  division     ø  oslash       ù  ugrave       ú  uacute
       û  ucircumflex  ü  udiaeresis   ý  yacute       |o  thorn
       "y  ydiaeresis

       nul     Tab     Escape  space   BackSpace
       Insert  Remove  Home    End     PageUp
       Down    Left    Right   Up      PageDown
       Macro   Help    Do      Pause   Linefeed


  [Die Tabelle nicht ganz korrekt, da einige Zeichen vom
  Formatierungswerkzeug nicht verarbeitet werden. Wir arbeiten daran.]

  Die keytables(5), die dumpkeys(1) und loadkeys(1) Manpages erläutern
  welche Symbole gültig sind, insbesondere


       dumpkeys --long-info



  erzeugt eine Liste aller bekannten Zeichennamen und Modifier.



  5.1.1.4.1.  Deadkeys


  Mit Deadkey wird eine Taste bezeichnet, bei deren Betätigung das
  Zeichen zunächst zurückgehalten wird. Das nachfolgend eingegebene
  Zeichen wird quasi über das zuerst eingegeben Zeichen gedruckt, falls
  die Kombination Sinn ergibt. Ansonsten werden beide Zeichen
  nacheinander ausgegeben.

  Beispiel: ist die Tilde als Deadkey konfiguriert, so ergibt <~> <a>
  ein ã (a mit Tilde darüber).


  5.1.1.4.2.  Compose

  Alternativ zu den Deadkeys kann man auch mit der <Compose>-Taste
  arbeiten: sie druckt zwei nacheinander eingetippte Zeichen
  übereinander. So ergibt die Tastenfolge <Compose> <~> <a> ein ã,
  während ein <~> <a> weiterhin ~a anzeigt.

  Um <Compose> auf die an vielen neuen Tastaturen vorzufindenden
  zusätzlichen Tasten zu legen, kann man z.B. konfigurieren:



       keycode 127 = Compose



  Bei mir trägt diese Taste das Symbol "Quadrat mit Pfeil in der linken
  oberen Ecke". Die Taste mit dem Fenster-Symbol (früher: Diamant-Symbol
  oder Meta) hat die Nr. 125.


  5.1.1.4.3.  Unicode

  Bei Verwendung eines Unicode-Zeichensatz sollte man auch die Tastatur
  in den Unicode-Modus schalten:



       kbd_mode -u



  5.2.  Zeichensatz für die Textkonsolen

  Damit die länderspezifischen Zeichen überhaupt auf dem Bildschirm
  dargestellt werden können, muß der entsprechende Zeichensatz für den
  Bildschirm geladen werden. Akzeptable Ergebnisse erzielt man in der
  Regel mit `lat1u-16.psf', einem 16-Punkt hohen UNIcode-Zeichensatz.
  Der zugehörige Befehl zum Laden sieht z.B. so aus:


       setfont /usr/lib/kbd/consolefonts/lat1u-16.psf



  Die Details sind wiederum der Dokumentation der eigenen Distribution
  zu entnehmen.


  5.2.1.  Unicode

  Um den Unicode-Zeichensatz für die Anwendungsprogramme freizugeben muß
  man die Zeichenfolge ESC ( K an den virtuellen Bildschirm senden. Dies
  kann z.B. durch die Befehlsfolge



       for i in  1 2 3 4 5 6 7 8
       do
           echo -n -e "\033(K" > /dev/tty$i
       done



  geschehen. Diese Lösung ist allerdings aus verschiedenen Gründen sub-
  optimal.



  5.3.  Tastenbelegung von `XFree86'

  `XFree86' ermöglicht den Betrieb von Programmen, die das `X Window
  System' benötigen. In Verbindung mit einem sogennanten
  `Windowmanager', der das Look&Feel bestimmt, stellt es die grafische
  Benutzeroberfläche unter Linux zur Verfügung.

  Oft wird empfohlen, die Tastenbelegung des XFree86 durch die Datei
  ~/.Xmodmap oder mit dem Befehl xmodmap zu konfigurieren. Dies ist
  nicht erforderlich, sondern unnötig kompliziert. Tatsächlich ist nur
  ein Eintrag in der Konfigurationsdatei des XFree86 notwendig, um die
  <AltGr> Taste zu aktivieren. Die Vorgehensweise unterscheidet sich für
  die verschiedenen Versionen:



  5.3.1.  Version 2.1:

  Konfigurationsdatei: /usr/X11/lib/X11/Xconfig

  Mit Ausnahme der in der Tastaturbelegung vereinbarten Deadkeys werden
  die Tasten genau wie auf der Textkonsole belegt.  Die Deadkeys (s.o.)
  sind unter Version 2.1 tatsächlich `dead' - aber leider ganz, nicht
  nur `halb'.  Die Freigabe der Alt-Tasten muß manuell vorgenommen
  werden, dazu trägt man im Abschnitt Keyboard ein:


       LeftAlt     Meta
       RightAlt    ModeShift



  5.3.2.  Version 3.1

  Konfigurationsdateien: /etc/X11/XF86Config und /etc/XF86Config

  Die Tastatur ist genau wie auf der Konsole belegt, auch die Deadkeys
  und <Compose> funktionieren (falls als solche konfiguriert).

  Um allerdings in den Genuß der <Alt >- und <AltGr >-Tasten zu kommen,
  muß man bei der Erzeugung der Konfigurationsdatei (Programm
  xf86config) folgende Frage mit `y' (yes) beantworten:


       Do you want to enable these bindings for the Alt keys?



  Alternativ kann man die entsprechenden Einstellungen auch per Hand im
  Abschnitt Section "Keyboard" vornehmen:


           LeftAlt     Meta
           RightAlt    ModeShift



  `RightAlt ModeShift' aktiviert die <AltGr>-Taste und `LeftAlt Meta'
  sorgt für eine Emulation der <Meta>-Taste (benötigen z.B. die
  Programme emacs und bash).


  5.3.3.  Version 3.2 und höher:

  Konfigurationsdateien: /etc/X11/XF86Config und /etc/XF86Config

  Hat man eine Konfigurationsdatei der Version 3.1 oder will man es sich
  besonders einfach machen, dann verfährt man wie oben beschrieben und
  ergänzt im Abschnitt Section "Keyboard" lediglich



           XkbDisable



  Dadurch wird die unter Linux etwas kompliziert anmutende Xkbd-Technik
  abgeschaltet und das X liest stattdessen die Tastaturbelegung der
  Textkonsolen (auf diese Weise braucht man nur eine Sache zu
  konfigurieren).  Äquivalent kann man bei der Erzeugung der
  Konfigurationsdatei (Programm xf86config) folgende Frage mit `n' (no)
  beantworten:



           Do you want to use XKB?


  Beantwortet man diese Frage mit `y' (yes), dann sind in der
  Konfigurationsdatei folgende Einträge zu entkommentieren (d.h. das
  `#'-Zeichen ist zu entfernen):



       #    XkbLayout   "de"
       #    XkbVariant  "nodeadkeys"



  5.3.4.  Alle Versionen:

  Sondermodelle fertigt man mit dem Befehl



       xmodmap -pke > ~/.Xmodmap



  und einem Editor nach Wahl an. Die globale Konfigurationsdatei ist
  /etc/X11/Xmodmap. Leider gibt es keine empfehlenswerte Software zur
  komfortableren Konfiguration der Tastatur (xkeycaps ist katastrophal
  in Sachen Benutzerführung).

  Empfehlenswert für die Xmodmap sind etwa



       ! Freigabe der Compose-Taste
       keycode 117 = Multi_key
       ! Punkt auf das Komma des Ziffern-Blocks
       keycode 91 = period
       ! Was um alles in der Welt ist die Super-Taste?
       keycode 115 = Super_L
       ! Für diejenigen, die ^? als Backspace auf der Konsole konfiguriert haben.
       keycode 22 = BackSpace



  5.3.4.1.  Unicode

  ?


  5.4.  Zeitzonen

  Die ganze Welt ist in Zeitzonen unterteilt, innerhalb derer eine
  einheitliche Zeit gilt (unabhängig von der Zeit einer Sonnenuhr an dem
  betreffenden Ort). Bezugspunkt für die Einteilung ist die Universal
  Time, kurz UTC.

  Zu einer Zeitzone gehören bestimmte Regeln, wie z.B. die Umstellung
  von Sommer- auf Winterzeit. Linux kann diese Regeln automatisch
  berücksichtigen.

  Allerdings ist die automatische Zeitumstellung nur angebracht, wenn
  Linux das einzige Betriebssystem auf dem Rechner ist oder auch das
  andere Betriebssystem auf diese Technik beherrscht.
  5.4.1.  DOS

  Der Treiber clock.sys bringt DOS den Umgang mit Zeitzonen bei. Der TZ-
  Wert für die deutsche Zeitzone in clock.sys ist


       CET-1CEST,M3.5.0/2,M10.5.0/3



  Der Treiber clock.sys ist z.B. erhältlich unter der URL

       <ftp://ftp.tu-chemnitz.de/pub/sim­
       tel/msdos/clock/clk360rs.zip>



  5.4.2.  Linux

  Unter Linux gibt es quasi 3 Zeiten:


  ·  Die der auf dem Motherboard installierten CMOS-Uhr,

  ·  die Systemzeit des Linux-Kernels und

  ·  die dem Benutzer von verschiedenen »Uhren« angezeigte Zeit.



                   »clock -u -w«               »date -u -s«
        CMOS-Uhr  <--------------   Linux    <--------------
       (Mainboard)                Systemzeit                 Benutzer-Uhr
                  -------------->   (UTC)    -------------->
                   »clock -u -s«             »date«, »xclock«



  Die Programme clock und date übersetzen zwischen diesen Uhrzeiten.

  Zwar liest der Kernel schon beim Booten die CMOS-Uhr aus und
  interpretiert sie als UTC. Aber um systematische Fehler der CMOS-Uhr
  zu korrigieren, wird die Uhrzeit vom Skript /etc/init.d/boot (oder
  vergleichbar) ein weiteres Mal gelesen. Dort wird dann der clock-
  Befehl ausgeführt und ist daher für die weiteren Betrachtungen
  ebenfalls relevant.

  Für die Umstellung von Sommer- auf Winterzeit gibt es zwei
  Möglichkeiten: manuell oder automatisch.



       Umstellung              manuell          automatisch
       ----------------------------------------------------
       CMOS-Uhr                Ortzeit          UTC
       Option für clock        -keine-          -u



  Die Zeitzone der CMOS-Uhr setzt man am sichersten während des Bootens
  im BIOS Setup. "UTC" ist die  Universal Time: im Winter eine, im
  Sommer zwei Stunden weniger.

  Welches Skript den Befehl clock ausführt (und demnach die Option '-u'
  enthalten kann) muß man dem Handbuch der eigenen Distribution
  entnehmen.


  Die eigentliche Zeitzone wird unabhängig von den obigen Einstellungen
  durch den Link /usr/lib/zoneinfo/localtime festgelegt. In der Regel
  zeigt dieser Link auf die Hauptstadt des eigenen Landes:



       Land           Zeitzonen-Datei
                                        |- Zeitzone -|
       -----------------------------------------------
       Deutschland    /usr/lib/zoneinfo/Europe/Berlin
       Östereich      /usr/lib/zoneinfo/Europe/Vienna
       Schweiz        /usr/lib/zoneinfo/Europe/Zurich



  Um den Link anzulegen kann man das Kommando ln verwenden, im Falle von
  Deutschland lautet die komplette Befehlszeile dann:


       ln -sf /usr/lib/zoneinfo/Europe/Berlin  /usr/lib/zoneinfo/localtime



  Die eingestellte Zeitzone kann mit der Umgebungsvariable TZ
  überschrieben werden:


       export TZ=Asia/Hong_Kong; xclock & export TZ=Africa/Dakar; xclock &



  Das früher gebräuchliche "MET" sollte unter keinen Umständen
  weiterverwendet werden. Markus Kuhn schrieb mir:


       Die Datei /usr/lib/zoneinfo/MET existiert nur zwecks
       Rückwärtskompatibilität.  Die Autoren der Zeitzonentabellen
       (Olson/Eggert/et al.) wollen eigentlich, daß deutsche
       Benutzer statt MET die Datei Europe/Berlin verwenden.  Dann
       stimmen sogar die historischen Sommerzeiten vor 1945, die
       Linux auch alle kennt. Außerdem wird dann in der neuesten
       Version der Zeitzonentabelle "Mitteleuropäische Zeit (MEZ)"
       endlich korrekt ins Englische mit "Central European Time
       (CET)" übersetzt, denn "MET" ist ein Übersetzungsfehler
       (siehe z.B. Langenscheid Englisch; ich habe deswegen sogar
       beim Physikalisch-Technischen Bundesamt nachgefragt, die für
       die deutsche Zeit verantwortlich sind). "CEST" ist dann
       entsprechend "Central European Summer Time" ("MET DST", wie
       es noch in vielen Linux-Installationen benutzt wird, war
       eine falsche Uebersetzung von MESZ).



  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 ...


  6.1.1.  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.



  6.1.2.  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.


  6.2.1.  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.



  6.2.2.  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.



  6.2.3.  ytalk

  Konfigurationsdateien: ~/. und /etc/



  6.2.4.  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.



  6.2.5.  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.ä.

  6.2.6.  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>



  6.2.7.  less

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



       export LESSCHARSET=latin1



  6.2.8.  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



  6.2.9.  joe

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



       -asis



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



  6.2.10.  elm

  Konfigurationsdatei: ~/.elm/elmrc



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



  6.2.11.  nn

  Konfigurationsdatei: ~/.nn/init



       set data-bits 8



  Eine globale Konfigurationsdatei existiert nicht.



  6.2.12.  lynx

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



       CHARACTER_SET:ISO Latin 1



  6.2.13.  gslp

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


  6.2.14.  xfig

  Kommandozeilenoption:



       -metric



  6.3.  Weiterführende Tips



  6.3.1.  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>


  6.3.2.  TeX/LaTeX

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


  6.3.2.1.1.  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.


  6.3.2.1.2.  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.


  6.3.2.2.  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/
  <ftp://ftp.dante.de/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
  <ftp://ftp.dante.de/pub/tex/macros/latex/contrib/supported/koma-
  script/scrg uide.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.)


  6.3.2.3.  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.



  6.3.3.  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.


  6.3.3.1.  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>



  6.3.3.2.  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" "äöüÄÖÜß"))



  7.  Textdateien


  7.1.  Das Papierformat DIN A4


  Nähere Informationen zu Papierformaten findet man unter der URL

       <http://www.ft.uni-erlangen.de/~mskuhn/iso-paper.html>


  Folgende Programme können auf das Papierformat DIN A4 eingestellt
  werden.

  7.1.1.  xdvi

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


       XDvi.paper:     a4



  7.1.2.  ghostview

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


       Ghostview.pageMedia:  A4



  7.1.3.  gs


  Kommandozeilenoption


       -sPAPERSIZE=a4



  7.1.4.  dvips

  Konfigurationsdateien: ~/.dvipsrc und /usr/lib/texmf/dvips/config.ps



       % Paper size information.
       %
       % If your default is a4 uncomment the following definition
       % and comment out the letterSize definition.
       %
       @ a4size 210mm 297mm
       @+ %%PaperSize: a4



  7.1.5.  ImageMagick

  Dieses Grafikpaket enthält ein Programm zur Konvertierung beliebiger
  Grafikformate. Die Kommandozeilenoption


       -page A4



  erzwingt das Seitenformat A4.


  7.2.  Konvertierung von DOS- und Mac-Texten nach Linux

  Die Textformate von DOS, MACs und UNIX unterscheiden sich in zwei
  Punkten:

  ·  Codierung der Sonderzeichen (z.B. Umlaute)

  ·  Markierung des Zeilenendes


  7.2.1.  Die Zeilenenden

  Das Ende einer Textzeile wird wie folgt markiert:



       Linux:    LF ("linefeed" = Zeilenvorschub, "^J", Ascii 10)
       DOS:   CR LF
       Mac:   CR    ("carriage return" = Wagenvorlauf, "^M", Ascii 13)



  Die Programme fromdos, todos und frommac, tomac wandeln ausschließlich
  die Zeilenenden um, die Zeichen selbst werden nicht angepaßt.
  Gleiches gilt für die Optionen `conv=auto', bzw. `conv=text' des
  mount-Kommandos bzgl. des MS-DOS Dateisystems.


  7.2.2.  Die Zeichensätze

  Die Zeichensätze setzen sich wie folgt zusammen:



       Linux: ISO-LATIN1
       DOS:   IBMPC Charactersets CP 437, CP 850, ...
       Mac:   Mac-Eigengebräu



  Der erste Teil aller dieser Zeichensätze ist der ASCII-Zeichensatz, so
  daß man Texte ohne Umlaute usw. nicht zu konvertieren braucht. Um
  sowohl Zeilenenden, als auch die Sonderzeichen zu konvertieren, kann
  man das Programm recode benutzen:



       recode  -d ibmpc:lat1    hausarb.tex



  wandelt die DOS-Datei `hausarb.tex' in das Format ISO-Latin-1 um.
  Durch die Definition von Aliasen kann man sich das Leben etwas
  einfacher machen:



  alias unix2dos='recode lat1:ibmpc'
  alias dos2unix='recode ibmpc:lat1'
  alias unix2mac='recode lat1:mac'
  alias mac2unix='recode mac:lat1'



  Achtung: diese aliase sind in shell-Skripten nicht verfügbar.

  GNU recode ist von jedem GNU-mirror erhältlich, also z.B. von

       <ftp://ftp.uni-koeln.de/packages/gnu/recode-3.4.tar.gz>



  7.3.  Drucken


  Der
     Treppenstufen
                  -Effekt
                         (engl. staircase)
                                          rührt
                                                von
                                                   den
                                                      oben
  beschriebenen
               Unterschieden
                            im
                              Textformat
                                        her.



  Die meisten Drucker besitzen ein kleines Mäuse-Klavier, an dem man den
  Drucker vom DOS-Textformat auf das Unix-Textformat umstellen kann.  In
  der Regel wird damit auch automatisch auf die Betriebsart ISO-latin1
  geschaltet, so daß auch Umlaute usw. gedruckt werden.

  Weitere Informationen findet man im Linux Printing-HOWTO.



  7.4.  PostScript

  Fehlen in einem gedruckten PostScript-Dokument die Umlaute ganz oder
  werden diese verstümmelt gedruckt, so liegt das nicht am Drucker oder
  am `ghostscript' (konvertiert PostScript für den Drucker), sondern an
  der Software: das PostScript wurde nicht korrekt erzeugt.

  Besonders geschickt ist Word: es beginnt eine PostScript-Datei mit
  <Strg d>, dem Zeichen für das Ende einer Datei (unter Linux). Das
  fällt ebenfalls in die Kategorie "kaputtes PostScript" (wird aber
  mittlerweile von den meisten Druckerfiltern abgefangen).



  8.  Programmierung



  8.1.  National Language Support (NLS)

  Für Programmierer unbedingt zu empfehlen ist das Paket `GNU gettext'.
  Es stellt eine Bibliothek zur Verfügung, die den Programmen zur
  Laufzeit den Zugriff auf länderspezifische Informationen erlaubt.

  Welche Schritte im Einzelnen erforderlich sind, um ein Programm zu
  internationalisieren, erläutert das Manual zu `gettext' (derzeit noch
  `draft'-Stadium).

  `GNU sharutils' ab der Version 4.2 ist ein beispielhaft
  internationalisiertes Programm-Paket.


  8.2.  Übersetzung von GNU-Programmen

  Wer bei der Übersetzung von GNU-Programmen mithelfen will, sollte den
  Email-Verteiler de@li.org abonnieren. Dahinter steht eine majordomo-
  mailingliste (sprich: majordomo@li.org nimmt die subscribe-Befehle
  entgegen)


  8.3.  ncurses

  Diese C-Bibliothek zur Bildschirmsteuerung ist seit Version 1.8.2 in
  der Lage, mit 8-bit Zeichen umzugehen. Ältere Versionen sollten nicht
  verwendet werden.


  8.4.  Erzeugung von PostScript

  Die auszugebenden Texte können Umlaute enthalten, wenn vorher folgende
  Funktion aufgerufen wurde:



       %
       % change encoding to ISO8859-1  -  reiner@schildi.xnc.com
       %
       % <fontname> ISOfindfont => <font>
       %
       /ISOfindfont {
           dup 100 string cvs (ISO-) exch concatstrings cvn exch
           findfont dup maxlength dict begin
               { 1 index /FID ne {def}{pop pop} ifelse } forall
               /Encoding ISOLatin1Encoding def
               currentdict
           end definefont
       } def



  9.  Anhang


  9.1.  Erklärende Übersetzung einiger technischer Begriffe


  Ohne ein gewisses Maß an Englisch-Kenntnissen wird man an Linux nicht
  viel Freude haben, da sowohl die Dokumentation, als auch die Menüs und
  Hilfe-Funktionen der Programme vornehmlich in Englisch geschrieben
  sind.
  Dieser Abschnitt soll das Verständnis englischen Orginal-Dokumentation
  erleichtern, indem der technische Zusammenhang der Vokabeln erläutert
  wird (wenn nötig).

  Im Internet gibt es noch einige interaktive Wörterbücher, z.B.  unter
  der URL:


       <http://www.chemie.fu-berlin.de/glossar/glossar.html>



  ENGLISH            DEUTSCH
  ---------------------------------------------------------------------------
  abort            Programm oder Verbindung abbrechen
  argument         Parameter (Einstellung), der einem Programm übergeben
                     wird
  bracket          eckige Klammer
  character        Zeichen
  comment          Kommentar
  device           Gerät; der Zugriff auf Geräte erfolgt unter Linux
                     fast ausschließlich über Dateien, die sogennanten
                     Gerätedateien im Verzeichnis `/dev'; meist bezieht
                     sich <em/device/ auf eine dieser Dateien
  directory        Verzeichnis
  environment      Umgebung; bezieht sich auf die Einstellungen, die
                     einem Programm mit Umgebungsvariablen (enviroment
                     variables) übergeben wird
  file             Datei
  file descriptor  Dateizugriffsnummer; programminterne Nummer für
                     eine offene Datei
  font             Zeichensatz
  host             Maschine, Computer, Rechner (wörtlich: Gastgeber)
  I/O              Ein-/Ausgabe
  kernel           Betriebssystemkern; der heilige Teil von Linux
  key              Taste
  keyboard         Tastatur
  library          Zusammenfassung von compilierten C-Routinen zu
                     einer Bibliothek, die dann aus jedem anderen
                     Programm heraus benutzt werden kann
  link             Verweis; anstatt eine Datei zu kopieren, kann man
                     auch einen Verweis anlegen; dies spart Platz und
                     erlaubt einige Tricks
  load             laden, Beladung, Ausnutzung; in Zusammenhang mit
                     der Auslastung einer Maschine gebraucht
  lock             Sperre (meist gewollt)
  mount            montieren, zusammensetzen; stets im Zusammenhang
                     mit dem Verzeichnisbaum, der durch das Kommando
                     `mount ...' zusammengesetzt wird
  network          Computernetz(werk)
  news
  OS               Betriebssystem (Operating System)
  overflow         bei einer mathematischen Operation ist ein Ergebnis
                     aufgetreten, daß wegen seiner Größe nicht mehr
                     in die dafür vorgesehene Variable paßt
  parenthesis      runde Klammer
  path             Pfad, meist als Begriff für den kompletten
                     Verzeichnisnamen zu einer Datei gebraucht
  pipe             Röhre, Veranschaulichung der Weiterleitung von Daten
                     von einem zum nächsten Programm; das sogennante
                     `pipe-symbol' ist das Zeichen | (senkr. Strich)
  press            Drücken Sie (die Taste)
  quote            Anführungszeichen oder Zitat
  <!-- quoten = quotes benutzen = zitieren -->
  remote           im Sinne von "die Gegenseite der Verbindung"
  resolve          Ermittlung (Auflösung) der numerischen IP-Adresse,
                     die zu einem Maschinennamen gehört
  server           Computer, der anderen Computern Dateien oder
                     Dienstleistungen zur Verfügung stellt
  source           meist Begriff für die Programmtexte (Quellcode,
                     Sourcecode) benutzt; "may the source be with you"
                     UTSL: Use the source, Luke.
  space            Leerzeichen
  string           Zeichenkette
  template         Vorlage, Muster, Schablone
  trace            Ablaufverfolgung
  type             Tippen Sie ein
  underflow        Unterlauf, z.B. "der Unterlauf des Rheins" ;-)
                     Im Ernst: Wenn bei einer Floating-Point Berechnung, die Zahl
                     kleiner als das Maschinen-Epsilon wird, wird dies mit dem
                     Underflow-Flag angezeigt.
  wildcard         Joker, meist erfüllt der Stern * diese Funktion,
                     z.B. zur unvollständigen Angabe von Dateinamen



