Как настроить условный цикл, который выбирает, какой компилятор использовать в одном документе?

Как настроить условный цикл, который выбирает, какой компилятор использовать в одном документе?

У меня есть установленный TeXlive 2019 с нерешенной проблемой, которая пока не позволяет мне компилировать на этом компьютере с помощью LuaLaTeX, поэтому я подумал, что могу добавить в преамбулу документа, что я работаю над кодом, который позволяет мне выбрать компиляцию с помощью LuaLaTeX или выполнить ее с помощью pdfLaTeX.

Я почти уверен, что видел что-то подобное много лет назад, но не смог найти нужного мне решения.

Кто-нибудь из вас помнит решение, которое я ищу? На данный момент мой MWE будет следующим:

\documentclass[fontsize=10pt,headings=big,headsepline=on,paper=7in:8.5in,DIV=calc,BCOR=5mm]{scrbook}
\usepackage[english]{babel}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX, Scale=MatchLowercase}
\usepackage{xunicode}
\usepackage{luatextra}
\setmainfont[
ItalicFont = SourceSerifPro,
ItalicFeatures={FakeSlant=0.2}
]{SourceSerifPro}
\setsansfont{SourceSansPro} 
\setmonofont{SourceCodePro}
\usepackage{blindtext}

\begin{document}
\Blindtext[3][2]
\end{document}

решение1

Эта версия документа работает в lualatex, xelatex и pdflatex (а также latex и, с некоторыми предупреждениями, platex)

\documentclass[fontsize=10pt,headings=big,headsepline=on,paper=7in:8.5in,DIV=calc,BCOR=5mm]{scrbook}
\usepackage[english]{babel}
\usepackage{iftex}

\iftutex
% luatex or xetex
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX, Scale=MatchLowercase}
%\usepackage{xunicode}
%\usepackage{luatextra}
\setmainfont[
ItalicFont = SourceSerifPro,
ItalicFeatures={FakeSlant=0.2}
]{SourceSerifPro}
\setsansfont{SourceSansPro} 
\setmonofont{SourceCodePro}
\else
% pdftex
\fi
\usepackage{blindtext}

\begin{document}
\Blindtext[3][2]
\end{document}

Связанный контент