summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-11-01 21:55:07 +0000
committerKarl Berry <karl@freefriends.org>2019-11-01 21:55:07 +0000
commit8ec1800f45b685b5d011083689cb43a06ca49cd4 (patch)
treec4e1cc3d1c78eb202c6440273cc0d28f5a99ea05 /Master/texmf-dist/doc/generic
parent0155f91399b1608d1ad2790cdbe662427799f37f (diff)
iftex, now with many if*.sty (1nov19)
git-svn-id: svn://tug.org/texlive/trunk@52609 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic')
-rw-r--r--Master/texmf-dist/doc/generic/iftex/README29
-rw-r--r--Master/texmf-dist/doc/generic/iftex/README.md65
-rw-r--r--Master/texmf-dist/doc/generic/iftex/ann.txt52
-rw-r--r--Master/texmf-dist/doc/generic/iftex/iftex.pdfbin30641 -> 201646 bytes
-rw-r--r--Master/texmf-dist/doc/generic/iftex/iftex.tex256
5 files changed, 297 insertions, 105 deletions
diff --git a/Master/texmf-dist/doc/generic/iftex/README b/Master/texmf-dist/doc/generic/iftex/README
deleted file mode 100644
index 95def7f4673..00000000000
--- a/Master/texmf-dist/doc/generic/iftex/README
+++ /dev/null
@@ -1,29 +0,0 @@
-_________________
-The iftex package
-v0.2
-
-This very simple package, for both Plain TeX and LaTeX,
-defines the \ifPDFTeX, \ifXeTeX, and \ifLuaTeX boolean
-for testing whether PDFTeX, or XeTeX, or LuaTeX is being
-used for typesetting.
-
-Also provides the \RequirePDFTeX, \RequireXeTeX, and \RequireLuaTeX
-command which throws an error if PDFTeX, XeTeX and LuaTeX (respectively)
-is not the engine in use.
-
-If you want to report any bugs or typos and corrections in the documentation,
-or ask for any new features, or suggest any improvements, or ask any questions
-about the package, then please do not send any direct emails to us; we will not
-answer any direct emails. Instead please use the issue tracker:
- <https://github.com/persian-tex/iftex/issues>
-In doing so, please always explain your issue well enough, always include
-a minimal working examples showing the issue, and always choose the appropriate
-label for your query (i.e. if you are reporting any bugs, choose `bug' label).
-
-Current version release date: 2013/04/04
-______________
-Persian TeX Group
-persian-tex@tug.org
-
-Copyright 2010–2013
-Distributed under the LaTeX Project Public License
diff --git a/Master/texmf-dist/doc/generic/iftex/README.md b/Master/texmf-dist/doc/generic/iftex/README.md
new file mode 100644
index 00000000000..ec8f5b74cce
--- /dev/null
+++ b/Master/texmf-dist/doc/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/Master/texmf-dist/doc/generic/iftex/ann.txt b/Master/texmf-dist/doc/generic/iftex/ann.txt
new file mode 100644
index 00000000000..9e153b59ab2
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/iftex/ann.txt
@@ -0,0 +1,52 @@
+** UPLOAD: iftex
+https://ctan.org/pkg/iftex
+
+New README will be uploaded, please change catalogue to say
+maintained by LaTeX Team
+Licence LPPL 1.3
+Bug Tracker: https://github.com/latex3/iftex/issues/
+Repository: https://github.com/latex3/iftex/
+
+** UPLOAD: oberdiek
+https://ctan.org/pkg/oberdiek
+This release will not distribute ifpdf.sty ifluatex.sty ifvtex.sty
+
+
+** DELETE ifxetex
+https://ctan.org/pkg/ifxetex
+Please change the catalogue to point to the iftex distribution (which will contain ifxetex.sty)
+and change maintainer and github links as for iftex above.
+
+Will Robertson is on LaTeX Team so aware of this.
+
+** DELETE ifetex
+https://ctan.org/pkg/ifetex
+Please change the catalogue to point to the iftex distribution (which will contain ifetex.sty)
+and change maintainer and github links as for iftex above.
+
+Martin Scharrer <martin.scharrer@web.de> has agreed to his version of ifetex being deleted
+
+> Hi David,
+>
+> I always hated the fact that there where so many if..tex packages and I
+> am glad that you people rationalise them now.
+>
+> Feel free to withdraw my package ifetex from CTAN.
+>
+> Best Regards,
+>
+> Martin
+
+** CATALOGUE Change ifpdf, ifluatex, ifvtex
+https://ctan.org/pkg/ifpdf
+https://ctan.org/pkg/ifluatex
+https://ctan.org/pkg/ifvtex
+Please change the catalog entries for these three so they point to iftex as above,
+not to the oberdiek bundle.
+
+
+** NO CHANGE
+Just to confirm ifptex and ifxptex packages are _not_ affected by this re-arrangement.
+
+
+
diff --git a/Master/texmf-dist/doc/generic/iftex/iftex.pdf b/Master/texmf-dist/doc/generic/iftex/iftex.pdf
index 483276ea7c9..426b5c4622d 100644
--- a/Master/texmf-dist/doc/generic/iftex/iftex.pdf
+++ b/Master/texmf-dist/doc/generic/iftex/iftex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/iftex/iftex.tex b/Master/texmf-dist/doc/generic/iftex/iftex.tex
index a247e22b5b3..67703b93c5b 100644
--- a/Master/texmf-dist/doc/generic/iftex/iftex.tex
+++ b/Master/texmf-dist/doc/generic/iftex/iftex.tex
@@ -1,80 +1,184 @@
-\documentclass{artikel3}
-\usepackage{calc}
-\usepackage{pifont}
-\usepackage{bbding}
-\usepackage[colorlinks=true,linkcolor=mybrown,urlcolor=mygreen]{hyperref}
-\usepackage{bidicode}
-\newcounter{local}
-\renewcommand\theenumi{\protect\setcounter{local}%
- {201+\the\value{enumi}}\protect\ding{\value{local}}}
-\renewcommand\labelenumi{\theenumi}
-\renewcommand\labelitemi{\HandRight}
-\renewcommand\labelitemii{\HandRightUp}
-\renewcommand\labelitemiii{\HandCuffRight}
-\renewcommand\labelitemiv{\HandPencilLeft}
-\definecolor{mybrown}{rgb}{.6,0,0}
-\definecolor{mygreen}{rgb}{0,.43,0}
-\definecolor{Orange}{rgb}{1,.4,.2}
-\newcommand\PDFTeX{PDF\TeX}
-\newcommand\XeTeX{Xe\TeX}
-\newcommand\LuaTeX{Lua\TeX}
-\title{The \textsf{iftex} Package\\ \href{https://github.com/persian-tex/iftex}{\texttt{https://github.com/persian-tex/iftex}}}
-\author{Persian TeX Group\\ \href{mailto:persian-tex@tug.org}{\texttt{persian-tex@tug.org}}}
-\date{Version 0.2}
+\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 package provides a way to check if a document is being processed with \PDFTeX, or \XeTeX, or \LuaTeX.
-\section{Loading The Package}
-The package can be loaded in the usual way both in Plain \TeX\ and \LaTeX.
-\subsection{Loading The Package in Plain \TeX}
-\begin{BDef}
-\Lcs{input}\quad \Larg{iftex.sty}
-\end{BDef}
-\subsection{Loading The Package in \LaTeX}
-\begin{BDef}
-\Lcs{usepackage}\Largb{iftex}
-\end{BDef}
-\section{Defined Conditionals}
-\subsection{For \PDFTeX}
-\begin{BDef}
-\Lcs{ifPDFTeX}\\
-\qquad\Larga{material for \PDFTeX}\\
-\Lcs{else}\\
-\qquad\Larga{material not for \PDFTeX}\\
-\Lcs{fi}
-\end{BDef}
-\subsection{For \XeTeX}
-\begin{BDef}
-\Lcs{ifXeTeX}\\
-\qquad\Larga{material for \XeTeX}\\
-\Lcs{else}\\
-\qquad\Larga{material not for \XeTeX}\\
-\Lcs{fi}
-\end{BDef}
-\subsection{For \LuaTeX}
-\begin{BDef}
-\Lcs{ifLuaTeX}\\
-\qquad\Larga{material for \LuaTeX}\\
-\Lcs{else}\\
-\qquad\Larga{material not for \LuaTeX}\\
-\Lcs{fi}
-\end{BDef}
-\section{Defined Commands}
-\subsection{For \PDFTeX}
-\begin{BDef}
-\Lcs{RequirePDFTeX}
-\end{BDef}
-This command tests for \PDFTeX\ use and throws an error if a different engine is being used.
-\subsection{For \XeTeX}
-\begin{BDef}
-\Lcs{RequireXeTeX}
-\end{BDef}
-This command tests for \XeTeX\ use and throws an error if a different engine is being used.
-\subsection{For \LuaTeX}
-\begin{BDef}
-\Lcs{RequireLuaTeX}
-\end{BDef}
-This command tests for \LuaTeX\ use and throws an error if a different engine is being used.
-\end{document} \ No newline at end of file
+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|\ifooTeX|.
+
+\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.
+
+\end{document}