diff options
author | Norbert Preining <norbert@preining.info> | 2020-10-01 03:04:13 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2020-10-01 03:04:13 +0000 |
commit | d2a6bb90e56a2836bb59477b8f27248aab9149f5 (patch) | |
tree | 5d6be29a531495452688a3c8456355fa58d485f2 /macros/generic/iftex | |
parent | 36f406d8d1fc994af516d837e6a87c68839cdb2d (diff) |
CTAN sync 202010010304
Diffstat (limited to 'macros/generic/iftex')
l--------- | macros/generic/iftex | 1 | ||||
-rw-r--r-- | macros/generic/iftex/README.md | 65 | ||||
-rw-r--r-- | macros/generic/iftex/ifetex.sty | 18 | ||||
-rw-r--r-- | macros/generic/iftex/ifluatex.sty | 17 | ||||
-rw-r--r-- | macros/generic/iftex/ifpdf.sty | 17 | ||||
-rw-r--r-- | macros/generic/iftex/iftex.pdf | bin | 0 -> 214587 bytes | |||
-rw-r--r-- | macros/generic/iftex/iftex.sty | 241 | ||||
-rw-r--r-- | macros/generic/iftex/iftex.tex | 199 | ||||
-rw-r--r-- | macros/generic/iftex/ifvtex.sty | 45 | ||||
-rw-r--r-- | macros/generic/iftex/ifxetex.sty | 17 |
10 files changed, 619 insertions, 1 deletions
diff --git a/macros/generic/iftex b/macros/generic/iftex deleted file mode 120000 index 9466159220..0000000000 --- a/macros/generic/iftex +++ /dev/null @@ -1 +0,0 @@ -../latex/contrib/iftex
\ No newline at end of file diff --git a/macros/generic/iftex/README.md b/macros/generic/iftex/README.md new file mode 100644 index 0000000000..ec8f5b74cc --- /dev/null +++ b/macros/generic/iftex/README.md @@ -0,0 +1,65 @@ +# iftex + +## TeX Engine Detection + +This iftex package provides a suite of commands for detecting +different TeX variants. + +For each supported engine, tests are provided of the form + + \ifpdftex which is true if PDFTeX is in use and \RequirePDFTeX + which stops the run with an error message if PDFTeX is not being used. + +The package (which works with plain TeX as well as LaTeX) has tests +for: + +eTeX, PDFTeX, XeTeX, LuaTeX, LuaHBTeX, pTeX, upTeX, pTeX-ng, VTeX, Aleph. + + +In addition, an \iftutex test is true for XeTeX and LuaTeX, and +an \ifpdf test is provided to test the PDF or DVI output mode. + +## Compatibility Packages + +In addition to the main iftex.sty package, small wrapper packages are +provided + +ifetex.sty ifluatex.sty ifvtex.sty ifxetex.sty ifpdf.sty + +These include iftex and in some cases emulate some additional +commands to allow these packages to replace the original packages in TeX +distributions. It is recommended that new documents do not use these +packages, but instead load iftex.sty directly. + +This package may be used on any format (it may be loaded into initex) +it does not assume LaTeX. + + +---- + +This is a merger and simplification of several packages +Based on a suggestion of Norbert Preining + +https://github.com/bidi-tex/iftex/issues/1 + + + * ifetex: Martin Scharrer + * ifxetex: Will Robertson + * iftex: Persian TeX Group / Vafa Khalighi + * ifluatex, ifvtex: Heiko Oberdiek + * ifptex: Takayuki Yato + * ifpdf: Heiko Oberdiek and LaTeX3 Project + + +The existing if(u)ptex packages do far more extensive testing to +distinguish different variants which are not copied here. + +A document specifically for Japanese texts may need the finer grained +tests of the ifptex package which has tests for particular versions +of the pTeX (Japanese TeX) variant in use, and for the mode that is +active. + +This generic package only has coarser tests for the tex variant in +use, so is sufficient for example to distinguish upTeX from pTeX, and +to distinguish both of those from LuaTeX. + diff --git a/macros/generic/iftex/ifetex.sty b/macros/generic/iftex/ifetex.sty new file mode 100644 index 0000000000..51027d89c5 --- /dev/null +++ b/macros/generic/iftex/ifetex.sty @@ -0,0 +1,18 @@ +% Compatibility stub package for ifetex + +%% LaTeX3 Project +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. + +% The original ifetex package was written by Martin Scharrer + +\ifx\RequirePackage\undefined + \input iftex.sty +\else + \ProvidesPackage{ifetex}[2019/10/25 v1.3 ifetex legacy package. Use iftex instead.] + \RequirePackage{iftex} + \newcommand*\NeedsETeX[1][]{\RequireeTeX} +\fi diff --git a/macros/generic/iftex/ifluatex.sty b/macros/generic/iftex/ifluatex.sty new file mode 100644 index 0000000000..e762e8281f --- /dev/null +++ b/macros/generic/iftex/ifluatex.sty @@ -0,0 +1,17 @@ +% Compatibility stub package for ifluatex + +%% LaTeX3 Project +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. + +% The original ifluatex package was written by Heiko Oberdiek + +\ifx\RequirePackage\undefined + \input iftex.sty +\else + \ProvidesPackage{ifluatex}[2019/10/25 v1.5 ifluatex legacy package. Use iftex instead.] + \RequirePackage{iftex} +\fi diff --git a/macros/generic/iftex/ifpdf.sty b/macros/generic/iftex/ifpdf.sty new file mode 100644 index 0000000000..ec500fba25 --- /dev/null +++ b/macros/generic/iftex/ifpdf.sty @@ -0,0 +1,17 @@ +% Compatibility stub package for ifpdf + +%% LaTeX3 Project +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. + +% The original ifpdf package was written by Heiko Oberdiek + +\ifx\RequirePackage\undefined + \input iftex.sty +\else + \ProvidesPackage{ifpdf}[2019/10/25 v3.4 ifpdf legacy package. Use iftex instead.] + \RequirePackage{iftex} +\fi diff --git a/macros/generic/iftex/iftex.pdf b/macros/generic/iftex/iftex.pdf Binary files differnew file mode 100644 index 0000000000..cbb7b48ec5 --- /dev/null +++ b/macros/generic/iftex/iftex.pdf diff --git a/macros/generic/iftex/iftex.sty b/macros/generic/iftex/iftex.sty new file mode 100644 index 0000000000..8306f8663a --- /dev/null +++ b/macros/generic/iftex/iftex.sty @@ -0,0 +1,241 @@ +%% iftex TeX engine tests + +%% LaTeX3 Project +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. +%% +%% Using ideas from: +%% +%% ifetex Martin Scharrer +%% ifxetex Will Robertson +%% iftex 0.2 Persian TeX Group / Vafa Khalighi +%% ifluatex ifvtex Heiko Oberdiek +%% ifptex Takayuki YATO +%% ifpdf Heiko Oberdiek and LaTeX3 Project + +% Only load once (not needed in LaTeX, but does no harm). +\csname IFTEX\string @loaded\endcsname +\expandafter\let\csname IFTEX\string @loaded\endcsname\endinput + +% File loadable in initex +% require { } # with standard catcodes. +\catcode123=1 +\catcode125=2 +\catcode35=6 + + +% ProvidesPackage declaration in LaTeX +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname ProvidesPackage\endcsname\relax\else + \ProvidesPackage{iftex}[2020/03/06 v1.0d TeX engine tests] +\fi + +% Save @ catcode, to restore at end, not needed in LaTeX. +\expandafter\chardef\csname IFTEX\string @atcatcode\endcsname\catcode64 +\catcode 64 11 + +% Message format used in several pre-existing if*tex packages +% Modified here to do a hard stop and not show any error context lines. +\def\IFTEX@Require#1#2#3{% + #1\else + \newlinechar 64\relax + \errorcontextlines -1\relax + \immediate\write20{@ + ********************************************@ + * #2 is required to compile this document.@ + * Sorry!@ + ********************************************}% + \batchmode\read -1 to \@tempa + #3% +} + + +% eTeX \protected if available. +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname protected\endcsname\relax + \let\IFTEX@protected\relax +\else + \let\IFTEX@protected\protected +\fi + +% make sure \detokenize and \protected are available in lualatex, +% but avoid defining them after the package if not already defined. + { + \catcode34 12 % " + \catcode40 12 % ( + \catcode41 12 % ) + \catcode44 12 % , + \catcode46 12 % . + \expandafter\ifx\csname directlua\endcsname\relax\else + \directlua{tex.enableprimitives("IFTEX@", {"detokenize","protected"})} + \fi + } + +% \Require... commands that stop if the wrong engine detected. +\IFTEX@protected\def\RequireeTeX{\IFTEX@Require\ifetex{eTeX}\fi} +\IFTEX@protected\def\RequirePDFTeX{\IFTEX@Require\ifpdftex{pdfTeX}\fi} +\IFTEX@protected\def\RequireXeTeX{\IFTEX@Require\ifxetex{XeTeX}\fi} +\IFTEX@protected\def\RequireLuaTeX{\IFTEX@Require\ifluatex{LuaTeX}\fi} +\IFTEX@protected\def\RequireLuaHBTeX{\IFTEX@Require\ifluahbtex{LuaHBTeX}\fi} +\IFTEX@protected\def\RequirepTeX{\IFTEX@Require\ifptex{pTeX}\fi} +\IFTEX@protected\def\RequireupTeX{\IFTEX@Require\ifuptex{upTeX}\fi} +\IFTEX@protected\def\RequirepTeXng{\IFTEX@Require\ifptexng{pTeX-ng}\fi} +\IFTEX@protected\def\RequireVTeX{\IFTEX@Require\ifvtex{VTeX}\fi} +% alephtex as aleph name too generic +\IFTEX@protected\def\RequireAlephTeX{\IFTEX@Require\ifalephtex{Aleph}\fi} +% tutex == has \Umathchardef == XeTeX or Lua(HB)TeX currently +\IFTEX@protected\def\RequireTUTeX{\IFTEX@Require\iftutex{LuaTeX or XeTeX}\fi} + + +% As a matter of policy over-write any existing \if*tex macro and set +% by the tests here. + +% \csname and \let construct useful for hiding \ifzzz tokens from +% outer level \if tests. +\def\IFTEX@let#1#2{% + \expandafter\let\csname if#1\expandafter\endcsname + \csname if#2\endcsname} + +% etex (should always be true in latex based formats) +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname numexpr\endcsname\relax + \IFTEX@let{etex}{false} +\else + \IFTEX@let{etex}{true} +\fi +\IFTEX@let{eTeX}{etex} + +% pdftex (including in dvi mode) +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname pdftexversion\endcsname\relax + \IFTEX@let{pdftex}{false} +\else + \IFTEX@let{pdftex}{true} +\fi +\IFTEX@let{PDFTeX}{pdftex} + +% xetex +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname XeTeXrevision\endcsname\relax + \IFTEX@let{xetex}{false} +\else + \IFTEX@let{xetex}{true} +\fi +\IFTEX@let{XeTeX}{xetex} + + +% luatex (including luahbtex) +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname directlua\endcsname\relax + \IFTEX@let{luatex}{false} +\else + \IFTEX@let{luatex}{true} +\fi +\IFTEX@let{LuaTeX}{luatex} + + +% luahbtex (or luatex + luaharfbuzz) +% Use luaharfbuzz test rather than status.luatex_engine=="luahbtex" +% for issue #2. +\IFTEX@let{luahbtex}{false} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname directlua\endcsname\relax +\else + \directlua{\IFTEX@detokenize{ + if(pcall(require, 'luaharfbuzz')) then + tex.print("\\let\\ifluahbtex\\iftrue ") + end + }} + +\fi +\IFTEX@let{LuaHBTeX}{luahbtex} + + +% ptex (including all variants) +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname kanjiskip\endcsname\relax + \IFTEX@let{ptex}{false} +\else + \IFTEX@let{ptex}{true} +\fi +\IFTEX@let{pTeX}{ptex} + +% uptex (including euptex) +\ifx\enablecjktoken \@undefined + \IFTEX@let{uptex}{false} +\else + \IFTEX@let{uptex}{true} +\fi +\IFTEX@let{upTeX}{uptex} + +% ptex-ng +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname ngbanner\endcsname\relax + \IFTEX@let{ptexng}{false} +\else + \IFTEX@let{ptexng}{true} +\fi +\IFTEX@let{pTeXng}{ptexng} + +% vtex +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname VTeXversion\endcsname\relax + \IFTEX@let{vtex}{false} +\else + \IFTEX@let{vtex}{true} +\fi +\IFTEX@let{VTeX}{vtex} + +% aleph +\IFTEX@let{alephtex}{false} +\ifptex\else +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname omathchardef\endcsname\relax +\else + \IFTEX@let{alephtex}{true} +\fi +\fi +\IFTEX@let{AlephTeX}{alephtex} + + +% tutex (LuaTeX or XeTeX) +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname Umathchardef\endcsname\relax + \IFTEX@let{tutex}{false} +\else + \IFTEX@let{tutex}{true} +\fi +\IFTEX@let{TUTeX}{tutex} + +% Output mode +% declare as if with \newif +\def\pdftrue{\let\ifpdf\iftrue} +\def\pdffalse{\let\ifpdf\iffalse} +\pdffalse +\ifluatex +\directlua{\IFTEX@detokenize{ +if (tex.outputmode or tex.pdfoutput or 0) > 0 then + tex.print('\\pdftrue') +end +}} +\else +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname pdfoutput\endcsname\relax +\ifvtex + \ifnum\OpMode=3 % + \pdftrue + \fi +\fi +\else + \ifnum\pdfoutput>0 % + \pdftrue + \fi +\fi +\fi + + +% restore things +\catcode64 \IFTEX@atcatcode diff --git a/macros/generic/iftex/iftex.tex b/macros/generic/iftex/iftex.tex new file mode 100644 index 0000000000..8e13546e77 --- /dev/null +++ b/macros/generic/iftex/iftex.tex @@ -0,0 +1,199 @@ +\documentclass{article} +\usepackage[T1]{fontenc} +\usepackage{hyperref} +\hypersetup{colorlinks} +\usepackage{iftex} + +\title{The iftex package} +\author{The \LaTeX\ Project Team\thanks{% +\url{https://github.com/latex3/iftex}}} + +\date{\csname ver@iftex.sty\endcsname} + +\newcommand\cs[1]{{\ttfamily\textbackslash #1}} +\renewcommand*\descriptionlabel[1]{\makebox[\dimexpr\textwidth][l]{% + \normalfont\bfseries #1}} + +\begin{document} + +\maketitle +\tableofcontents + + +\section{Introduction} +This original \textsf{iftex} was written as part of the \textsf{bidi} +collection (by the Persian TeX Group / Vafa Khalighi) +and provided checks for whether a document was being +processed with PDF\TeX, or Xe\TeX, or Lua\TeX. This version recodes +the package and incorporates similar tests from the \textsf{ifetex} +package by Martin Scharrer, the \textsf{ifxetex} package by Will +Robertson, the \textsf{ifluatex} and \textsf{ifvtex} +packages from Heiko Oberdiek and parts of \textsf{ifptex} by Takayuki +Yato. + +For each \TeX\ variant engine supported two commands are provided: +\begin{itemize} +\item + a conditional, \verb|\iffootex| that is true if the \textsf(footex) +engine (or a compatible extension) is being used. + +For compatibility with earlier packages which did not all use the same +naming convention all these conditionals are provided in two forms, a +lowercase name \verb|\iffootex| and a mixed case name \verb|\iffooTeX|. + +\item a command \verb|RequireFooTeX| which checks that \textsf{footex} + is being used, and stops the run with an error message if a + different engine is detected. +\end{itemize} + +\section{Loading the package} +The package can be loaded in the usual way in both Plain \TeX\ and \LaTeX. +\subsection{Loading the package in plain \TeX} +\begin{verbatim} +\input iftex.sty +\end{verbatim} + +\subsection{Loading the package in \LaTeX} +\begin{verbatim} +\usepackage{iftex} +\end{verbatim} + +\subsection{Loading the package in ini\TeX} +The package assumes no existing macros and may be loaded +during format setup in a format without the plain \TeX\ or \LaTeX\ +format being loaded. From an initial ini\TeX\ setup the package may +be loaded as for plain \TeX. + +\section{Engine test conditionals} +All the conditionals defined here are used in the same way: +\begin{verbatim} +\ifluatex + luatex specific code +\else + code for other engines +\fi +\end{verbatim} + + + +\begin{description} +\item[\cs{ifetex}, \cs{ifeTeX}] +True if an e\TeX\ enabled format is in use. (This is necessarily true +in all \LaTeX\ variants.) +\item[\cs{ifpdftex}, \cs{ifPDFTeX}] +True if PDF\TeX\ is in use (whether writing PDF or DVI), so this is +true for documents processed with both the \textsf{latex} and +\textsf{pdflatex} commands. +\item[\cs{ifxetex}, \cs{ifXeTeX}] +True if Xe\TeX\ is in use. +\item[\cs{ifluatex}, \cs{ifLuaTeX}] +True if Lua\TeX\ and extensions such as LuaHB\TeX\ are in use. +\item[\cs{ifluahbtex}, \cs{ifLuaHBTeX}] +True if the \textsf{luaharftex} Lua module is available. +This will be true in \textsf{luahbtex} and may be true in +\textsf{luatex} if a binary Lua \textsf{luaharftex} module has been +compiled and is available in Lua's search path. +\item[\cs{ifptex}, \cs{ifpTeX}] +True if any of the p\TeX\ variants are in use. +\item[\cs{ifuptex}, \cs{ifupTeX}] +True if any of the up\TeX\ variants are in use. (\verb|\ifetex| could +be used in addition to distinguish \textsf{uptex} and \textsf{euptex}.) +\item[\cs{ifptexng}, \cs{ifpTeXng}] +True if p\TeX-ng (Asiatic p\TeX) is in use. +\item[\cs{ifvtex}, \cs{ifVTeX}] +True if V\TeX\ is in use. +\item[\cs{ifalephtex}, \cs{ifAlephTeX}] +True if Aleph is in use. (The \textsf{aleph}-based \LaTeX\ command is +\textsf{lamed}.) +\item[\cs{iftutex}, \cs{ifTUTeX}] +This is not strictly an engine variant, but it is true if +\verb|\Umathchardef| is available, which essentially means that it is +true for Lua\TeX\ and Xe\TeX, allowing constructs such as +\begin{verbatim} +\iftutex + \usepackage{fontspec} + \setmainfont{TeX Gyre Termes} + \usepackage{unicode-math} + \setmathfont{Stix Two Math} +\else + \usepackage{newtxtext,newtxmath} +\fi +\end{verbatim} + +\end{description} + +\section{Requiring specific engines} +For each supported engine, the package provides a command +\verb|\Require...| which checks that the document is being processed +with a suitable engine, and stops with an error message if not. + +\begin{description} +\item[\cs{RequireeTeX}] +\item[\cs{RequirePDFTeX}] +\item[\cs{RequireXeTeX}] +\item[\cs{RequireLuaTeX}] +\item[\cs{RequireLuaHBTeX}] +\item[\cs{RequirepTeX}] +\item[\cs{RequireupTeX}] +\item[\cs{RequirepTeXng}] +\item[\cs{RequireVTeX}] +\item[\cs{RequireAlephTeX}] +\item[\cs{RequireTUTeX}] +\end{description} + + +\section{Output mode conditional} +This package also provides an \verb|\ifpdf| conditional that is true +if the format is set up to output in PDF mode rather than DVI. This is +equivalent to the test in the existing \textsf{ifpdf} package. + +Unlike the engine tests above this is defined as if by \verb|\newif| +with user-documented commands \verb|\pdftrue| and \verb|\pdffalse| that can +change the boolean value. These would be needed to reset the boolean +if the output mode is reset (for example by setting +\verb|\pdfoutput=0| in PDF\LaTeX). + +Unlike the original \textsf{ifpdf} package, the version here also +detects PDF output mode if running in V\TeX. + +\section{Additional packages} +This extended \textsf{iftex} is designed to replace the original +\textsf{iftex} and also the packages +\textsf{ifetex}, +\textsf{ifluatex}, +\textsf{ifvtex}, +\textsf{ifxetex}, +\textsf{ifpdf}. + +This collection includes small packages with these names that include +the main \textsf{iftex} package, and in some cases define additional +commands for increased compatibility. These packages should mean that +authors do not need to change existing documents, although it is +recommended that new documents use the \textsf{iftex} package +directly. + + +Note that while this package provides basic support for detecting +p\TeX\ (Japanese \TeX) variants and is broadly compatible with the +\textsf{ifptex} package, the \textsf{ifptex} package has many more detailed +tests for p\TeX\ variants and this package does \emph{not} replace the +\textsf{ifptex} (or \textsf{ifxptex}) packages, which are maintained +by their original authors and recommended for Japanese documents that +need fine control over the Japanese \TeX\ system in use. + +\section{Compatibility with \textsf{scrbase}} +The \textsf{scrbase} package (which is automatically included in the +popular \textsf{KOMA-Script} classes) by default defines +\verb|\ifpdftex| and \verb|\ifVTeX| with a different syntax. If you +use the \textsf{scrbase} option \verb|internalonly| then +\textsf{scrbase} will not define these and the definitions as +described here will take effect. This is recommended and will not +affect any \textsf{scrbase} package code as internally +\textsf{scrbase} uses private versions of those commands prefixed with +\verb|\scr@|. However this package detects if the \textsf{scrbase} +definitions are in effect and if so does not redefine them, for +compatibility with existing documents. The \textsf{iftex} versions +will still be available under the names \verb|\ifPDFTeX| and +\verb|\ifvtex|. + +\end{document} diff --git a/macros/generic/iftex/ifvtex.sty b/macros/generic/iftex/ifvtex.sty new file mode 100644 index 0000000000..109cf1cc09 --- /dev/null +++ b/macros/generic/iftex/ifvtex.sty @@ -0,0 +1,45 @@ +% Compatibility stub package for ifvtex + +%% LaTeX3 Project +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. + +% The original ifvtex package was written by Heiko Oberdiek + +\ifx\RequirePackage\undefined + \input iftex.sty +\else + \ProvidesPackage{ifvtex}[2019/10/25 v1.7 ifvtex legacy package. Use iftex instead.] + \RequirePackage{iftex} +\fi + + +\IFTEX@let{vtexdvi}{false} +\IFTEX@let{vtexpdf}{false} +\IFTEX@let{vtexps}{false} +\IFTEX@let{vtexhtml}{false} +\IFTEX@let{vtexgex}{false} + +\ifvtex + \ifcase\OpMode\relax + \IFTEX@let{vtexdvi}{true} + \or % 1 + \IFTEX@let{vtexpdf}{true} + \or % 2 + \IFTEX@let{vtexps}{true} + \or % 3 + \IFTEX@let{vtexps}{true} + \or\or\or\or\or\or\or % 10 + \IFTEX@let{vtexhtml}{true} + \fi + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname gexmode\endcsname\relax + \else + \ifnum\gexmode>0 % + \IFTEX@let{vtexgex}{true} + \fi + \fi +\fi diff --git a/macros/generic/iftex/ifxetex.sty b/macros/generic/iftex/ifxetex.sty new file mode 100644 index 0000000000..8261ec2671 --- /dev/null +++ b/macros/generic/iftex/ifxetex.sty @@ -0,0 +1,17 @@ +% Compatibility stub package for ifxetex + +%% LaTeX3 Project +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. + +% The original ifxetex package was written by Will Robertson + +\ifx\RequirePackage\undefined + \input iftex.sty +\else + \ProvidesPackage{ifxetex}[2019/10/25 v0.7 ifxetex legacy package. Use iftex instead.] + \RequirePackage{iftex} +\fi |