同时拥有 Luatex85.sty 和正确的 \ifpdftex(通过 iftex.sty)

同时拥有 Luatex85.sty 和正确的 \ifpdftex(通过 iftex.sty)

在 Luatex 或 LuaHBTex 下,加载luatex85.sty成功\ifpdftex。这可能是设计使然,但是\ifpdftex在处理完仍然需要的旧包后,我们如何才能恢复到正确状态luatex85.sty

就我而言,我需要tufte-latex按照luatex85.sty这里所述的方式进行欺骗:我无法将 \maketitle 与 tufte 和 lualatex 一起使用。但是,我的处理双向文本的包需要正确区分 PDFTex、Xetex 和 Luatex。有没有办法在同一个包中同时提供这两种解决方案(或其他解决方法)?

平均能量损失

\RequirePackage{luatex85}
\documentclass{minimal}
\usepackage{iftex}
\begin{document}
\ifluatex
This is Lua
\fi

\ifluahbtex
This is Lua HB
\fi

\ifpdftex
This is PDFTex
\fi

\ifxetex
This is xetex
\fi

\end{document}

答案1

最好只是修复该类或使用特定补丁对其进行修补,而不是使用 luatex85 为其添加兼容性定义一切

但是你可以添加一个额外的测试:

\RequirePackage{luatex85}
\documentclass{minimal}
\usepackage{iftex}
\begin{document}
\ifluatex
This is Lua
\fi

\ifluahbtex
This is Lua HB
\fi

\ifpdftex
\ifluatex
This is LuaTex
\else
This is PDFTex
\fi
\fi

\ifxetex
This is xetex
\fi

\end{document}

使用 lualatex 你会得到

在此处输入图片描述

相关内容