# Sonderzeichen

Ein Sonderzeichen ist (in der Typografie/Typometrie und der digitalen Datenverarbeitung) ein Schriftzeichen, das weder ein Buchstabe noch eine Ziffer ist.
Zu den Sonderzeichen gehören Interpunktionszeichen (Satzzeichen, Wortzeichen) und wissenschaftlich-technische Symbole. Auch Diakritika sind Sonderzeichen, z. B. Akut oder Breve (wie bei é, ă).

## Abweichende Bedeutungen und schwankende Bedeutung

Zu den Sonderzeichen werden zum Teil auch die nicht-druckenden Zeichen gezählt, die bei der Gestaltung einer Druckvorlage als Orientierungshilfe dienen, wie zum Beispiel Leerzeichen; zum Teil aber auch gerade nicht.
Etwas unklar ist, ob z. B. Umlaute Sonderzeichen sind. Unter der angegebenen Definition hängt dies mit der Streitfrage zusammen, ob etwa „Ä“ ein eigenständiger, von „A“ zu unterscheidender Buchstabe ist, vergleiche Zahl der Buchstaben im Deutschen Alphabet. Im Schwedischen, Finnischen und Estnischen hingegen gilt Ä als eigenständiger Buchstabe.
Zum Teil werden auch Ziffern zu den Sonderzeichen gerechnet.
Griechische Buchstaben können Symbole sein, wenn sie nicht zum Bilden griechischer Wörter, sondern als Variablen (z. B. in der Statistik σ für die Standardabweichung) oder Konstanten (z. B. für die Kreiszahl π) verwendet werden.
Als „Eingeben von Sonderzeichen“ werden häufig Eingabemethoden (auf Computertastaturen) beschrieben (auf Webseiten mit dem Titel „Sonderzeichen“, siehe Weblinks in diesem Artikel und Eingabemethode – Weblinks), wobei die Eingabe sämtlicher Zeichen ohne ASCII-Code behandelt wird, einschließlich von Buchstaben nicht-deutscher Sprachen. Häufig wird etwa der dänische Kleinbuchstabe ø explizit als Beispiel aufgeführt.

## Sonderzeichen und Technik

In den frühen Zeiten der Informationstechnik war die Beschränkung von Zeichensätzen auf 7 oder 8 Bit technisch bedingt. Um die vielen damit verbundenen Probleme – so musste zur Einführung des Euro-Symbols ein anderes Zeichen aus ISO 8859-15, einer 8-Bit-Erweiterung von ASCII, herausgenommen werden – zu vermeiden, wird heute zunehmend eine höhere Bitzahl je Zeichen verwendet.
Allerdings gibt es keinen klaren Zusammenhang zwischen dem Begriff Sonderzeichen und Fortschritten in der Kodierungstechnik. Von den 94 druckbaren ASCII-Zeichen sind 32 Sonderzeichen, also recht genau ein Drittel. Symbole für einfachere mathematische Aussagen sind unter ihnen bereits vorhanden, und hinsichtlich der Satzzeichen hat Unicode (siehe unten) den bereits in ASCII kodierten (aus deutscher Sicht) nur die typografischen Varianten des waagerechten Strichs (Viertelgeviertstrich, Halbgeviertstrich, Geviertstrich, Minuszeichen), der Anführungszeichen und der Auslassungspunkte hinzugefügt (die vorher bereits mit TeX aus 7-Bit-Zeichensätzen verfügbar waren). Die Terminologie ist nicht klar hinsichtlich der Frage, ob es sich überhaupt bei der Mehrzahl der gegenüber ASCII neu kodierten Zeichen um Sonderzeichen handelt (beispielsweise bei Umlauten, siehe oben).
Die Verwendung von ASCII-Sonderzeichen benötigt gegenüber der der ASCII-Buchstaben und -Ziffern auch keine besondere Technologie. In den Quellcode digitaler Texte kann man die meisten (oder viele) ASCII-Sonderzeichen (Interpunktionszeichen, mathematische Zeichen) ebenso umstandslos einbetten wie die Buchstaben und Ziffern. Jedoch haben bei verschiedenen Technologien (Dateinamen, Programmierung, URL-Kodierung, weitere folgen) bestimmte ASCII-Sonderzeichen eine spezielle syntaktische Funktion (etwa als „reservierte Zeichen“ bezeichnet), die ihre Darstellung etwas erschwert. Man verwendet für solche Zwecke gerade ASCII-Sonderzeichen, um Anwendern die Texteingabe möglichst wenig zu erschweren.
Ein anderer Gesichtspunkt ist die Tastaturbelegung. Schon zu Zeiten der Schreibmaschine unterschieden sich die deutsche und die amerikanische Tastatur hauptsächlich in der Anordnung bzw. dem Vorhandensein von Sonderzeichen. Durch Tastenkombinationen wird auf Computertastaturen in den gängigen Betriebssystemen die Menge der direkt in den Quellcode einfügbaren Zeichen erweitert. Es ist eine terminologische Frage, ob alle so zusätzlich verfügbare Zeichen Sonderzeichen sind.
Unabhängig vom Begriff des Sonderzeichens ist manchen Technologien noch anzumerken, dass sie ursprünglich nur für ASCII-Zeichen entworfen wurden, wenn auch eher für Programmierer als für Anwender.
Im 80-Zeichen-Code der IBM-Lochkarte wurden Zahlen, Buchstaben, und Ziffern in unterschiedlichen Weisen dargestellt.

