[[Vorlage(Getestet, jammy)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis()]] [[Bild(./xetex_logo.jpg, 64, align=left)]] [sourceforge2:xetex: XeTeX] {en} ist eine moderne, alternative TeX-Engine, welche konsequent mit Unicode arbeitet und eine Vielzahl moderner Fonts (unter anderem [wikipedia:OpenType:]- und [wikipedia:Graphite:Graphite]-Schriftarten) direkt unterstützt. Daher eignet sich XeTeX insbesondere zur Erzeugung von TeX-, [:LaTeX:]- und [wikipedia:ConTeXt:]-Dokumenten in Sprachen, welche nicht auf dem lateinischen Alphabet basieren, sowie für Dokumente, in denen zwischen unterschiedlichen Sprachen umgeschaltet werden muss. Um aus LaTeX-Dokumenten PDF-Ausgabe zu erzeugen, kommt der Befehl `xelatex` (als Alternative zu `pdflatex`) zum Einsatz. =Installation= XeTeX ist als Teil der TeX-Distribution [:TeX_Live:] in den Paketquellen enthalten. Folgendes Paket muss installiert [1] werden: {{{#!vorlage Paketinstallation texlive-xetex, universe }}} Um sinnvoll arbeiten zu können, werden in der Regel noch folgende Pakete benötigt: {{{#!vorlage Paketinstallation texlive, main texlive-latex-extra, main texlive-generic-extra, universe }}} Gegebenenfalls benötigt man auch Sprachpakete ('''texlive-lang-'''''sprache'') oder spezielle Fonts. =Einrichtung= Ein für die älteren TeX-Engines [wikipedia:TeX:] (TeX3) oder [wikipedia:pdfTeX:] erstelltes [:LaTeX:]-(Quell-)Dokument kann auch mit XeTeX kompiliert werden, außer dass nun die Angabe der Kodierung entfällt, da XeTeX automatisch die Kodierung des Quellcodes verwendet. Weiterhin werden die LaTeX-Pakete '''ifxetex''', '''xunicode''' und '''fontspec''' empfohlen, dafür sollte {{{#!code tex \usepackage{ifxetex,fontspec} }}} genügen. Zur Erklärung: * '''ifxetex''' stellt anderen Makropaketen, die XeTeX benötigen, eine Fehlermeldung zur Verfügung. * '''fontspec''' tritt an die Stelle des früheren '''fontenc'''. * '''xunicode''' wird zur Zeichensatzdeklaration anstelle des für ältere TeX-Engines entwickelten LaTeX-Pakets '''inputenc''' verwendet. Der Autor von '''fontspec''' hat auch das Paket '''xltxtra''' entwickelt, das u. a. ''ifxetex'' und ''xunicode'' automatisch lädt und weitere „Korrekturen“ vornimmt. Demnach kann man statt obiger Zeile auch folgende verwenden (was vielleicht Geschmackssache ist): {{{#!code tex \usepackage{xltxtra} }}} =Verwendung von Schriftarten= Ein Vorteil von XeTeX ist, dass jede im Betriebssystem installierte Schriftart verwendet werden kann. In dem Artikel [:Schriften:] steht, wie man weitere Schriftarten installieren kann. Vorhandene Schriftarten kann man sich zum Beispiel mit einem [:Fontmanager:] anzeigen lassen. Die Schriftart wird dann im Text über eines der folgenden drei Makros definiert: {{{#!code tex \setmainfont[Mapping=tex-text]{Serife Schriftart} \setsansfont[Mapping=tex-text]{Seriflose Schriftart} \setmonofont[Mapping=tex-text]{Monospace Schriftart} }}} Dabei sollte in den `{}` eine existierende und entsprechende Schriftart stehen. Dabei ist zu beachten, dass nicht jede Schriftart alle Zeichen darstellt, in dem Fall muss die Schriftart gewechselt werden. Möchte man die Standardschriftart von LaTeX weiterverwenden, bietet sich die Installation von [:Schriftarten#Computer-Modern:Computer Modern Unicode] (Paket '''fonts-cmu''') an. =Benutzung= Nun kann man sein XeTeX-Dokument genau so kompilieren, wie man es von `pdflatex` gewohnt ist[2]: {{{#!vorlage Befehl xelatex datei.tex }}} Benutzt man einen [:LaTeX-Editoren:LaTeX-Editor] mit eingebauter Kompilierfunktion, sollte man diesen gegebenenfalls so einstellen, dass zum Kompilieren `xelatex` statt `latex` bzw. `pdflatex` verwendet wird. Im Gegensatz zu `xelatex` übersetzt der Befehl `xetex` nur [wikipedia:plain TeX:], kein LaTeX, und dürfte daher nur von wenigen Nutzern direkt aufgerufen werden. =Bekannte Probleme= * Für die Sprachunterstützung gibt es für XeteX das Paket [https://ctan.org/pkg/polyglossia `polyglossia`] {en}, das zum Beispiel bei der Verwendung weiterer Schriften unproblematischer ist als babel. Babel muss unter XeTeX aber nicht zwangsläufig Probleme machen. * Bei Mathspec und Amsmath kann es bei falscher Reihenfolge der Ladebefehle zu Problemen kommen. Folgende Abfolge ist zu empfehlen: {{{#!code tex \documentclass{ Klasse } \usepackage{amsmath} \usepackage{mathspec} \usepackage{polyglossia} \usepackage{xunicode} \usepackage{xltxtra} \usepackage{amsfonts,amsrefs,amsthm} }}} = Links = * [wikipedia:XeTeX:] – XeTeX auf Wikipedia * [http://mirror.ctan.org//systems/doc/xetex/XeTeX-notes.pdf Hinweise des Programmautors] {en} * [https://tug.org/xetex tug.org/xetex] {en} – Sammlung von Dokumentation und TeX-Paketen zu XeTeX * [https://archiv.dante.de/DTK/PDF/komoedie_2008_3.pdf#page=7 Erste Schritte mit XeLaTeX] {de} – in Heft 3/2008 der Mitgliederzeitschrift der deutschsprachigen TeX-Anwendervereinigung. * [https://www.overleaf.com/learn/latex/XeLaTeX Einführung in XeLaTeX bei Overleaf] {en} * [:LaTeX:] {Übersicht} – Vergleich mit anderen TeX-Engines #tag: Büro, Latex, Programmierung