Bei vollständigen Beispielen in deutscher Sprache wird im Internet und in Anleitungen häufig \usepackage[utf8]{inputenc} verwendet. Wozu dient das? Braucht man das? Stört es in einigen Fällen vielleicht sogar? gefragt 29 Apr '20, 09:30 gast3 |
TeX stammt noch aus den 70er-Jahren des vorherigen Jahrhunderts. Damals hat ein Zeichen in der Eingabe genau ein Byte. Damit war es aber nicht möglich, alle Zeichen aus allen Sprachen zu codieren. Auf unterschiedlichen Computersystemen für unterschiedliche Sprachen wurden daher Code-Pages erfunden. Je nach System und Spracheinstellung war dabei demselben Byte ein jeweils passendes Zeichen zugeordnet. Schwierig, wenn man Dateien zwischen unterschiedlichen Systemen oder Sprachen austauschen wollte. Donald Knuth hat sich daher für die Eingabe von Sonderzeichen etwas besonderes ausgedacht: Befehle. Für die kleinen deutschen Umlaute lauten diese beispielsweise Nun will aber niemand auf Dauer immer » In den 1990ern wurde daher Unicode und die zugehörigen Codierungen UTF-8 und UTF-16 immer beliebter. Die Theorie hinter Unicode ist, allen Zeichen aller Sprachen und einigen weiteren Zeichen wie Emoticons oder mathematischen Zeichen, eine feste Nummer zuzuordnen, ohne sich dabei auf die 256 mögliche Nummern eines einzelnen Bytes zu beschränken. UTF-8 war dann eine Codierung, bei der die bisherigen Zeichen von US-ASCII (diese Codierung enthält je 26 lateinische Groß- und Kleinbuchstaben, 10 arabische Ziffern und diverse Satzzeichen) mit den Nummern 32–127 mit einem einzigen Byte codiert werden konnten. Darüber hinaus werden mehrere Bytes für ein Zeichen benötigt. Die Idee dabei ist, dass so mit einem UTF-8-fähigen Editor ein Text immer korrekt angezeigt und weiterverarbeitet werden kann. Die LaTeX-Entwickler haben den Nutzen früh erkannt und Dennoch blieb aus Kompatibilitätsgründen die Voreinstellung von LaTeX zunächst bei US-ASCII. Gleichzeitig gab es aber mit XeTeX bzw. XeLaTeX und LuaTeX bzw. LuaLaTeX auch bereits erste TeX-Engines und darauf basierende LaTeX-Implementierungen mit der Voreinstellung UTF-8. LuaLaTeX war damals gar nicht in der Lage mit Dokumenten, die Zum Zwecke der Vereinheitlichung wurde die Voreinstellung für LaTeX auch bei Verwendung von PDFTeX, also für PDFLaTeX, mit LaTeX 2018-04-01 von US-ASCII in UTF-8 geändert. Seither ist die Zeile \usepackage[utf8]{inputenc} auch für die Verwendung von PDFLaTeX nicht mehr notwendig. Insbesondere, wenn Dokumente sowohl mit PDFLaTeX als auch LuaLaTeX oder XeLaTeX verarbeitet werden können sollen, wie das bei kleinen Beispielen häufiger der Fall ist, ist es sinnvoll, auf die Zeile auch wirklich zu verzichten. Wenn man sicher ist, dass PDFLaTeX verwendet wird, stört sie aber auch nicht. Wenn man nicht weiß, ob das Dokument möglicherweise auf einer stark veralteten TeX-Installation weiterverarbeitet werden soll, das Dokument aber für PDFLaTeX gedacht ist, kann die Zeile sogar noch nützlich sein. Die UTF-8-Unterstützung für PDFLaTeX in LaTeX 2018-04-01 war übrigens noch sehr unvollständig. So wurde UTF-8 in jener Version beispielsweise noch nicht im Fazit: Bei Verwendung eines aktuellen LaTeX ist beantwortet 29 Apr '20, 10:04 gast3 |