## Sonderzeichen in Personennamen

Personen mit Umlauten, diakritischen Zeichen, „ß“ und anderen Sonderbuchstaben (wie z. B. æ, œ, ð, þ) im Namen haben häufig Probleme, da viele elektronische Systeme diese Zeichen nicht verarbeiten können und sie durch Umschreibungen (z. B. Müller → MUELLER, Groß → GROSS) oder durch die Grundbuchstaben ohne diakritische Zeichen ersetzen müssen (z. B. Jérôme → JEROME). Das bedeutet, dass der Name z. B. im Ausweis oder Reisepass auf zweierlei Weise geschrieben ist (im oberen Teil korrekt, im maschinenlesbaren Bereich auf die 26 Buchstaben des lateinischen Grundalphabets reduziert). Zwei verschiedene Schreibweisen im selben Dokument (oder verschiedene Schreibweisen in verschiedenen Dokumenten, da z. B. manche Kreditkarten nur die Schreibweise mit Ersetzung der Sonderzeichen aufweisen) sorgen zuweilen für Verwirrung und lassen, besonders im Ausland, den Eindruck einer Fälschung entstehen. Es wird empfohlen, für Flugtickets, Visa usw. exakt die im maschinenlesbaren Bereich des Reisepasses verwendete Schreibweise zu benutzen und sich im Zweifelsfall auf diese zu berufen.
Österreichische Ausweisdokumente können (müssen aber nicht) eine dreisprachige Erklärung (in Deutsch, Englisch und Französisch) der deutschen Sonderzeichen beinhalten, beispielsweise „‚ö‘ entspricht / is equal to / correspond à ‚oe‘“.
Die Umschreibung von Namen in das lateinische Grundalphabet ist in der DIN 91379 als Erweiterung der Empfehlungen der ICAO geregelt.
Das deutsche Namensrecht (Nr. 38 NamÄndVwV) erkennt Sonderzeichen im Familiennamen als Grund für eine offizielle Namensänderung an (auch eine bloße Änderung der Schreibweise, z. B. von MÜLLER zu MUELLER oder von WEIß zu WEISS gilt als solche). Am 1. Oktober 1980 stellte das Bundesverwaltungsgericht noch einmal fest, dass die technisch bedingte fehlerhafte Wiedergabe von Sonderzeichen auf elektronischen Systemen ein wichtiger Grund für die Änderung des Familiennamens sein kann (der Kläger wollte die Schreibweise seines Namens von GÖTZ in GOETZ ändern, war aber damit zunächst beim Standesamt gescheitert).

## Unicode

