根据编译器包含前言语句

根据编译器包含前言语句

我正在尝试不同的编译器,如 pdfLatex、luaLatex、latex,以尝试编译 pgfplots 等内容时的差异。但是当我更改编译器时,我还需要更改序言。我该如何做类似这样的伪代码:

if compiler == lualatex
  \usepackage{luaotfload}
  ...
elseif compiler == pdflatex
  \usepackage[utf8]{inputenc}
  ...
fi

避免重复注释和取消注释代码?

答案1

该软件包ifluatex提供了 for\ifluatexifpdffor\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}

相关内容