diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/oberdiek/ifvtex.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/oberdiek/ifvtex.sty | 195 |
1 files changed, 195 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/oberdiek/ifvtex.sty b/Master/texmf-dist/tex/latex/oberdiek/ifvtex.sty new file mode 100644 index 00000000000..d99f18989ac --- /dev/null +++ b/Master/texmf-dist/tex/latex/oberdiek/ifvtex.sty @@ -0,0 +1,195 @@ +% File: ifvtex.sty +% Version: 2001/09/26 v1.0 +% Author: Heiko Oberdiek +% Email: <oberdiek@uni-freiburg.de> +% +% Copyright: Copyright (C) 2001 Heiko Oberdiek. +% +% This program may be distributed and/or modified under +% the conditions of the LaTeX Project Public License, +% either version 1.2 of this license or (at your option) +% any later version. The latest version of this license +% is in +% http://www.latex-project.org/lppl.txt +% and version 1.2 or later is part of all distributions +% of LaTeX version 1999/12/01 or later. +% +% Function: This package looks for VTeX and implements +% and sets the switches \ifvtex, \ifvtex<mode>, +% and \ifvtexgex. +% It works with plain or LaTeX formats. +% +% Use: LaTeX: \usepackage{ifvtex} +% plain: \input ifvtex.sty +% The package provides the switch \ifvtex: +% \ifvtex +% ... do things, if VTeX is running ... +% \else +% ... other TeX ... +% \fi +% The package can also be used to set global +% documentclass options: +% \RequirePackage{ifvtex} +% \ifvtex +% \documentclass[vtex,...]{...} +% \else +% \documentclass[...]{...} +% \fi +% +% For the different output modes the following switches +% can be used: +% \ifvtexdvi, \ifvtexpdf, \ifvtexps, \ifvtexhtml +% And for GeX mode: +% \ifvtexgex +% +% For detecting VTeX \VTeXversion and \OpMode +% has to be defined. The modes are detected by +% \OpMode and GeX by \gexmode. +% +% History: 2001/09/26 v1.0: +% * first public version, +% +% Prevent reloading more than one: +\begingroup + \expandafter\let\expandafter\x\csname ver@ifvtex.sty\endcsname + \ifcase 0% + \ifx\x\relax % plain + \else + \ifx\x\empty % LaTeX + \else + 1% + \fi + \fi + \else + \expandafter\ifx\csname PackageInfo\endcsname\relax + \def\x#1#2{% + \immediate\write-1{Package #1 Info: #2.}% + }% + \else + \def\x#1#2{\PackageInfo{#1}{#2, stopped}}% + \fi + \x{ifvtex}{The package is already loaded}% + \endgroup + \expandafter\endinput + \fi +\endgroup +% +% Package identification: +\begingroup + \expandafter\ifx\csname ProvidesPackage\endcsname\relax + \def\x#1#2#3[#4]{\endgroup + \immediate\write-1{Package: #3 #4}% + \xdef#1{#4}% + }% + \else + \def\x#1#2[#3]{\endgroup + #2[#3]% + \ifx#1\relax + \xdef#1{#3}% + \fi + }% + \fi +\expandafter\x\csname ver@ifvtex.sty\endcsname +\ProvidesPackage{ifvtex}% + [2001/06/14 v1.0 *TEST* Providing % + \expandafter\string\csname ifvtex\endcsname\space switches (HO)] +% +% Check, whether \ifvtex is already defined: +\begingroup + \expandafter\ifx\csname ifvtex\endcsname\relax + \else + \edef\i/{\expandafter\string\csname ifvtex\endcsname}% + \expandafter\ifx\csname PackageError\endcsname\relax + \def\x#1#2{% + \edef\z{#2}% + \expandafter\errhelp\expandafter{\z}% + \errmessage{Package ifvtex Error: #1}% + }% + \def\y{^^J}% + \newlinechar=10 + \else + \def\x#1#2{% + \PackageError{ifvtex}{#1}{#2}% + }% + \def\y{\MessageBreak}% + \fi + \x{Name clash, \i/ is already defined}{% + Incompatible versions of \i/ can cause problems,\y + therefore package loading is aborted.% + }% + \endgroup + \expandafter\endinput + \fi +\endgroup +% +% Implementing the switch \ifvtex: +\newif\ifvtex +\ifx\VTeXversion\undefined +\else + \ifx\VTeXversion\relax + \else + \ifx\OpMode\undefined + \else + \ifx\OpMode\relax + \else + \vtextrue + \fi + \fi + \fi +\fi +% +% Implementing the mode and GeX switches: +\newif\ifvtexdvi +\newif\ifvtexpdf +\newif\ifvtexps +\newif\ifvtexhtml +\newif\ifvtexgex +\ifvtex + \ifcase\OpMode\relax + \vtexdvitrue + \or % 1 + \vtexpdftrue + \or % 2 + \vtexpstrue + \or % 3 + \vtexpstrue + \or\or\or\or\or\or\or % 10 + \vtexhtmltrue + \fi + \ifx\gexmode\undefined + \else + \ifx\gexmode\relax + \else + \ifnum\gexmode>0 % + \vtexgextrue + \fi + \fi + \fi +\fi +% +% Log comment: +\begingroup + \expandafter\ifx\csname PackageInfo\endcsname\relax + \def\x#1#2{% + \immediate\write-1{Package #1 Info: #2.}% + }% + \else + \let\x\PackageInfo + \expandafter\let\csname on@line\endcsname\empty + \fi + \x{ifvtex}{% + VTeX % + \ifvtex + in \ifvtexdvi DVI\fi + \ifvtexpdf PDF\fi + \ifvtexps PS\fi + \ifvtexhtml HTML\fi + \space mode % + with\ifvtexgex\else out\fi\space GeX % + \else + not % + \fi + detected% + }% +\endgroup +\endinput |