Auf modernen Systemen lassen sich auch recht entlegene Sonderzeichen ohne große Umstände benutzen. Dabei haben sich (aus der Not heraus) verschiedene Methoden entwickelt.
Unicode gilt als die modernste und generischste Form der Umsetzung. Jedes Zeichen auf dieser Welt, ob es nun ein Recycling-Symbol oder ein chinesisches Schriftzeichen ist, bekommt einen Platz in den Unicode-Tabellen und wird auf einem Rechner als ein oder mehr Bytes umfassende Speicherstelle abgebildet. Jedes Unicode-Zeichen hat eine eigene Nummer. In den Zeichentabellen findet sich etwa:

## HTML
### Zeichenentitäten

Zeichenentitäten machen es möglich, Tausende verschiedener Zeichen mit in ASCII kodierten HTML-Dateien darzustellen. So können jedenfalls Buchstabenvarianten, Symbole und Interpunktionszeichen dargestellt werden, für die 7 Bit nicht ausreichen. Im Artikel über Entitäten in Auszeichnungssprachen wird die Thematik allgemeiner behandelt.

#### Numerische Zeichenentitäten

In HTML kann man ein Zeichen mit der Unicode-Position NUM durch den Code &#NUM; (NUM dezimal geschrieben) in die Browseransicht befördern, alternativ durch &#xHNUM;, wenn HNUM die hexadezimale Notation für NUM ist, Beispiel &#60; bzw. &#x3C; für das mathematische „kleiner-als“-Zeichen („<“), das in ASCII wie in Unicode die Position 60 hat. Man spricht in diesem Fall von numerischen Zeichenentitäten. Sie beginnen mit &# (dem Ampersand-Zeichen, gefolgt vom Rautezeichen) und enden mit ; (Semikolon). Sowohl ASCII-Zeichen als auch praktisch sämtliche Zeichen, die man „Sonderzeichen“ nennen könnte, sind auf diese Weise darstellbar.

#### Benannte Zeichenentitäten und „HTML-eigene“ Zeichen

Für einzelne Zeichen, die besonders häufig benötigt werden, sind benannte Zeichenentitäten eingeführt worden, deren „Namen“ leicht zu merken sind. Z. B. kann das „kleiner-als“ Zeichen auch durch &lt; dargestellt werden, der „Name“ lt ist eine Abkürzung des englischen „less than“. Der Code beginnt wieder mit & und endet mit ;, aber das Rautezeichen fehlt.
Voriges betrifft hauptsächlich nicht in ASCII kodierte Zeichen. Von den 32 ASCII-Sonderzeichen müssen eigentlich nur drei so behandelt werden:
* das „kleiner-als“-Zeichen – siehe oben
* das „größer-als“-Zeichen – Gegenstück zum vorigen, so werden die HTML-„Tags“ gebildet (<ELTNAME ATTR>TEXT</ELTNAME>) – darstellbar durch &gt;
* das &, das eine Entität selbst einleitet – darstellbar durch &amp;.
Diese Zeichen werden als „HTML-eigene“ Zeichen bezeichnet, man könnte sie auch „reservierte Zeichen“ (wie bei der URL-Kodierung) nennen.
Im Zusammenhang mit Attributwerten kann es außerdem sinnvoll sein, das " („behelfsmäßiges doppeltes Anführungszeichen“) durch &quot; und das ' („behelfsmäßiges einfaches Anführungszeichen“) durch &apos; („Apostroph“) zu ersetzen. Wenn hochwertige Typografie angestrebt wird, sind diese Maßnahmen allerdings nicht ausreichend.
Benannte Zeichenentitäten erleichtern jedenfalls das Erstellen von HTML-Dateien mit einem Texteditor. Die so dargestellten Zeichen umfassen Buchstabenvarianten (mit diakritischen Zeichen), mathematische Symbole (die auch Pfeile und griechische Buchstaben sein können), und typografische Varianten von Interpunktionszeichen (siehe Satzzeichen). 1995 wurden „Benennungen“ für die über ASCII hinausgehenden Zeichen in ISO 8859-1 eingeführt, 1999 weitere für einzelne Unicode-Zeichen.

### Angabe der Quellcode-Kodierung

