summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/ifxetex/ifxetex.sty
blob: 367d3d2a845edef76fc32a27d1d1d5395a0eb646 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
% \iffalse
% Copyright 2006-2010 by Will Robertson <wspr81@gmail.com>
%
% Distributable under the LaTeX Project Public License,
% version 1.3c or higher (your choice). The latest version of
% this license is at: http://www.latex-project.org/lppl.txt
%
% This work is maintained by Will Robertson.
% \fi

% Ensure loading a single time only.
\csname ifxetexloaded\endcsname
\let\ifxetexloaded\endinput

% Declare ourselves to \LaTeX.
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname ProvidesPackage\endcsname\relax\else
  \ProvidesPackage{ifxetex}
    [2010/09/12 v0.6 Provides ifxetex conditional]
\fi

% For \XeTeX-exclusive packages.
\def\RequireXeTeX{%
  \ifxetex\else
    \begingroup
      \errorcontextlines=-1\relax
      \newlinechar=10\relax
      \errmessage{^^J
      ********************************************^^J
      * XeTeX is required to compile this document.^^J
      * Sorry!^^J
      ********************************************}%
    \endgroup
  \fi}

% Abort if \cmd\ifxetex\ is already defined
% (assume that it has already been set correctly)^^A
% \footnote{Thanks to \textit{Dan Luecking} for suggesting this.}
\expandafter\ifx\csname ifxetex\endcsname\relax\else
  \expandafter\endinput
\fi

% Create and set \cmd\ifxetex\ accordingly.
\newif\ifxetex
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname XeTeXrevision\endcsname\relax
  \xetexfalse
\else
  \xetextrue
\fi