In LaTeX gibt es zehn Zeichen, die man nicht einfach tippen und als Zeichen erwarten kann: # $ % & _ { } ~ ^ \. Jedes ist für eine besondere Aufgabe reserviert: Kommentar beginnen, in den Mathematikmodus wechseln, einen Befehl einleiten und so weiter. Diese Seite erklärt, was jedes Zeichen tut und wie man das Zeichen selbst druckt, wenn man es wirklich braucht.
Die zehn reservierten Zeichen
Ein reserviertes Zeichen ist ein Zeichen, das LaTeX als Teil seiner Syntax verwendet. Tippt man es im Text, wird also eine Funktion ausgelöst, statt dass das Zeichen gedruckt wird. Tippen Sie %, verschwindet der Rest der Zeile als Kommentar; tippen Sie $, wechseln Sie in den Mathematikmodus. Damit ein solches Zeichen als es selbst auf der Seite erscheint, braucht es einen kleinen Zusatz.
Die Aufgaben im Überblick: # steht in einer Makrodefinition für ein Argument; $ beginnt und beendet den Mathematikmodus; % startet einen Kommentar (der Rest der Zeile wird ignoriert); & trennt Spalten beziehungsweise Zellen in Tabellen oder Ausrichtungen. _ und ^ leiten im Mathematikmodus Tief- und Hochstellungen ein; { und } begrenzen ein Argument oder eine Gruppe. ~ erzeugt einen nicht umbrechbaren Wortzwischenraum, und \ (Backslash) beginnt jeden Befehl.
| Zeichen | Besondere Aufgabe |
|---|---|
# | Argument in einer Makrodefinition (#1, #2, …) |
$ | beginnt und beendet den Mathematikmodus |
% | beginnt einen Kommentar (Rest der Zeile ignoriert) |
& | Spalten- bzw. Zelltrenner in Tabellen und Ausrichtungen |
_ | Tiefstellung im Mathematikmodus |
^ | Hochstellung im Mathematikmodus |
{ | öffnet ein Argument oder eine Gruppe |
} | schließt ein Argument oder eine Gruppe |
~ | nicht umbrechbarer Wortzwischenraum |
\ | beginnt einen Befehl |
Das Zeichen selbst drucken
Sieben der zehn sind einfach: Man setzt nur einen einzelnen Backslash davor. Das ergibt \#, \$, \%, \&, \_, \{, \}. Tippt man zum Beispiel \$1.23, wird $1.23 gedruckt. Der Backslash signalisiert: „Das nächste Zeichen ist es selbst, nicht der Beginn eines Befehls.“
Die übrigen drei sind etwas schwieriger. ~ druckt man mit \textasciitilde (oder \~{}), ^ mit \textasciicircum (oder \^{}). Allein geschrieben sind \~ und \^ *Akzentbefehle* und würden eine Tilde oder ein Dach über den nächsten Buchstaben setzen; leere {} geben dem Akzent kein Zeichen, auf dem er sitzen kann, sodass das bloße Symbol bleibt.
Zum Schluss der Backslash selbst: Drucken Sie ihn mit \textbackslash. Verwenden Sie nicht \\; das sind nicht zwei Backslashes, sondern der Zeilenumbruchbefehl. Das ist eine sehr häufige Falle.
| Eingabe | Ausgabe | Hinweise |
|---|---|---|
\# | # | ein einzelner Backslash davor |
\$ | $ | ebenso |
\% | % | ebenso |
\& | & | ebenso |
\_ | _ | ebenso |
\{ | { | ebenso |
\} | } | ebenso |
\textasciitilde | ~ | \~{} funktioniert auch; bloßes \~ ist ein Akzent |
\textasciicircum | ^ | \^{} funktioniert auch; bloßes \^ ist ein Akzent |
\textbackslash | \ | Nicht \\, denn das ist ein Zeilenumbruch |
Die Befehle \textbackslash, \textasciitilde und \textasciicircum gehören zum aktuellen LaTeX-Kernel und benötigen kein zusätzliches Paket (historisch kamen sie aus textcomp). Beachten Sie, dass manche Textschriften keine eigenständige Tilde- oder Caret-Glyphe in der Grundschrift haben; bei solchen Schriften sind diese Textsymbolbefehle der zuverlässige Weg.
Ein Beispiel
Drucken wir einen Satz mit vielen reservierten Zeichen, etwa 100% & $5 cost #1. %, &, $ und # werden jeweils mit einem vorangestellten Backslash geschützt.
100\% \& \$5 cost \#1
% backslash, tilde and caret need their own commands:
A path: C:\textbackslash Users \\
Math symbols out of math: \textasciitilde{} and \textasciicircum{}Die erste Zeile wird als 100% & $5 cost #1 gesetzt. Darunter verwendet ein Windows-artiger Pfad einen Backslash (\textbackslash), und eine eigenständige Tilde sowie ein Caret verwenden \textasciitilde{} und \textasciicircum{} (das \\ am Zeilenende ist der Befehl für einen Zeilenumbruch in der Ausgabe; es druckt keinen Backslash).
Bei vielen Sonderzeichen oder URLs
Ein dichtes Stück Code oder eine Symbolfolge Zeichen für Zeichen zu schützen, ist mühsam. Dafür hilft der verbatim-Mechanismus. Inline schreibt man \verb|...| und begrenzt den Text mit einem beliebigen Zeichen, das innen nicht vorkommt (hier |); der Inhalt wird unverändert in Schreibmaschinenschrift gesetzt, und alle Sonderbedeutungen sind abgeschaltet. Für mehrere Zeilen verwendet man die Umgebung verbatim.
Use \verb|a_b^c & d%| to show specials literally.
\begin{verbatim}
foo_bar = 100% & #1 % all printed as-is
\end{verbatim}Für Zeichenketten, die häufig ~, #, % oder _ enthalten, vor allem URLs, eignet sich \url{...} aus dem Paket url (oder hyperref). Es behandelt die reservierten Zeichen im Inneren automatisch, setzt sie monospaced und bricht die Zeile sinnvoll um, sodass kein manuelles Schützen nötig ist.
\usepackage{hyperref}
% ...
See \url{https://example.com/path?id=1#sec_2~ok}Kurz gesagt: Einzelne Symbole schützen Sie wie in der Tabelle, dichte Schnipsel übergeben Sie \verb/verbatim, und URLs überlassen Sie \url{}. Die allgemeinere Logik der Syntax behandelt „Syntaxregeln“, und die vielen im Text verwendbaren Symbole stehen auf der Seite „Textsymbole“.
Riskante Eingaben zuerst trennen
In Berichten und technischen Dokumenten entstehen Fehler oft nicht durch Fließtext, sondern durch Dateinamen, URLs, Typnamen und Tabellenzellen mit _, % oder &. Trennen Sie zu Beginn eines Manuskripts drei Arten von Material: Text, der als Prosa gelesen wird, Code, der wörtlich gezeigt wird, und Links, die als Links verarbeitet werden. Danach ergibt sich die Escape-Strategie von selbst.
| Situation | Werkzeug | Entscheidung |
|---|---|---|
price | Einzel-Escapes wie \$ und \% | wenn der Text als normale Prosa gelesen werden soll |
code | \verb oder verbatim | Quellcode, Terminalausgabe oder kurzen Pfad wörtlich zeigen |
url | \url{...} (meist mit hyperref) | lange URL als umbrechbaren Link setzen |
Tabellen verdienen besondere Sorgfalt: Weil & Zellen trennt, verschiebt ein nicht geschütztes Ampersand in einem Firmennamen oder Aufsatztitel die Spaltenzahl. Wenn Sie Tabellendaten von außen einfügen, suchen Sie zuerst nach & und %, entscheiden Sie für jedes Vorkommen, ob es Prosa oder LaTeX-Syntax ist, und kompilieren Sie erst dann. So vermeiden Sie rätselhafte Tabellenfehler.
Externe Daten vor dem Einfügen bereinigen
In echten Manuskripten gelangen Sonderzeichen oft nicht durch eigenes Tippen hinein, sondern als eingefügte Zeichenketten aus CSV-Dateien, Webseiten, E-Mails oder PDFs. Es ist schneller und zuverlässiger, die passende Aufnahmeform vor dem Einfügen festzulegen, statt danach Fehler zu jagen. In Prosa schützen Sie nur die nötigen Zeichen, Code und Logs gehen in verbatim-artige Umgebungen, und URLs kommen in \url{...}.
% 表へ貼る前に、データ中の & と % を確認する
% before pasting into a table, inspect & and % in the data
\begin{tabular}{ll}
Smith \& Wesson & company name \\
95\% & reported rate \\
\end{tabular}
% URL は手で _ や # を逃がさず \url に任せる
\url{https://example.com/report?id=95#table_1}Wenn eine Tabelle um eine Spalte verrutscht, die zweite Hälfte einer Zeile verschwindet oder plötzlich Missing $ inserted erscheint, ist oft &, % oder _ schuld. Suchen Sie zuerst nur im eingefügten Bereich und klassifizieren Sie jeden Fall: als \&, \% oder \_ schützen, wenn es Prosa ist; unverändert lassen, wenn es LaTeX-Syntax ist; \url für Links verwenden; und Code verbatim anzeigen.