<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">% anleitung.tex - Die deutsche Anleitung zum Umlaute-Paket
% (c) 1994-95 Harald Axel Sommerfeldt (Harald_Sommerfeldt@w.maus.de)
%
% This is the german manual, you will get an english one by running
% umlaute.dtx through LaTeX.
%
% F"ur die Neugierigen unter uns:
% Frage  : Warum habe ich f"ur diesen Text das \textsf{Inputenc}-Paket
%          nicht verwendet, um Umlaute direkt eintippen zu k”nnen?
% Antwort: Weil es auch nach ftp.dante.de soll. Und dort sollten (nach
%          M"oglichkeit) alle Dateien im \LaTeX -Baum 7-Bit-ASCII-Dateien
%          sein (daher ist auch \verb|cs_patch.zip| uuencodet).
%          Au"serdem enth"alt dieser Text auch eine Installationsanleitung,
%          die man ja ansonsten nicht lesen k"onnte, ohne das Paket bereits
%          installiert zu haben.
%
\documentclass[a4paper]{article}
\IfFileExists{wasysym.sty}{\usepackage{wasysym}}{}

%---------------------------------------------------------------------
% aus ltxdoc.cls geklaut:
\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}}
\providecommand\marg[1]{%
  {\ttfamily\char`\{}{\em#1\/}{\ttfamily\char`\}}}
