如何设置一个条件循环来选择在同一文档中使用哪个编译器?

如何设置一个条件循环来选择在同一文档中使用哪个编译器?

我安装的 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}

相关内容