Außerdem können HTML-Betrachter (Browser) angewiesen werden, nicht in ASCII kodierten Text intentionsgemäß umzusetzen, indem man die Kodierung des Quelltexts im Dateikopf explizit angibt:
Alternativ zu UTF-8 können auch ISO-8859-Varianten angegeben werden. In beiden Fällen werden Zeichen-Entitäts-Referenzen überflüssig, nur noch auf &, <, > (und "/') ist zu achten.
Beide Methoden – Benutzung von Entities und Angabe der Zeichenkodierung – können problemlos gleichzeitig verwendet werden.

### Was ist besser?

Der Artikel zu Entitäten in Auszeichnungssprachen diskutiert die beiden dargestellten Möglichkeiten, Nicht-ASCII-Zeichen (seien es Buchstaben, Numerale oder Sonderzeichen) in den Abschnitten Zukunft der Zeichenentitäten und Anmerkung (Stand April 2024).

## LaTeX

Populär zur Erstellung wissenschaftlicher Dokumente ist LaTeX, ursprünglich von den Informatikern Donald E. Knuth (TeX) – für die American Mathematical Society – und Leslie Lamport (LaTeX) entwickelt.

### Sonderzeichen ohne ASCII-Code
#### Zeichenkodierung

Wie bei HTML kann man die Zeichenkodierung des Quelltexts angeben, um etwa Umlaute und diakritische Zeichen direkt im Quellcode eines Dokuments unterzubringen, hier mithilfe einer Präambelzeile
alternativ etwa latin1 statt utf8, wenn man mit älteren Quelldateien arbeitet, die gemäß ISO 8859-1 kodiert wurden. Bis 2018 konnten ohne das Paket inputenc Dateien mit ASCII-Erweiterungen nicht verarbeitet werden (in der Voreinstellung verarbeitete LaTeX Quelldateien als in ASCII kodiert) – jedenfalls mit Knuths ursprünglicher TeX-Engine oder mit pdfTeX (pdflatex). XeTeX (xelatex) und LuaTeX fassen die Quelldateien in ihrer Voreinstellung als in UTF-8 kodiert auf. Mit UTF-8 (also Unicode) können im Prinzip beliebige in verschiedenen Fachgebieten erforderliche Symbole, die etwa in Mathematik (wofür es ursprünglich geschaffen wurde) einen besonders großen Anteil an (nicht durch eine einzelne ASCII-Position kodierten) „Sonderzeichen“ bilden, direkt als einzelnes Zeichen in den Quellcode eines LaTeX-Dokuments eingefügt werden. Auch typografische Varianten in ASCII kodierter Interpunktionszeichen stehen so zur Verfügung (in 8 Bit bot nur das herstellerspezifische, nicht normierte Windows-1252 typografische Gedankenstriche).

#### Kodierung durch ASCII-Kombinationen

Typografische Qualität war bei LaTeX aber auch schon immer ohne Erweiterung der Zeichenkodierung möglich. Den Halbgeviertstrich (Gedankenstrich) erhält man mit dem ASCII-Code --, den Geviertstrich (englischen Gedankenstrich) mit --- und typografisch befriedigende Auslassungspünktchen mit \dots. Das ursprünglich als Grave-Akzent vorgesehene Zeichen wird zur Darstellung eines einzelnen Anführungszeichens links oben dargestellt, für doppelte Anführungszeichen verdoppelt man die einfachen. Buchstabenvarianten mit kombinierenden Zeichen wurden ursprünglich durch Übereinanderschieben von Buchstaben- und in Zeichensätzen separat bereitgestellten diakritischen Glyphen dargestellt, letztere erscheinen im Code (außerhalb von Formeln) als Kombinationen aus beginnendem Rückstrich \ (in ASCII hexadezimal 5C) und einem anderen Zeichen, sodass etwa „Ä“ durch \"{A} erzeugt wird. Mit dem Zusatz-Makro-Paket german konnte man stattdessen kürzer und leserlicher "A tippen, dadurch werden die Pünktchen auch typografisch korrekt etwas tiefer platziert als im Englischen. Gerade solche Buchstabenvarianten lassen sich mit Tastaturen, die für lateinische Alphabete ausgelegt sind, leicht in eine Quellcodedatei einfügen, sodass diese Kombinationsbefehle durch ASCII-Erweiterungen vielleicht obsolet geworden sind; andererseits müssen beim gemeinschaftlichen Verfassen von Texten Quellcodedateien ausgetauscht werden, und man verschickt Quelldateien an englischsprachige Zeitschriften bzw. Verlage, dabei können heute noch in ASCII, in ISO 8859-1 und in UTF-8 kodierte Dateien „durcheinandergeraten“, in solchen Fällen kann es ratsam sein, weiterhin die Kombinationsbefehle zu verwenden.
LaTeX verwendet auch automatisch Ligaturen, die allerdings in deutschen Texten oft unpassend sind und dann eigens unterdrückt werden müssen.
Darüber hinaus sind für LaTeX Zeichensätze mit zusammen tausenden fachgebietsspezifischen Symbolen aus dem Comprehensive TeX Archive Network bzw. über TeX-Distributionen erhältlich, verbunden mit Makropaketen, die für jedes Symbol eine Kombination aus einem beginnenden Rückstrich und ASCII-Buchstaben als Befehl bieten (siehe Weblinks). Diese Symbole haben also eine Position in einem von einem einzelnen Schöpfer (oder einem kleinen Team) verwalteten Zeichensatz, nicht (unbedingt) in einem von einer Normierungsinstitution verwalteten System. Für manche einzelne Unicode-Codepunkte bieten mehrere TeX- oder LaTeX-Pakete unterschiedliche Schriftschnitte an (z. B. für das Euro-Symbol €). Wie die „benannten Entitäten“ in HTML werden die Buchstabenfolgen nach mnemonischen Gesichtspunkten gewählt, teilweise stimmen die „Namen“ mit denen in HTML überein, z. B. \cup wie &cup; für das Vereinigungsmengensymbol.
Als Vorteil der ASCII-Eingabe von Symbolen gegenüber direkter Einfügung von Unicodezeichen durch Tastenkombinationen oder aus einer Zeichentabelle bzw. einer Symbolleiste wird gelegentlich angegeben, dass der Verfasser sich weitgehend auf den Inhalt des Texts konzentrieren kann, während seine Finger wie beim Klavierspielen in ununterbrochenem Fluss weitgehend ohne bewusste Steuerung im 10-Finger-System über die Tastatur wandern. Für häufig erforderliche Befehle kann man (anders als bei HTML mit seiner starr vorgegebenen Syntax) mit \newcommand oder \renewcommand) einen kürzeren „Alias“-Befehl einführen.

