l3basics contains \luatex_if_engine:... and \xetex_if_engine:... I would find similar \xetex_or_luatex_if_engine:... quite useful but as it doesn't exist I defined my local one: \documentclass{scrartcl} \usepackage{expl3} \begin{document} \ExplSyntaxOn \prg_new_conditional:Nnn \ufcore_xetex_or_luatex_if_engine: {T, F, TF} {\bool_if:nTF {\c_luatex_is_engine_bool || \c_xetex_is_engine_bool} {\prg_return_true:} {\prg_return_false:} } \ufcore_xetex_or_luatex_if_engine:TF{true}{false} \ExplSyntaxOff \end{document} It seems to work fine. But I'm a bit unsure about the naming of the command. Is the prefix \ufcore OK? -- Ulrike Fischer