\providecommand\oarg[1]{%
  {\ttfamily[}{\em#1\/}{\ttfamily]}}
\providecommand\parg[1]{%
  {\ttfamily(}{\em#1\/}{\ttfamily)}}
%---------------------------------------------------------------------
% aus isolatin.def (von diesem Paket) geklaut:
\makeatletter
\def\as@msa#1{{\fontencoding{U}\fontfamily{msa}\selectfont\char#1}}
\ProvideTextCommandDefault{\textblacksquare}{\as@msa{4}}
\ProvideTextCommandDefault{\textyen}{\as@msa{85}}
\ProvideTextCommandDefault{\textulcorner}{\as@msa{112}}
\ProvideTextCommandDefault{\texturcorner}{\as@msa{113}}
\ProvideTextCommandDefault{\textregistered}{\as@msa{114}}
\ProvideTextCommandDefault{\textllcorner}{\as@msa{120}}
\ProvideTextCommandDefault{\textlrcorner}{\as@msa{121}}
\def\as@wasy#1{{\fontencoding{U}\fontfamily{wasy}\selectfont\char#1}}
\ProvideTextCommandDefault{\textcurrency}{\as@wasy{27}}
\ProvideTextCommandDefault{\textcent}{\as@wasy{103}}
\ProvideTextCommandDefault{\textpermil}{\as@wasy{104}}
\ProvideTextCommandDefault{\textbrokenbar}{\as@wasy{124}}
\makeatother
%---------------------------------------------------------------------

\usepackage{german}
\usepackage{shortvrb}\MakeShortVerb{\|}

\begin{document}
\providecommand*{\AmS}{{\protect\usefont{OMS}{cmsy}{m}{n}%
  A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}}
\providecommand*{\LaTeXcomp}{The \LaTeX{} Companion}
\newcommand*{\purerm}[1]{{\upshape\mdseries\rmfamily #1}}
\newcommand*{\puresf}[1]{{\upshape\mdseries\sffamily #1}}
\newenvironment{Options}[1]%
 {\begin{list}{}{\renewcommand{\makelabel}[1]{\texttt{##1}\hfil}%
    \settowidth{\labelwidth}{\texttt{#1\ }}%
    \setlength{\leftmargin}{\labelwidth}%
    \addtolength{\leftmargin}{\labelsep}}}%
 {\end{list}}

\def\packageversion{a}
\def\packagedate{5.2.1995}
\title{Das \LaTeXe\ \puresf{Umlaute}-Paket\thanks{Dieses Paket besitzt die
       Versionsnummer 2.0\packageversion , zuletzt ge"andert am \packagedate .}
       \footnote{Der Name ist auf historische Gr"unde zur"uckzuf"uhren:
       Die ersten Versionen dieses Paketes unterst"utzten lediglich die
       Direkteingabe deutscher Sonderzeichen.}}
\author{Harald Axel Sommerfeldt\\Harald\_Sommerfeldt@w.maus.de}
\date{16.\ Februar 1995}
\maketitle

\begin{abstract}
Es war einmal ein \LaTeXe -Paket namens \textsf{Umlaute}
\cite{umlaute1}, welches die Portabilit"at von \LaTeXe\ Dokumenten mit
enthaltenen Sonderzeichen (d.h.\ mit ASCII-Kodes $\ge 128$) gew"ahrleistete.
Hierbei wurden die Zeichenkodierungen \texttt{Atari}, \texttt{ISO 8859/1 (Latin1)},
\texttt{Apple Macintosh}, \texttt{PC codepage 850} und \texttt{Roman8}
unterst"utzt.

Heutzutage wird einem hierf"ur das \LaTeXe -Paket \textsf{Inputenc}~\cite{inputenc}
angeboten, welches neuerdings (genauer: seit dem 1.12.1994) dem \LaTeXe\ beiliegt.
Leider werden jedoch nur Kodetabellen f"ur ASCII und den ISO 8859/1 mitgeliefert.
"`Diesem Mi"sstand mu"s Einhalt geboten werden!"' dachte ich mir und zimmerte die
Version 2 dieses Paketes zusammen, dem die schmerzlich vermissten Kodetabellen
beiliegen.
\end{abstract}

\section{Einleitende Worte}
Jeder deutsche \LaTeX -Anwender kennt das Problem mit den Umlauten, an die in
Amerika mal wieder keiner gedacht hat, als \TeX\ entstand. Es gab zwar schon
die verschiedensten L"osungen, um diese direkt in sein Dokument eintippen zu k"onnen,
aber fast alle hatten einen sehr gro"sen Nachteil: Inkompatibilit"at!
Man konnte seine Dokumente einfach nicht so weitergeben; die Umlaute sorgten
auf fremden Rechnern meist nur f"ur ablehnende Fehlermeldungen.
F"ur einige Kodierungen existierten jedoch auch \LaTeX -Styles (wie
z.B.\ |isolatin.sty| f"ur die ISO 8859/1-Kodierung), mit denen man
die Sonderzeichen ungehemmt verwenden konnte. Besitzer anderer Rechner konnten
solche Dokumente trotz "`falscher"' Umlaute auch bei sich problemlos "ubersetzen,
vorausgesetzt auch hier war der passende Style vorhanden.
Selbst wenn f"ur den eigenen Rechner kein passender Style vorhanden war --- man
konnte sich ihn einfach selber stricken (so ist z.B.\ im Kopka~\cite{Kopka}
in Abschnitt D.3.6 einer abgedruckt), man durfte aber unter keinen Umst"anden
vergessen, diesen mit weiterzugeben.

Aus diesem Mi"sstand heraus entstand die Idee, endlich mal alle m"oglichen
Zeichensatzkodierungen unter einen Hut zu bringen und f"ur alle verf"ugbar
zu machen; dies war die Entstehung des \textsf{Umlaute}-Paketes f"ur \LaTeXe .
Die Auswahl der gew"unschten Kodierung konnte hierbei einfach "uber die Option,
die man seit \LaTeXe\ ja jedem Paket mit auf die Reise geben kann, erfolgen.

Nun, mittlerweile gibt es sogar ein Paket vom \LaTeX 3-Team selber, welches
seit der $&lt;$1994/12/01$&gt;$-Version jedem \LaTeXe\ beiliegt; dieses h"ort auf den
Namen \textsf{Inputenc}. Die Kodetabellen sind hier nicht wie beim alten
\textsf{Umlaute}-Paket direkt in den Style mit eingearbeitet, sondern sind
extern und werden bei Bedarf geladen. Leider werden z.Z.\ nur ASCII und
ISO 08/15 unterst"utzt.

Da ich noch nie ein Freund langen Wartens war, habe ich also kurzerhand die
Kodetabellen vom \textsf{Umlaute}-Paket in das Format des \textsf{Inputenc}-Paketes
umgestrickt und vervollst"andigt.
Schnell noch ein neues |umlaute.sty| zusammengestrickt, welches einfach nur noch
|inputenc.sty| mit den passenden Optionen aufruft, und voil\'{a} -- das
\textsf{Umlaute}-Paket Version 2 ward geboren!

\section{Und wie benutze ich nun dieses Paket?}
Die Installation geht wie bei allen \LaTeXe -Paketen vonstatten:\\
Man "ubersetze die Datei |umlaute.ins| mit \LaTeX, etwa mit
\begin{quote}|latex umlaute.ins| \quad .\end{quote}
Die dadurch erzeugten |.sty| und |.def|-Dateien kopiere man anschlie"send
in ein Verzeichnis, wo \LaTeX\ sie auch sp"ater wiederfindet, z.B.\ nach
\begin{quote}|/usr/local/lib/texmf/tex/contrib|\end{quote}
oder nach
\begin{quote}|\tex\inputs\contrib| \quad ;\end{quote}
die Pfade sind je nach verwendeter \TeX -Implementation recht unterschiedlich.
Im Zweifelsfalle kopiere man die Dateien einfach dorthin, wo auch die Datei
|inputenc.sty| zu finden ist.

In der Pr"aambel (das ist der Teil vor |\begin{document}|) eigener Dokumente
kann man nun folgende Zeile verwenden:
\begin{quote}
  |\usepackage|\oarg{encoding name}|{inputenc}| \quad ,
\end{quote}
wobei f"ur \textit{encoding name} entweder |atari|, |pc850|, |isolatin|, |mac| oder
|roman8| einzusetzen ist. Und schon kann man in dem Dokument selber die
Umlaute (und sonstige Sonderzeichen) munter direkt verwenden.

In dem \textsf{Inputenc}-Paket existiert auch noch der Befehl
\begin{quote}
  |\inputencoding|\marg{encoding name} \quad ,
\end{quote}
mit dem auch mitten im Text die Kodierung bei Bedarf umgeschaltet werden kann.
(Dies kann allerdings ggf.\ zu Problemen f"uhren, dazu komme ich sp"ater noch
in Abschnitt \ref{problems}.)

\section{\mbox{Einige Anmerkungen zu meinen Kodetabellen}}

\begin{itemize}
  \item Die Verwendung einiger Zeichen setzt installierte \AmS\ Zeichens"atze~\cite{ams}
  voraus, das sind:
  \begin{quote}
    \IfFileExists{Umsa.fd}%
     {\textblacksquare\quad\textyen\quad\textulcorner\quad\texturcorner%
      \quad\textregistered\quad\textllcorner\quad und\quad\textlrcorner}
     {\cs{blacksquare}, \cs{yen}, \cs{ulcorner}, \cs{urcorner}, \cs{circledR},
      \cs{llcorner} und \cs{lrcorner}~\footnote{Da auf Ihrem Rechner die
      \AmS\ Zeichens"atze leider nicht installiert sind, stehen hier nur die
      entsprechenden Befehlsnamen anstelle der Zeichen selber!}}
  \end{quote}

  \item Die Verwendung einiger Zeichen setzt installierte \textsf{Wasy2}
  Zeichens"atze~\cite{wasy,wasysym} voraus, dies sind:
  \begin{quote}
    \IfFileExists{Uwasy.fd}%
     {\textcurrency\quad\textcent\quad\textpermil\quad und\quad\textbrokenbar}
     {\cs{currency}, \cs{cent}, \cs{permil} und \cs{brokenvert}~\footnote{Da auf
      Ihrem Rechner die \textsf{Wasy2} Zeichens"atze leider nicht installiert
      sind, stehen hier nur die entsprechenden Befehlsnamen anstelle der Zeichen
      selber!}}
  \end{quote}

  \item Einige mathematischen Sonderzeichen vom Atari setzen ein geladenes
  \textsf{wasysym} Paket~\cite{wasysym} voraus, dies sind:
  \begin{quote}
    \ifx\symwasy\undefined{\cs{invneg} und \cs{varoint}~\footnote{Da auf Ihrem
      Rechner das \textsf{wasysym}-Paket leider nicht installiert ist,
      stehen hier nur die entsprechenden Befehlsnamen anstelle der Zeichen
      selber!}}
    \else{$\invneg$\quad und\quad$\varoint$}
    \fi
  \end{quote}

  \item Leider sind noch nicht alle Zeichen in dieses Paket eingearbeitet,
  die fehlenden wurden einfach zu |\NotImplemented| definiert.
  Falls jemand ein Zeichen vermisst und einen Implementationsvorschlag
  einzubringen hat, so m"oge er mir bitte bitte eine Mail zukommen lassen!
  Ein paar Zahlen: Betroffen sind 36 Zeichen in der Datei |atari.def|,
  25 in |pc850.def|, 0 in |isolatin.def|, 11 in |mac.def| und 1 in |roman8.def|.

  \item Zu allem "Uberflu"s sind einige der fehlenden Zeichen gnadenlos
  auf "`falsche"' Zeichen abgebildet worden. Was soll das? Nun ja, leider
  haben nicht immer alle Buchstaben in ihrer Kodierung einen passenden
  Partner; dieser wird aber unbedingt f"ur korrekt funktionierende
  |\uppercase| und |\lowercase| Befehle ben"otigt, mit denen Zeichenketten
  in Gro"s- bzw.\ Kleinschrift ungewandelt werden.

  Hier nun eine Liste der Vermissten (und wohin sie gezw"angt wurden):

  \DeleteShortVerb{\|}
  \begin{tabular}{|l||l|l|}\hline
    \MakeShortVerb{\|}
    Kodierung &amp; vermisste Zeichen &amp; verlegt nach\\ \hline
    atari\rule{0ex}{2.5ex} &amp; \^A \^E \"E \`E \"I \^I \`I \^O \`O \^U \`U \"Y
         \SS\ \'A \'D \'O \'U &amp; |"C0| \ldots\ |"D0| \\
    pc850    &amp; \"Y \SS\ (\SS\ $=$ |\uppercase{|\ss|}|) &amp; |"B0| und |"B1| \\
    isolatin &amp; \SS\ \"Y &amp; |"80| und |"81| \\
    mac      &amp; \SS\     &amp; |"F0| \\
    roman8   &amp; \SS\     &amp; |"FF| \\
  \hline\end{tabular}

  In sp"ateren Versionen werde ich dieses Verhalten eventuell konfigurierbar
  machen.
\end{itemize}

\section{\mbox{Warum noch eine ISO 8859/1 Definitionsdatei?}}
Die ISO 8859/1 Definitionsdatei (|isolatin.def|), die diesem Paket beiliegt,
besitzt einige Vorteile gegen"uber derjenigen, die Teil des
\textsf{Inputenc}-Paketes ist (|latin1.def|):
\begin{itemize}
  \item Es sind mehr Zeichen definiert (mit Hilfe der \AmS - und
        \textsf{Wasy2}-Zeichen\-s"atze).
  \item Die Datei kann auch \emph{nach} dem \textsf{German}-Paket (bzw.\ \textsf{%
        germanb} aus dem \textsf{Babel}-Paket) eingelesen werden, ohne das man dies
        mit |\mdqoff| und |\mdqon| klammern m"usste.
  \item Alle Zeichen werden in den Seitenk"opfen korrekt in Gro"sbuchstaben
        umgewandelt (falls der Seitenstil |headings| ausgew"ahlt ist),
        wie z.B.\ `\ss' $\mapsto$ `\SS'.
  \item Die Befehle |\uppercase| und |\lowercase| machen auch vor den neu
        zur Verf"ugung stehenden Zeichen nicht halt.
\end{itemize}
Nat"urlich gilt das oben gesagte auch f"ur alle anderen Definitionsdateien, die
diesem Paket beiliegen!

\section{Probleme mit fremden Definitionsdateien}
\label{problems}
Werden die beiliegenden Definitionsdateien zusammen mit anderen verwendet, so
kann es unter Umst"anden zu Fehlermeldungen kommen. So z.B.\ bei dem folgenden
Beispiel:
\begin{quote}
  |\documentclass{article}|\\
  |\usepackage[|\textit{woanders her}|]{inputenc}[1994/12/10]|\\
  \ldots \\
  |\begin{document}|\\
  \ldots \\
  |\tableofcontents|
  \ldots \\
  |\inputencoding{|\textit{vom Umlaute-Paket}|}|\\
  \ldots \\
  |\section{|\texttt{Hein Bl"od fiel in den Flu\ss}|}|\\
  |\end{document}|
\end{quote}
Nach dem zweiten Durchlauf durch \LaTeX\ kommt es zu folgender Fehlermeldung:
\begin{verbatim}
  (error.toc
  ! Undefined control sequence.
  &lt;argument&gt; ...in Bl\"od fiel in den Flu\as@active 
                                                  {ss}
  l.1 ...n Bl\"od fiel in den Flu\as@active {ss}}{1}

  ?
\end{verbatim}
Warum dies? Nun ja, einige Zeichen werden in meinen Definitionsdateien
indirekt, d.h.\ "uber Macros wie |\as@active|, |\textblacksquare|,
|\mathbullet| u.s.w.\ definiert.
In diesem Falle wurde das Macro |\as@active| in die |.toc|-Datei geschrieben,
weil halt \ss\ --- einer der betroffenen Zeichen -- in einer "Uberschrift
verwendet wurde.
Beim n"achsten Durchlauf lie"st \LaTeX\ diese |.toc|-Datei ein und gibt eine
Fehlermeldung aus, da |\as@active| zu diesem Zeitpunkt noch nicht bekannt ist
(es wird erst bei |\inputencoding{|\textit{vom Umlaute-Paket}|}| dem
\LaTeX\ bekannt gemacht)!

Was nun? Nun, eine einfache L"osung w"are die Zeile
\begin{quote}
  |\usepackage[|\textit{woandersher}|]{inputenc}[1994/12/10]| \quad.
\end{quote}
durch
\begin{quote}
  |\usepackage[|\textit{irgendwas von Umlaute}|]{inputenc}[1994/12/10]|\\
  |\inputencoding{|\textit{woandersher}|}|
\end{quote}
zu ersetzen. Als \textit{irgendwas von Umlaute} kann hierbei |atari|, |pc850|,
|isolatin|, |mac| oder |roman8| eingesetzt werden, welche ist egal (denn in
jeder meiner Dateien wird jedes meiner Macros definiert, um solche Probleme
bei Verwendung meiner Definitionsdateien zu vermeiden).

Einige Fragen sind jedoch noch offen geblieben: Warum sind einige Zeichen
"uber das Macro |\as@active| definiert? Weil sie ansonsten nicht in den
Seitenk"opfen (bei |pagestyle{headings}|) korrekt in Gro"sbuchstaben gewandelt
werden w"urden!\footnote{Dies hat Gr"unde, die tief in den \LaTeX -Quellen
verborgen sind. Der Trick, wie dies erreicht wird, ist "ubrigens dem
|german.sty|~\cite{german} entnommen.}
Betroffen sind hierbei die Zeichen |\aa|, |\ae|, |\^{\i}|, |\'{\i}|, |\`{\i}|,
|\"{\i}|, |\o|, |\ss|, |\oe|, |\dh| und |\th|.

\section{Wichtiges f"ur em\TeX -Anwender}
Im \LaTeXe -Format darf keine Zeichenumwandlungstabelle enthalten sein!
(Solche werden mit den Schalter |/c| eingebaut.) Stattdessen mu"s beim Generieren
des \LaTeXe -Formates die Option |/8| angegeben werden, z.B.\ so:
\begin{quote} |tex386 /i /8 latex.ltx|\end{quote}
Ansonsten wird das \textsf{Inputenc}-Paket nicht funktionieren und deswegen wird
man auch keine fremden Dokumente "ubersetzen k"onnen, die dieses Paket verwenden.
Man ist also nicht in der Lage, Texte mit "`fremden"' Sonderzeichen "ubersetzen
zu k"onnen, da die Umwandlungstabelle dem \textsf{Inputenc}-Paket die Zeichen
quasi vor der Nase wegschnappt und (falsch) umwandelt!

\section{Wichtiges f"ur CS-\TeX\ und Multi\TeX -Anwender}
CS-\TeX\ besitzt leider eine fest eingebaute Routine, die Atari-Sonderzeichen
in die Cork-Kodierung umwandelt, so da"s das \textsf{Inputenc}-Paket hier nicht
funktioniert.

Was kann man dagegen machen?
\begin{enumerate}
  \item Das \textsf{Inputenc}-Paket nicht benutzen!\\
  Mit der eingebauten Umwandlungsroutine kann man recht viele Zeichen (wie
  die Umlaute und das "s) auch direkt benutzen, man mu"s nur die Cork-kodierten
  Zeichens"atze (|T1| Kodierung, DC-Zeichens"atze) verwenden. Dies kann mit
  |\usepackage[T1]{fontenc}| in der Pr"aambel des Dokumentes erreicht werden
  und ist sowieso aufgrund der Vorteile der DC-Zeichens"atze gegen"uber der
  CM-Zeichens"atze anzuraten.
  Bevor man die Texte dann weitergibt, f"ugt man ein |\usepackage[atari]{umlaute}|
  f"ur die anderen ein.

  Nat"urlich ist dies nur eine Nothilfe, denn schlie"slich ist man nicht dazu in
  der Lage, Dokumente mit fremden Sonderzeichen korrekt zu "ubersetzen!

  \item CS-\TeX\ patchen!\\
  Dies ist einfacher als es zun"achst den Anschein haben mag:\\
  Man suche die Hex-Codes
  \begin{quote}|00 01 02 03| \ldots\ |7E 7F FC DC C2 C3| \ldots\ |BE 9E|\end{quote}
  in den Dateien |INITEX_L.TTP| und (|TT-|)|TEX_L.TTP| und ersetze sie durch
  \begin{quote}|00 01 02 03| \ldots\ |7E 7F 80 81 82 83| \ldots\ |FE FF| .\end{quote}
  Diesem Paket liegt auch (in Form des uucodierten ZIP-Archivs |cs_patch.uue|)
  ein Programm bei, welches diese Arbeit f"ur einen erledigt.\footnote{An dieser
  Stelle ein herzliches Dankesch"on an Markus Kohm f"ur das Programm!}

  Nat"urlich ist diese L"osung der ersteren vorzuziehen.
\end{enumerate}

\section{Andere \TeX\ Implementationen}
Falls es Probleme bei der Benutzung der beiliegenden Definitionsdateien f"ur das
\textsf{Inputenc}-Paket gibt (und vielleicht sogar schon eine L"osung gefunden
wurde), so m"oge man mir bitte eine E-Mail an folgende Adresse zukommen lassen:
\begin{quote}|Harald_Sommerfeldt@w.maus.de|\end{quote}
bzw.
\begin{quote}|Harald Sommerfeldt @ W|\qquad im MausNetz.\end{quote}

F"ur Anmerkungen und Verbesserungsvorschl"age bin ich ebenfalls dankbar.

\begin{thebibliography}{9}
  \bibitem{umlaute1}
  Axel Sommerfeldt: \emph{The umlaute package (v1.2)}, 1994/11/28
  \bibitem{inputenc}
  Alan Jeffrey: \emph{An input encoding package for \LaTeXe\ (v0.09)}, 1994/12/10
  \bibitem{Kopka}
  Helmut Kopka: \emph{\LaTeX -- Eine Einf\"uhrung},
  4. \"uberarbeitete und erweiterte Auf\/lage, Addison-Wesley, Bonn, 1992
  \bibitem{ams}
  \emph{User's Guide to \AmS Fonts Version 2.2}, January 1995
  \bibitem{wasy}
  Roland Waldi: \emph{The Symbol font wasy}, Version 2.0 - September 1992
  \bibitem{wasysym}
  Axel Kielhorn: \emph{The wasy symbol fonts for use with \LaTeXe}, 94/05/28
  \bibitem{german}
  Bernd Raichle: \emph{Style-Option ``german'' f\"ur plain-\TeX ,
  \LaTeX\ 2.09, \LaTeXe\ und anderen auf diesen basierenden Formate},
  20. Januar 1995
\end{thebibliography}
\end{document}

</pre></body></html>