From 58fcad95a788cedbd0ccb770e069dbabde18e185 Mon Sep 17 00:00:00 2001 From: Manuel Pégourié-Gonnard Date: Thu, 2 Oct 2008 22:52:57 +0000 Subject: ifxetex 2008/09/30 git-svn-id: svn://tug.org/texlive/trunk@10831 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/source/generic/ifxetex/ifxetex.ins | 4 + .../texmf-dist/source/generic/ifxetex/ifxetex.tex | 194 +++++++++++++++++++++ 2 files changed, 198 insertions(+) create mode 100644 Master/texmf-dist/source/generic/ifxetex/ifxetex.ins create mode 100644 Master/texmf-dist/source/generic/ifxetex/ifxetex.tex (limited to 'Master/texmf-dist/source/generic/ifxetex') 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 +% +% 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} -- cgit v1.2.3