XeLaTeX und LuaLaTeX sind parallele Entwicklungen neben PDFLaTeX. Zu ihren Stärken gehört, dass man auf Systemfonts zugreifen kann. Dafür funktionieren einige Erweiterung von PDFTeX mit XeLaTeX oder LuaLaTeX aber auch nicht oder anders. Darüber hinaus unterstützen XeLaTeX und LuaTeX auch native UTF-8-Eingabe. Insbesondere wenn bestimmte Fonts verlangt sind, können LuaLaTeX und XeLaTeX ihre Stärken ausspielen. Besonders empfehlenswert ist LuaLaTeX darüber hinaus bei speicherintensiven Dokumenten, wie sie beispielsweise sehr rasch mit TikZ oder pgfplots entstehen können. Im Gegensatz zu XeLaTeX und PDFLaTeX arbeitet LuaLaTeX nämlich nicht mit Speicherarrays fester Größe, sondern kann benötigten Speicher zur Laufzeit anfordern. Es unterstützt auch mehr als 16 gleichzeitig zum Lesen oder Schreiben geöffnete Dateien. Damit spricht viel für die generelle Verwendung von LuaLaTeX.
Nutzer von XeLaTeX sollten außerdem beachten, dass die XeTeX-Engine, die von XeLaTeX verwendet wird, nicht mehr weiterentwickelt wird. Das führt dazu, dass XeLaTeX zunehmend Einschränkungen hat, die mit LuaLaTeX (und derzeit auch mit PDFLaTeX) nicht auftreten. Daher wird empfohlen, sich von XeLaTeX zu verabschieden. Meist ist der Wechsel von XeLaTeX zu LuaLaTeX unproblematisch. In einigen Fällen, in denen noch inzwischen ohnehin veraltete spezielle Pakete für XeLaTeX verwendet werden, sind dies zu entfernen oder zu ersetzen.
Genau wie bei der Vorlage für PDFLaTeX sollte man bei XeLaTeX und LuaLateX das Dokument in UTF-8-Codierung speichern. Dies ist auch bei allen modernen LaTeX-Editoren wie TeXworks, TeXmaker, TeXstudio oder TeXnicCenter ab Version 2.0 (nicht jedoch bei Version 1.0!) voreingestellt. Siehe dazu ggf. die Anleitung des verwendeten Editors. Während es jedoch bei PDFLaTeX auch kein Fehler wäre, das Paket inputenc ggf. sogar mit einer anderen Codierungoption als utf8 zu verwenden, ist dieses Paket bei Verwendung von LuaLaTeX und XeLaTeX zu vermeiden. Dasselbe gilt für darauf basierenden Pakete wie selinput oder inputenx. Auch die Anweisung \usepackage[T1]{fontenc} entfällt bei LuaLaTeX und XeLaTeX. Stattdessen verwendet man das Paket fontspec und erhält sozusagen nebenbei als Voreinstellung die OpenType-Version von Latin Modern.
Für die Sprachumschaltung kann für die meisten Sprachen bei XeLaTeX und LuaLaTeX ebenfalls babel verwendet werden. Da frühere Versionen von babel für die Unterstützung bestimmter Sprachen automatisch die Fontcodierung umgeschaltet haben, wurde für XeLaTeX außerdem das Paket polyglossia entwickelt. Oftmals wird daher für XeLaTeX dessen Verwendung empfohlen. Das Beispiel ändert sich damit zu:
% !TeX program = xelatex
% !TeX encoding = UTF-8 Unicode
\documentclass{scrartcl}% siehe <https://komascript.de>
\usepackage{fontspec}% Schriftumschaltung mit den nativen XeTeX-Anweisungen
% vornehmen. Voreinstellung: Latin Modern
\usepackage{polyglossia}% Sprachumschaltung
\setdefaultlanguage{german}% Dokumentsprache: Deutsch
\begin{document}
% ----------------------------------------------------------------------------
% Titel:
\titlehead{Kopf über dem Titel mit Leerstuhl u.\,ä.}% optional
\subject{Art des Dokuments}% optional
\title{Titel des Dokuments}% obligatorisch
\subtitle{Untertitel}% optional
\author{Das bin ich}% obligatorisch
\date{z.\,B. der Abgabetermin}% sinnvoll
\publishers{Platz für Betreuer o.\,ä.}% optional
\maketitle% verwendet die zuvor gemachte Angaben zur Gestaltung eines Titels
% ----------------------------------------------------------------------------
% Inhaltsverzeichnis:
\tableofcontents
% ----------------------------------------------------------------------------
% Gliederung und Text:
\section{Motivation}
Dieser Abschnitt sollte sich mit der Aufgabenstellung befassen. Er kann auch
Grundlagen behandeln. Es kann jedoch sinnvoll sein, für die Grundlagen einen
eigenen Abschnitt zu verwenden.
\section{Durchführung}
Hier erzählt man nun, was man alles gemacht hat.
\section{Schluss}
Hierher gehört das Fazit und ggf. der Ausblick auf weitere Dinge, die getan
werden könnten.
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-engine: xetex
%%% TeX-PDF-mode: t
%%% coding: utf-8
%%% TeX-master: t
%%% End:
Die etwas seltsam erscheinenden Kommentare am Beispielanfang dienen dazu die LaTeX-Editoren TeXShop, TeXStudio und TeXworks gleich auf die Verwendung von xelatex und UTF-8-Codierung einzustellen. Die Kommentare am Ende erledigen vergleichbares (und ein wenig mehr) für emacs + AucTeX. Näheres ist den jeweiligen Anleitungen zu entnehmen.
Die Verwendung von polyglossia hat aber auch Nachteile. So kennt dieses Paket beispielsweise für Deutsch zwar die Dialekte german, austrian und swiss und kann auch Trennmuster für unterschiedliche Rechtschreibung laden, es geht aber davon aus, dass sprachabhängige Begriffe innerhalb einer Sprache immer gleich sind. Definiert also eine Klasse oder ein Paket sprachabhängige Begriffe nach alter und neuer deutscher Rechtschreibung unterschiedlich, verwendet polyglossia eventuell immer die der alten Rechtschreibung. Ich selbst bevorzuge daher auch mit XeLaTeX und erst recht mit LuaLaTeX das sehr aktiv gepflegte babel:
% !TeX program = lualatex
% !TeX encoding = UTF-8 Unicode
\documentclass[ngerman]{scrartcl}% siehe <http://www.komascript.de>
\usepackage{fontspec}% Schriftumschaltungspaket mit Voreinstellung: Latin Modern
\usepackage{babel}% Sprachumschaltung: Deutsch nach neuer Rechtschreibung
% wurde über Option ngerman global ausgewählt.
\begin{document}
% ----------------------------------------------------------------------------
% Titel (erst nach \begin{document}, damit babel bereits voll aktiv ist):
\titlehead{Kopf über dem Titel mit Leerstuhl u.\,ä.}% optional
\subject{Art des Dokuments}% optional
\title{Titel des Dokuments}% obligatorisch
\subtitle{Untertitel}% optional
\author{Das bin ich}% obligatorisch
\date{z.\,B. der Abgabetermin}% sinnvoll
\publishers{Platz für Betreuer o.\,ä.}% optional
\maketitle% verwendet die zuvor gemachte Angaben zur Gestaltung eines Titels
% ----------------------------------------------------------------------------
% Inhaltsverzeichnis:
\tableofcontents
% ----------------------------------------------------------------------------
% Gliederung und Text:
\section{Motivation}
Dieser Abschnitt sollte sich mit der Aufgabenstellung befassen. Er kann auch
Grundlagen behandeln. Es kann jedoch sinnvoll sein, für die Grundlagen einen
eigenen Abschnitt zu verwenden.
\section{Durchführung}
Hier erzählt man nun, was man alles gemacht hat.
\section{Schluss}
Hierher gehört das Fazit und ggf. der Ausblick auf weitere Dinge, die getan
werden könnten.
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-engine: luatex
%%% TeX-PDF-mode: t
%%% coding: utf-8
%%% TeX-master: t
%%% End:
Zur Abwechslung wurden hier die Kommentare zur Auswahl einer TeX-Engine für LuaLaTeX angepasst.
Wiki (Deutsch): HowTo_Template
Wiki (Deutsch): HowTo_Template_PDFLaTeX