### ASCII-Sonderzeichen

Um das Eintippen zu erleichtern und die Leserlichkeit des Codes zu verbessern, werden 10 der ASCII-Sonderzeichen – \$&#^_~% – „zweckentfremdet“/„reserviert“ (Funktionszeichen), z. B. für m$^2$ (Ergebnis „m²“), wofür man in HTML m&sup2; oder m<sup>2</sup> tippt. Um sie wie ursprünglich mit ASCII darzustellen, kann man sie bis auf \ und ~ (die kontextabhängig durch längere Befehle erzeugbar sind) mit dem Rückstrich „maskieren“, beispielsweise tippt man \$ für das Dollarsymbol $.
In LaTeX halten manche Befehle nach folgender linker eckiger Klammer [ oder dem Stern * Ausschau. In speziellen Fällen bereitet dies Schwierigkeiten, beispielsweise wenn man eine neue Zeile mit einer eckigen Klammer beginnen will. Statt \\[ tippt man dann besser \\[.

## Punycode

Um Umlaute und andere Sonderzeichen in Domainnamen darstellen zu können, hat man das Verfahren Punycode entwickelt, das zusammen mit Nameprep den Standard für internationalisierte Domainnamen (IDN) ergibt. Dabei werden Nicht-ASCII-Zeichen durch Bindestriche ersetzt und deren Repräsentation an das Ende des Wortes angehängt.