Die Verwendung vom Umlauten innerhalb von LaTeX sind eine ständige Quelle von Fragen und Ärger. Um etwaigen Problemen, wie etwa der Austauschbarkeit mit anderen Nutzern, aus dem Weg zu gehen könnte man auf die Verwendung von Umlauten verzichten. Aber gerade in der deutschen Sprache kommen die Umlaute und das scharfe ß relativ oft vor, sodass dieser Vorschlag kaum zu realisieren ist. Der Grund warum sich LaTeX mit Umlauten so schwer tut, liegt darin, dass die ASCII Zeichen Tabelle den Ausgangspunkt der erlaubten beziehungsweise möglichen Zeichen, die innerhalb von LaTeX verwendet werden können bildet. Und in dieser sind keine Umlaute vorhanden. Dies hat zur Folge, dass wenn deutsche Umlaute innerhalb von LaTeX, ohne die entsprechenden Pakete einzubinden, verwendet werden, es entweder zu einer Fehlermeldung kommt oder die Datei zwar fehlerfrei kompiliert wird, aber die Umlaute nicht vorhanden sind.

Eingabe:

\documentclass{minimal}
\begin{document}

Umlaute ohne Paket: ä,ü,ö,Ä,Ü,Ö 

\end{document}

Ausgabe:
Umlaute ohne Paket: , , , , ,

Umlaute ohne Pakete

