diff options
author | Karl Berry <karl@freefriends.org> | 2019-11-01 21:55:07 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-11-01 21:55:07 +0000 |
commit | 8ec1800f45b685b5d011083689cb43a06ca49cd4 (patch) | |
tree | c4e1cc3d1c78eb202c6440273cc0d28f5a99ea05 /Master/texmf-dist/doc/generic | |
parent | 0155f91399b1608d1ad2790cdbe662427799f37f (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/README | 29 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/iftex/README.md | 65 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/iftex/ann.txt | 52 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/iftex/iftex.pdf | bin | 30641 -> 201646 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/iftex/iftex.tex | 256 |
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 Binary files differindex 483276ea7c9..426b5c4622d 100644 --- a/Master/texmf-dist/doc/generic/iftex/iftex.pdf +++ b/Master/texmf-dist/doc/generic/iftex/iftex.pdf 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} |