diff options
author | Karl Berry <karl@freefriends.org> | 2017-09-02 21:42:29 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-09-02 21:42:29 +0000 |
commit | 5ec14a45caec6cf280a15720b306cbfd85f45dca (patch) | |
tree | 599614fa84b6442189832260f28479abcde4c1e0 /Master/texmf-dist/doc | |
parent | dadcd91ebbd36582ed905c008bcf90b8f3a6c551 (diff) |
ifxptex (2sep17)
git-svn-id: svn://tug.org/texlive/trunk@45195 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r-- | Master/texmf-dist/doc/generic/ifxptex/README.txt | 16 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/ifxptex/ifxptex-doc.pdf | bin | 0 -> 196395 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/ifxptex/ifxptex-doc.tex | 197 |
3 files changed, 213 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/ifxptex/README.txt b/Master/texmf-dist/doc/generic/ifxptex/README.txt new file mode 100644 index 00000000000..93962fa6dbe --- /dev/null +++ b/Master/texmf-dist/doc/generic/ifxptex/README.txt @@ -0,0 +1,16 @@ + + +The ifxptex package --- Detect pTeX and its derivatives + +CTAN Homepage: https://ctan.org/pkg/ifxptex + +Repository: https://github.com/Man-Ting-Fang/ifxptex + +Version: 2017-09-02 v0.1a + +Copyright 2017 Yue ZHANG + +License: Knuth License (https://ctan.org/license/knuth) + +This package provides commands for detecting pTeX and its derivatives (e-pTeX, +upTeX, e-upTeX, and ApTeX). Both LaTeX and plain TeX are supported. diff --git a/Master/texmf-dist/doc/generic/ifxptex/ifxptex-doc.pdf b/Master/texmf-dist/doc/generic/ifxptex/ifxptex-doc.pdf Binary files differnew file mode 100644 index 00000000000..e52a3d071d9 --- /dev/null +++ b/Master/texmf-dist/doc/generic/ifxptex/ifxptex-doc.pdf diff --git a/Master/texmf-dist/doc/generic/ifxptex/ifxptex-doc.tex b/Master/texmf-dist/doc/generic/ifxptex/ifxptex-doc.tex new file mode 100644 index 00000000000..239f09c4e1f --- /dev/null +++ b/Master/texmf-dist/doc/generic/ifxptex/ifxptex-doc.tex @@ -0,0 +1,197 @@ + + +% ifxptex-doc.tex + +% !TeX encoding = UTF-8 +% !TeX program = pdfLaTeX + +\RequirePackage{fix-cm} + +\documentclass[a4paper]{article} + +\usepackage{amsfonts} +\usepackage[OT1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage[UKenglish]{babel} +\usepackage[babel]{microtype} +\usepackage{etoolbox} +\usepackage{amstext} +\usepackage{booktabs} + +\AtBeginEnvironment{verbatim}{\microtypesetup{activate=false}} + +\newcommand\NormalSans{\normalfont\sffamily} +\newcommand\pkg[1]{{\protect\NormalSans#1}} + +\newcommand\pTeX{p\kern-0.15em\TeX} +\newcommand\e{\ensuremath{\varepsilon}} +\newcommand\eTeX{\e-\TeX} +\newcommand\epTeX{\e-\pTeX} +\newcommand\upTeX{u\pTeX} +\newcommand\eupTeX{\e-\upTeX} +\newcommand\ApTeX{A\kern-0.1em\pTeX} +\newcommand\dpx{DVIPDFM\ensuremath{x}} +\newcommand\FooTeX{Foo\kern-0.1em\TeX} + +\newcommand\yes{\checkmark} +\newcommand\UNI{(Unicode)} +\newcommand\uni{{\footnotesize\UNI}} + +\begin{document} + +\title{The \pkg{ifxptex} package% + \thanks{CTAN Homepage: \texttt{https://ctan.org/pkg/ifxptex}} + \thanks{Repository: \texttt{https://github.com/Man-Ting-Fang/ifxptex}}} +\author{Yue \textsc{Zhang}} +\date{2017-09-02\quad v0.1a} + +\maketitle + +\begin{abstract} +This package provides commands for detecting \pTeX\ and its derivatives (\epTeX, +\upTeX, \eupTeX, and \ApTeX). +\end{abstract} + +\section{Introduction} + +\pTeX\ is an extension of \TeX. It has several derivatives: +\begin{itemize} +\item \epTeX: \( \text{\pTeX} + \text{\eTeX} + \cdots \) +\item \upTeX: \( \text{\pTeX} + \text{native Unicode support} + \cdots \) +\item \eupTeX: \( \text{\epTeX} + \text{\upTeX} \) +\item \ApTeX:\footnote{Full name: Asiatic \pTeX; synonym: \pTeX-ng; obsolete + names: Asian \pTeX, toua-\pTeX, toua-\TeX, toua\TeX, \ldots} + \( \text{\upTeX} + \text{\eTeX} + \cdots \) +\end{itemize} +Table \ref{tab:cmds} shows the command line commands for invoking them.% +\footnote{Old implementations and other \TeX\ formats are not taken into +consideration.} +\vskip-10pt\relax +\begin{table}[ht]\centering +\caption{Commands for invoking *\pTeX} +\label{tab:cmds} +\medskip +\begin{tabular}{cccc} +\toprule + & \multicolumn{2}{c}{Command} & \\ + \cmidrule(lr){2-3} +Engine & Plain \TeX & \LaTeX & Output format(s)\footnotemark \\ +\midrule +\pTeX & \verb|ptex| & n/a & DVI (extended) \\ +\epTeX & \verb|eptex| & \verb|platex| & DVI (extended) \\ +\upTeX & \verb|uptex| & n/a & DVI (extended) \\ +\eupTeX & \verb|euptex| & \verb|uplatex| & DVI (extended) \\ +\ApTeX & \verb|ptex-ng| & \verb|platex-ng| & DVI (extended) and PDF \\ +\bottomrule +\end{tabular} +\end{table} +\footnotetext{DVI files produced by *\pTeX\ can be converted to PDF files by +\dpx, or some scripts for convenience (also use \dpx\ internally), but this +subject is outside the scope of this document. (Note that \ApTeX\ outputs both +DVI and PDF files directly.)} +\noindent Both \LaTeX3 and the \pkg{ifptex} package (and its alias, the +\pkg{ifuptex} package) have already provided commands for detecting some *\pTeX\ +engines. However, they do not satisfy the author, thus this package is written. +For compatibility, all user commands provided by this package have an extra +letter ``\verb|x|'' or ``\verb|X|''. + +\section{Naming conventions} + +There are two more naming conventions in this package: +\begin{itemize} +\item Suppose that there is a \TeX\ engine called \FooTeX, then both + \verb|FooTeX| and \verb|footex| are used in commands' names, but they refer to + different things: \verb|FooTeX| stands for the \FooTeX\ engine itself, while + \verb|footex| stands for all engines (mostly) compatible with \FooTeX. +\item Furthermore, \verb|UniFooTeX| and \verb|unifootex| stand respectively for + \verb|FooTeX| and \verb|footex| when using Unicode as the internal encoding. + (Similarly, ``\UNI'' used in the following tables indicates that the engine + should be the corresponding \verb|UniFooTeX|.) (Note that \ApTeX\ always uses + Unicode as its internal encoding.) +\end{itemize} + +\section{Usage} + +This package has no options, just load it as usual: +\begin{itemize} +\item \LaTeX: \verb|\usepackage{ifxptex}| +\item Plain \TeX: \verb|\input ifxptex.sty| +\end{itemize} + +\subsection{Conditionals} + +Table \ref{tab:cond} lists the conditionals provided by this package. +\vskip-10pt\relax +\begin{table}[ht]\centering +\caption{Conditionals provided by this package} +\label{tab:cond} +\medskip +\begin{tabular}{lccccc} +\toprule + & \multicolumn{5}{c}{True when using (one of)} \\ + \cmidrule(lr){2-6} +Conditional & \pTeX & \epTeX & \upTeX & \eupTeX & \ApTeX \\ +\midrule +\verb|\ifxpTeX| & \yes & & & & \\ +\verb|\ifxepTeX| & & \yes & & & \\ +\verb|\ifxupTeX| & & & \yes & & \\ +\verb|\ifxeupTeX| & & & & \yes & \\ +\verb|\ifxApTeX| & & & & & \yes \\ +\verb|\ifxUniupTeX| & & & \yes\ \uni & & \\ +\verb|\ifxUnieupTeX| & & & & \yes\ \uni & \\ +\verb|\ifxptex| & \yes & \yes & \yes & \yes & \yes \\ +\verb|\ifxeptex| & & \yes & & \yes & \\ +\verb|\ifxuptex| & & & \yes & \yes & \yes \\ +\verb|\ifxeuptex| & & & & \yes & \\ +\verb|\ifxaptex| & & & & & \yes \\ +\verb|\ifxuniuptex| & & & \yes\ \uni & \yes\ \uni & \yes \\ +\verb|\ifxunieuptex| & & & & \yes\ \uni & \\ +\bottomrule +\end{tabular} +\end{table} +\noindent These conditionals can be used as usual. For example: + +\medskip + +\noindent{\ttfamily\hskip2em}% +\verb|\ifxeupTeX|% + \ensuremath{\langle}material for \eupTeX\ensuremath{\rangle}% +\verb|\else|% + \ensuremath{\langle}material not for \eupTeX\ensuremath{\rangle}% +\verb|\fi| + +\subsection{Declarations} + +Table \ref{tab:decl} lists the declarations provided by this package. (This +table is very similar to Table \ref{tab:cond}.) +\vskip-10pt\relax +\begin{table}[ht]\centering\advance\tabcolsep by -0.1pt\relax +\caption{Declarations provided by this package} +\label{tab:decl} +\medskip +\begin{tabular}{lccccc} +\toprule + & \multicolumn{5}{c}{Reports an error if the engine in + use is not (one of)} \\ + \cmidrule(lr){2-6} +Declaration & \pTeX & \epTeX & \upTeX & \eupTeX & \ApTeX \\ +\midrule +\verb|\RequireXpTeX| & \yes & & & & \\ +\verb|\RequireXepTeX| & & \yes & & & \\ +\verb|\RequireXupTeX| & & & \yes & & \\ +\verb|\RequireXeupTeX| & & & & \yes & \\ +\verb|\RequireXApTeX| & & & & & \yes \\ +\verb|\RequireXUniupTeX| & & & \yes\ \uni & & \\ +\verb|\RequireXUnieupTeX| & & & & \yes\ \uni & \\ +\verb|\RequireXptex| & \yes & \yes & \yes & \yes & \yes \\ +\verb|\RequireXeptex| & & \yes & & \yes & \\ +\verb|\RequireXuptex| & & & \yes & \yes & \yes \\ +\verb|\RequireXeuptex| & & & & \yes & \\ +\verb|\RequireXaptex| & & & & & \yes \\ +\verb|\RequireXuniuptex| & & & \yes\ \uni & \yes\ \uni & \yes \\ +\verb|\RequireXunieuptex| & & & & \yes\ \uni & \\ +\bottomrule +\end{tabular} +\end{table} + +\end{document} |