Man sieht, dass die direkte Verwendung von Umlauten ohne das passende Paket nicht funktioniert. Es gibt aber die Möglichkeit indirekt die deutschen Umlaute ä, ü, ö, Ä, Ü, und Ö und das scharf ß ohne zusätzlichen Pakete zu nutzen, wobei für die Eingabe \"A, \"O, \"U, \"a, \"o, \"u und \ss{} für das scharf ß genutzt werden.
Für den Fall, dass diese Variante nicht funktioniert, gibt es alternativ noch diese: {\"A}, {\"O}, {\"U}, {\"a}, {\"o}, {\"u} und {\ss}.
Oft findet sich auch der Hinweis, dass "A, "O, "U, "a, "o, "u, "s ebenfalls das gewünschte Ergebnis liefert. Dies setzt aber voraus, dass das babel Paket mit der Option german bzw. ngerman geladen wurde.

Der Vorteil der indirekten Eingabe ist, dass es möglich ist, eine Latexdatei auf verschiedenen Betriebssystemen und mit verschiedenen Editoren zu bearbeiten. Die Umlaute beziehungsweise ihre Verwendung tragen dazu bei, dass der Dateiaustausch zwischen den einzelnen Nutzer zum Teil unnötig erschwert wird.

inputenc - Umlaute mit Paket

Wenn das Paket inputenc eingebunden wird und die vom Editor verwendete Zeichencodierung als Option gesetzt wird können Umlaute direkt verwendet werden. Diese Variante setzt voraus, dass die Kodierung des Editors beziehungsweise der integrierten Entwicklungsumgebung dem Anwender bekannt ist. In der Regel zeigt eine integrierte Entwicklungsumgebung, die jeweilig verwendete Kodierung an.

\usepackage[Option(en)]{inputenc}

Das Paket inputenc kann mit mehrere Optionen geladen werden. Das ist nur dann sinnvoll, wenn in einem Dokument mehrere Kodierungen vorhanden sind. Die zuletzt gesetzte Option legt dabei den Standard fest. Durch den Befehl \inputencoding{Kodierung} kann auf eine andere Kodierung gewechselt werden. Insgesamt bietet inputenc 23 verschiedene Kodierung an, wobei die Kodierung utf8 de facto der aktuelle Standard ist.

Setzen der Option

Die folgenden Optionen decken zumindest in Westeuropa, die gebräuchlichsten Kodierung ab.
 
Windows
\usepackage[ansinew]{inputenc} beziehungsweise \usepackage[utf8]{inputenc}
 
Linux
\usepackage[latin1]{inputenc} beziehungsweise \usepackage[utf8]{inputenc}
 
Mac
\usepackage[applemac]{inputenc}

selinput

Für den Fall, dass die Kodierung unbekannt ist, kann das Paket selinput verwendet werden. Dieses kann die Kodierung selbst erkennen und die entsprechenden Anpassungen vornehmen.

Hinweis: Falls das Beispiel kopiert wird, sollten sowohl das ä, das ß und das € Symbol mit der selbst verwendeten Tastatur getippt werden, andernfalls kann es zu einem Fehler kommen.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{eurosym}
\usepackage{selinput}
\SelectInputMappings{
   adieresis={ä},
   germandbls={ß},
   Euro={€}
   }
\begin{document}
ä, ö, ü, Ä, Ö, Ü, ß
\end{document}

Wenn die folgende Fehlermeldung kommt:

! Text line contains an invalid character.

l.9 Euro={^^[

-b%G�%@}^^[-A

beziehungweise die Folgende:

! Package selinput Error: Cannot find a matching encoding.

und die Meldung nach dem Löschen des € Zeichens verschwindet, wurde ziemlich sicher latin1 als Kodierung verwendet. Diese Kodierung kennt kein € Symbol.

Wird das selinput Paket alleine geladen und die Felder für SelectInputMappings nicht gesetzt, dann wird als Default Wert utf8 verwendet. Da dies quasi der Standard im Bereich der Kodierung ist, funktioniert dann in den meisten Fällen auch die direkte Eingabe der Umlaute. Aber dies ist keine empfehlenswerte Vorgehensweise.

Kopierter Quellcode

Bei kopiertem Quellcode kann es, sehr vereinfacht formuliert, durchaus vorkommen, dass der kopierte Text seine eigene Kodierung mitbringt. Diese Kodierung muss nicht unbedingt die gleiche sein, die man selbst verwendet. Dadurch kann es zu kaum nachvollziehbaren Fehlermeldungen kommen. Da sich die Fehlermeldung auf die Verwendung von Umlauten bezieht, und man selbst ja die entsprechenden Pakete mit der für sich passenden Option eingebunden hat. Um so etwas zu vermeinden, sollten kleine Beispiele einfach selbst abgetippt werden. Wenn der Text aber zu lang ist oder es sich um eine separate Datei handelt die eingebunden werden soll, kann die Kodierung durch den Befehl \inputencoding{Kodierung} aus dem inputenc Paket geändert werden. Angenommen in ein Dokument mit latin1 Kodierung soll eine Datei mit utf8 Kodierung eingefügt werden, dann funktioniert das wie folgt.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\inputencoding{latin1}
...
\begin{document}
Text in latin1
\inputencoding{utf8} % Kodierung auf utf8 geaendert 
\input{Datei}
\inputencoding{latin1} % Kodierung wieder zurueck auf latin1
Wieder in latin1
\end{document}

Umlaute und Mathematik

Wenn Umlauten innerhalb von mathematischen Umgebungen und Gleichungsumgebungen verwendet werden sollte dies entweder über den Befehl \textrm{Umlautwort} oder über Befehl \text{Umlaut} erfolgen, Letzterer setzt die Verwendung des Paketes amsmath voraus.

fontenc

Im Fall, dass Umlaute verwendet, sollte immer auch das fontenc Paket miteingebunden werden. Die hier gezeigt Option T1 (Westeuropa) passt für die deutsche Sprache.

\usepackage[utf8 oder ansinew oder...]{inputenc}

\usepackage[T1]{fontenc}

Beziehungsweise bei der Verwendung von selinput:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{eurosym}
\usepackage{selinput}
\SelectInputMappings{
   adieresis={ä},
   germandbls={ß},
   Euro={€}
   }
\begin{document}
...
\end{document}

Gelegentlich wird davon berichtet, dass die Schrift nach dem Einbinden von \usepackage[T1]{fontenc} pixliger wirken würde. Aus diesem Grund ist das Beispiel bereits mit einer neue Schrift Lmodern versehen worden.

eurosym

Der Euro beziehungsweise das € Symbol befindet sich im eurosym Paket. Eingebunden wird das Paket mit:

\usepackage{eurosym}

Es stellt mehrere Befehle zur Darstellung des € Symbols zur Verfügung.

Der Fahrschein hat 5 \euro gekostet.

Der Fahrschein hat 5 €gekostet.

Der Fahrschein hat 5 \euro{} gekostet.

Der Fahrschein hat 5 € gekostet. Neben dem Befehl \euro und seiner Variante \euro{} existiert auch der Befehl \EUR{Betrag} bei diesem wird das Währungszeichen etwas näher an den Betrag herangerückt.