diff options
Diffstat (limited to 'Master/texmf-dist/source/generic/ifpdf/ifpdf.dtx')
-rw-r--r-- | Master/texmf-dist/source/generic/ifpdf/ifpdf.dtx | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/generic/ifpdf/ifpdf.dtx b/Master/texmf-dist/source/generic/ifpdf/ifpdf.dtx new file mode 100644 index 00000000000..9ab7d2ea5ee --- /dev/null +++ b/Master/texmf-dist/source/generic/ifpdf/ifpdf.dtx @@ -0,0 +1,106 @@ +% \iffalse +%% Source File: ifpdf.dtx +%% Copyright 2016 LaTeX3 project +%% +%% This file may be distributed under the terms of the LPPL. +%% See README for details. +% +%<*dtx> + \ProvidesFile{ifpdf.dtx} +%</dtx> +%<package>\ifx\ProvidesPackage\undefined +%<package>\def\next#1#2[#3]{\wlog{#2 #3}} +%<package>\expandafter\next\fi +%<package>\ProvidesPackage{ifpdf} +%<driver> \ProvidesFile{ifpdf.drv} +% \fi +% \ProvidesFile{ifpdf.dtx} +[2016/04/04 v3.0 Provides the ifpdf switch] +% +% \iffalse +%<*driver> +\documentclass{ltxdoc} +\begin{document} +\DocInput{ifpdf.dtx} +\end{document} +%</driver> +% \fi +% +% \GetFileInfo{ifpdf.dtx} +% +% \title{The \textsf{ifpdf} Package\thanks{This file +% has version number \fileversion, last +% revised \filedate. +% Please report any issues at https://github.com/davidcarlisle/ifpdf/issues}} +% \author{LaTeX3 project} +% \date{\filedate} +% \maketitle +% +% \section{Introduction} +% +% A re-implementation of Heiko Oberdiek's \textsf{ifpdf} package +% with simplified structure and updated to work with current Lua\TeX. +% +% The package defines a new boolean, \verb|\ifpdf| which is true +% for pdf\TeX\ and Lua\TeX\ in PDF mode, and false otherwise. +% +% \section{Implementation} +% +% \begin{macrocode} +%<*package> +% \end{macrocode} +% +% If \verb|\ifpdf| is not defined define it, taking care that it is +% outer in plain \TeX. +% \begin{macrocode} +\expandafter\ifx\csname ifpdf\endcsname\relax + \csname newif\expandafter\endcsname\csname ifpdf\endcsname +\else +% \end{macrocode} +% If \verb|\ifpdf| is already defined but \verb|\pdftrue| is not defined +% give up. +% \begin{macrocode} + \ifx\pdftrue\undefined + \ifx\PackageError\undefined + \begingroup\def\PackageError#1#2#3{\endgroup\errmessage{#2}} + \fi + \PackageError{ifpdf}{incompatible ifpdf definition}{} + \expandafter\expandafter\expandafter + \fi +\fi +% \end{macrocode} +% Otherwise set the boolean to false unless pdfoutput (outputmode) is greater than zero. +% For Lua\TeX, do the test in Lua as the tex primitivies may not be enabled, and +% the primitive name may be \verb|\pdfoutput| or \verb|\outputmode| depending +% on the Lua\TeX\ version number. +% \begin{macrocode} +\let\ifpdf\iffalse +% \end{macrocode} +% +% \begin{macrocode} +\ifx\directlua\undefined +% \end{macrocode} +% Not Lua\TeX. +% \begin{macrocode} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname pdfoutput\endcsname\relax +\else + \ifnum\pdfoutput>0 % + \pdftrue + \fi +\fi +\else +% \end{macrocode} +% Lua\TeX. +% \begin{macrocode} +\directlua{% +if (tex.outputmode or tex.pdfoutput or 0) > 0 then + tex.print('\string\\pdftrue') +end +} +\fi +% \end{macrocode} +% +% \begin{macrocode} +%</package> +% \end{macrocode} |