我正在尝试不同的编译器,如 pdfLatex、luaLatex、latex,以尝试编译 pgfplots 等内容时的差异。但是当我更改编译器时,我还需要更改序言。我该如何做类似这样的伪代码:
if compiler == lualatex
\usepackage{luaotfload}
...
elseif compiler == pdflatex
\usepackage[utf8]{inputenc}
...
fi
避免重复注释和取消注释代码?
答案1
该软件包ifluatex
提供了 for\ifluatex
和ifpdf
for\ifpdf
语句。
用它\ifluatex ... \else ... \fi
(\ifpdf
同样)
\documentclass{article}
\usepackage{ifluatex}
\usepackage{ifpdf}
\ifluatex
\usepackage{luaotfload}
\else
\ifpdf
\usepackage[utf8]{inputenc}
\typeout{PDF only}
\fi
\fi
\begin{document}
\ifluatex
Yeah, it's lualatex
\else
\ifpdf
Hooray, it's pdflatex
\fi
\fi
\end{document}