summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/generic/ifxetex
diff options
context:
space:
mode:
authorManuel Pégourié-Gonnard <mpg@elzevir.fr>2008-10-02 22:52:57 +0000
committerManuel Pégourié-Gonnard <mpg@elzevir.fr>2008-10-02 22:52:57 +0000
commit58fcad95a788cedbd0ccb770e069dbabde18e185 (patch)
tree631797c2afc016e05044bb4633d6744da54765ce /Master/texmf-dist/source/generic/ifxetex
parentcf643b58650b5f839617deb64c86370ccfe113ef (diff)
ifxetex 2008/09/30
git-svn-id: svn://tug.org/texlive/trunk@10831 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/generic/ifxetex')
-rw-r--r--Master/texmf-dist/source/generic/ifxetex/ifxetex.ins4
-rw-r--r--Master/texmf-dist/source/generic/ifxetex/ifxetex.tex194
2 files changed, 198 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/generic/ifxetex/ifxetex.ins b/Master/texmf-dist/source/generic/ifxetex/ifxetex.ins
new file mode 100644
index 00000000000..2978784a08a
--- /dev/null
+++ b/Master/texmf-dist/source/generic/ifxetex/ifxetex.ins
@@ -0,0 +1,4 @@
+%&latex
+\def\asyfigCompile{N}
+\input ifxetex.tex
+\csname@@end\endcsname
diff --git a/Master/texmf-dist/source/generic/ifxetex/ifxetex.tex b/Master/texmf-dist/source/generic/ifxetex/ifxetex.tex
new file mode 100644
index 00000000000..5b0905f52c7
--- /dev/null
+++ b/Master/texmf-dist/source/generic/ifxetex/ifxetex.tex
@@ -0,0 +1,194 @@
+\RequirePackage{filecontents}
+\begin{filecontents*}{README.txt}
+------------------------
+THE IFXETEX PACKAGE v0.4
+
+This very simple package, for both Plain TeX and LaTeX,
+defines the \ifxetex boolean for testing whether XeTeX
+is being used for typesetting.
+
+Also provides the \RequireXeTeX command which throws
+an error if XeTeX is not the engine in use.
+
+To extract the package from the source file "ifxetex.tex",
+execute `latex ifxetex.ins`. Executing `xelatex ifxetex.tex`
+compiles the documentation and generates this README.
+
+-------------------
+Will Robertson
+Copyright 2006-2008
+\end{filecontents*}
+%%%%%%%%%1%%%%%%%%%2%%%%%%%%%3%%%%%%%%%4%%%%%%%%%5
+
+\begin{filecontents}{ifxetex.sty}
+% \iffalse
+% Copyright 2006-2008 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" (as per LPPL maintenance status)
+% by Will Robertson.
+% \fi
+
+% Ensure loading a single time only
+\csname ifxetexloaded\endcsname
+\let\ifxetexloaded\endinput
+
+% Declare ourselves to \LaTeX
+\expandafter\ifx\csname ProvidesPackage\endcsname\relax\else
+ \ProvidesPackage{ifxetex}
+ [2008/09/18 v0.4 Provides ifxetex conditional]
+\fi
+
+% Create, if necessary, the \cmd\ifxetex\ conditional
+\expandafter\ifx\csname ifxetex\endcsname\relax
+ \newif\ifxetex
+\fi
+
+% Set \cmd\ifxetex\ accordingly
+\expandafter\ifx\csname XeTeXrevision\endcsname\relax
+ \xetexfalse
+\else
+ \xetextrue
+\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}
+\end{filecontents}
+%%%%%%%%%1%%%%%%%%%2%%%%%%%%%3%%%%%%%%%4%%%%%%%%%5
+
+
+
+% Conditionally compile the documentation & generate the .ins file:
+\providecommand\asyfigCompile{Y}
+\makeatletter
+\if\asyfigCompile N
+ \expandafter\@@end
+\fi
+
+
+
+
+\begin{filecontents*}{ifxetex.ins}
+%&latex
+\def\asyfigCompile{N}
+\input ifxetex.tex
+\csname@@end\endcsname
+\end{filecontents*}
+
+
+
+
+\makeatletter
+\documentclass{article}
+
+\usepackage[it,medium]{titlesec}
+
+\usepackage{bigfoot,ifthen,xcolor}
+\usepackage[colorlinks,linktocpage]{hyperref}
+
+\usepackage{gmdoc}
+\usepackage{gmverb}
+\dekclubs
+\stanzaskip=\bigskipamount
+\CodeSpacesGrey
+
+\usepackage{tocloft,varwidth}
+\setcounter{tocdepth}{1}
+\def\tocwidthA{0.45}
+\def\tocwidthB{0.45}
+\def\cftpartfont{\scshape}
+\def\cftsecfont{\small}
+\cftbeforesecskip=0pt
+\def\cftpartleader{}
+\def\cftpartafterpnum{\cftparfillskip}
+\def\cftsecleader{}
+\def\cftsecafterpnum{\cftparfillskip}
+
+\let\pkg\textsf
+\def\pkgopt#1{\texttt{[#1]}}
+
+\def\PDF{\textsc{pdf}}
+\def\PS{\textsc{ps}}
+\def\DVI{\textsc{dvi}}
+\def\EPS{\textsc{eps}}
+
+\usepackage{amsmath,listings}
+\lstset{basicstyle=\ttfamily,columns=fullflexible}
+
+\usepackage{array,xltxtra}
+\setmainfont{Georgia}
+\setsansfont[Scale=MatchLowercase]{Helvetica}
+\setmonofont[Scale=MatchLowercase]{Monaco}
+\frenchspacing
+
+\GetFileInfo{ifxetex.sty}
+\begin{document}
+
+\title{The \pkg{ifxetex} package}
+\author{%
+ \normalsize Will Robertson\footnote{\texttt{wspr81@gmail.com}}}
+\date{\fileversion\qquad\filedate}
+
+\maketitle
+
+\section{User documentation}
+
+This package provides a way to check if a document is being processed with \XeTeX. It may be loaded with
+
+\bigskip
+\begin{tabular}{l@{\quad}l}
+{|\usepackage{ifxetex}|} & for \LaTeX, or \\
+{|\input ifxetex.sty|} & for Plain \TeX.
+\end{tabular}
+\bigskip
+
+\noindent
+This defines the conditional \cmd\ifxetex\ that is used in the standard way:
+
+\bigskip
+|\ifxetex|\par
+\hspace{2em}\meta{material for \XeTeX}\par
+|\else|\par
+\hspace{2em}\meta{material not for \XeTeX}\par
+|\fi|
+\bigskip
+
+\noindent
+Users of \LaTeX's \pkg{ifthen} package can also use it as |\boolean{xetex}|:
+
+\bigskip
+|\ifthenelse{ \boolean{xetex} }{|\texttt{\char`\%}\par
+\hspace{2em}\meta{material for \XeTeX}\par
+|}{|\texttt{\char`\%}\par
+\hspace{2em}\meta{material not for \XeTeX}\par
+|}|
+\bigskip
+
+\noindent
+Finally, the |\RequireXeTeX| command tests for \XeTeX\ use and
+throws an error if a different engine is being used. This is used
+for packages like \pkg{fontspec} that take advantage of \XeTeX's new
+features and cannot be used otherwise.
+
+
+\clearpage
+\parindent=0pt
+\section{Implementation}
+\DocInput{ifxetex.sty}
+
+
+\end{document}