ifptex Package Bundle ===================== TeX: To check the engine is pTeX (or its derivatives) The ifptex package is a counterpart of ifxetex, ifluatex, etc. for the pTeX engine. The ifuptex package is an alises to ifptex provided for backward compatibility. ### System Requirements * TeX format: plain TeX, LaTeX, and INI mode. * TeX engine: Anything. * DVI driver (in DVI mode): Anything. * Dependent packages: - iftex ### Installation In a system compliant to TDS 1.1, move the files as follows: - `*.sty` → $TEXMF/tex/generic/ifptex And rehash your TEXMF trees if necessary. ### License This package is distributed under the MIT License. ifptex Package ― Test for pTeX engine -------------------------------------- ### Package Loading In plain TeX: \input ifptex.sty In LaTeX: \usepackage{ifptex} ### Usage NB: Here “e-TeX-ness” is not considered. * `\ifptex` (or `\ifpTeX`) [if-token] Whether the engine is pTeX (including upTeX or pTeX-ng). * `\ifstrictptex` (or `\ifstrictpTeX`) [if-token] Whether the engine is pTeX but *not* upTeX or pTeX-ng. * `\ifuptex` (or `\ifupTeX`) [if-token] Whether the engine is upTeX (including pTeX-ng). * `\ifstrictuptex` (or `\ifstrictupTeX`) [if-token] Whether the engine is upTeX but *not* pTeX-ng. * `\ifnativeuptex` (or `\ifnativeupTeX`) [if-token] Whether the engine is upTeX and its internal encoding is Unicode. * `\ifptexng` (or `\ifpTeXng`) [if-token] Whether the engine is pTeX-ng. * `\RequirepTeX` Issues an error if `\ifptex` fails. * `\RequireStrictpTeX` Issues an error if `\ifstrictptex` fails. * `\RequireupTeX` Issues an error if `\ifuptex` fails. * `\RequireStrictupTeX` Issues an error if `\ifstrictuptex` fails. * `\RequireNativeupTeX` Issues an error if `\ifnativeuptex` fails. * `\RequirepTeXng` Issues an error if `\ifptexng` fails. * `\upTeXguessedversion` [mathchardef-token] The guessed value of upTeX version; given as a 100-folded integer. NB. On version 1.23 or later, the value is correct. NB. On a non-upTeX engine, the value is zero. * `\RequireupTeXAtLeast{}` Issues an error if `\upTeXguessedversion` is smaller than the given required value. * `\RequireNativeupTeXAtLeast{}` Issues an error either if `\upTeXguessedversion` is smaller than the given required value or if `\ifnativeuptex` fails. The following functions are for testing whether pLaTeX and/or upLaTeX (in their prevailing meaning) is used. There upLaTeX is not regarded as a kind of pLaTeX. * `\ifstrictplatex` [if-token] Whether pLaTeX is used. * `\ifstrictuplatex` [if-token] Whether upLaTeX is used. * `\ifporuplatex` [if-token] Whether pLaTeX or upLaTeX is used. * `\RequireStrictpLaTeX` Issues an error if `\ifstrictplatex` fails. * `\RequireStrictupLaTeX` Issues an error if `\ifstrictuplatex` fails. * `\RequirepOrupLaTeX` Issues an error if `\ifporuplatex` fails. * `\RequireStrictupLaTeXAtLeast{}` Issues an error either if `\upTeXguessedversion` is smaller than the given required value or if `\ifstrictuplatex` fails. ifuptex Package ― Alias of ifptex ---------------------------------- The ifuptex package does nothing but loading ifptex internally. It is provided for backward compatibility. ### Package Loading In plain TeX: \input ifuptex.sty In LaTeX: \usepackage{ifuptex} ### Usage Just the same as the ifptex package. Revision History ---------------- * Version 2.2c 〈2023/04/08〉 - Add `\RequireStrictupLaTeXAtLeast`. * Version 2.2b 〈2023/02/25〉 - Add `\ifporuplatex` and `\RequirepOrupLaTeX`. * Version 2.2a 〈2023/02/23〉 - Add `\ifstrictplatex` and `\ifstrictupltex`, along with their `Require...` counterparts. * Version 2.2 〈2022/04/03〉 - Officialy support `\upTeXguessedversion`. - Add `\Require(Native)upTeXAtLeast`. * Version 2.1 〈2021/07/01〉 - Adjust for the future version of pTeX. - Drop an undocumented feature. * Version 2.0 〈2019/11/01〉 - Adjust to work better with the new iftex package maintanined by the LaTeX3 Project. - Now iftex is loaded inside ifptex. - Provide always all-lowercase `\if...tex` commands. - Support for loading in INI mode. * Version 1.2c 〈2017/10/04〉 * Version 1.2b 〈2017/09/20〉 * Version 1.2a 〈2017/09/15〉 * Version 1.2 〈2017/09/09〉 - Add `\ifstrictupTeX` and `RequireStrictupTeX`. * Version 1.1 〈2017/05/04〉 - Minor fix. * Version 1.0 〈2013/04/29〉 - Move to a separate bundle. - Change the package name to ifptex, and added the test for pTeX (besides upTeX). * Version 0.2 〈2008/03/14〉 - First public version. -------------------- Takayuki YATO (aka. "ZR") https://github.com/zr-tex8r