%% %% This is file 'ifptex.sty'. %% %% Copyright (c) 2008-2023 Takayuki YATO (aka. "ZR") %% GitHub: https://github.com/zr-tex8r %% Twitter: @zr_tex8r %% %% This package is distributed under the MIT License. %% % %% avoid multiple loading \csname\if11bxipIfptexLoaded\fi\endcsname% %% code guards \begingroup\count255\catcode61\global\catcode61\catcode48% \catcode91=1\catcode93=2\xdef\bxipIfptexLoaded[% \catcode61=\the\count255% \catcode13=\the\catcode13% \catcode32=\the\catcode32% \catcode35=\the\catcode35% \catcode123=\the\catcode123% \catcode125=\the\catcode125% \endlinechar=\the\endlinechar]% \endgroup\catcode32=10\catcode13=5\endlinechar=13\relax% \catcode35=6 \catcode123=1 \catcode125=2 \edef\bxipIfptexLoaded{\bxipIfptexLoaded \catcode33=\the\catcode33% \catcode34=\the\catcode34% \catcode39=\the\catcode39% \catcode45=\the\catcode45% \catcode46=\the\catcode46% \catcode47=\the\catcode47% \catcode58=\the\catcode58% \catcode60=\the\catcode60% \catcode62=\the\catcode62% \catcode63=\the\catcode63% \catcode64=\the\catcode64% \catcode91=\the\catcode91% \catcode93=\the\catcode93% \catcode96=\the\catcode96% \relax} \catcode33=12 % \catcode34=12 % <"> \catcode39=12 % <'> \catcode45=12 % <-> \catcode46=12 % <.> \catcode47=12 % \catcode58=12 % <:> \catcode60=12 % <<> \catcode62=12 % <>> \catcode63=12 % \catcode64=11 % <@> \catcode91=12 % <[> \catcode93=12 % <]> \catcode96=12 % <`> \edef\bxip@restore@codes{\bxipIfptexLoaded \noexpand\let\noexpand\bxip@restore@codes\relax} \def\bxipIfptexLoaded{\endinput} %% check for LaTeX \ifx\RequirePackage\@undefined %<*!LaTeX> \let\bxip@latex=f \long\def\bxip@input#1\ProvidesPackage#2[#3]{% \def\bxip@input\RequirePackage##1[##2]{\input ##1.sty\relax}% \let\bxip@opt@input\bxip@input \immediate\write-1{Package: #2 #3}} \expandafter\bxip@input \else %<*LaTeX> \let\bxip@latex=t \let\bxip@input\relax \def\bxip@opt@input\RequirePackage#1[#2]{% \IfFileExists{#1.sty}{\RequirePackage{#1}[#2]}{}} \fi % %% package declaration \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{ifptex}[2023/04/08 v2.2c pTeX checker] \def\bxip@pkgname{ifptex} %% packages \ifx\newif\@undefined\else \bxip@opt@input \RequirePackage{iftex}[2013/04/04]% v0.2 \fi %======================================= \begingroup % entering a big group %--------------------------------------- helpers %% \bxip@csletcs{}{} \def\bxip@csletcs#1#2{% \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname} %% \bxip@true{} \def\bxip@true#1{% \expandafter\let\csname#1\endcsname\iftrue} %% \bxip@false{} \def\bxip@false#1{% \expandafter\let\csname#1\endcsname\iffalse} %% switches \bxip@false{ifbxip@ok} %% \bxip@test@primitive\CS \def\bxip@test@primitive#1{% \edef\bxip@tmpa{\string#1}\edef\bxip@tmpb{\meaning#1}% \ifx\bxip@tmpa\bxip@tmpb \bxip@true{ifbxip@ok}% \else \bxip@false{ifbxip@ok}% \fi} %% \bxip@with@default{}\CS \gdef\bxip@with@default#1#2{% \def\bxip@tmpa{#2}\def\bxip@tmpb{#2[#1]}% \futurelet\bxip@tok\bxip@with@default@a} \gdef\bxip@with@default@a{% \ifx[\bxip@tok\expandafter\bxip@tmpa%] \else \expandafter\bxip@tmpb \fi} %% \bxip@check@version{}{}{