# [XeTeX] ifxetex package

Will Robertson wspr81 at gmail.com
Mon Jun 19 10:34:41 CEST 2006

On 6/19/06, Ross Moore <ross at ics.mq.edu.au> wrote:

>   ... clearly I've not bitten that particular bullet yet
> --- I don't like the taste of lead ...
>     ... or depleted uranium.    :-)

:)

> If \XeTeXversion  isn't defined, so that it begets \relax
>   thereby \ifx returns \iftrue , then is there any point
> in reading further through the file ?

Ah, I see how you meant now. Maybe it would be good to add a couple of
features like this to the ifxetex package. There could be something
like
\def\endunlessxetex{\unless\ifxetex\expandafter\endinput\fi}

(At uni, therefore untested. Not sure if that \expandafter is
required, but it seemed like the right thing to do at the time to keep
things tidy even if it doesn't make a difference in execution.) An
optional argument to write a message would also be a good idea.

> This then allows an author to write documents that can
> be compiled with different processors, allowing blocks:
>
> \ifxetex ... \else ... \fi
>
> to do the correct thing according to the typesetting

Yes, this sort of feature is more useful for document writers.

> Surely the purpose is more for when XeTeX is *not* the engine
> --- hence it may not be e-TeX based either ---
> than for when it *is* the engine.

Yes, it's for error checking and conditionals when XeTeX ain't being used.
However, bearing that in mind I *still* think that any engine running
this package will still have eTeX extensions -- I mean, sure, it's
possible that someone will be using Knuth's TeX, but I think the
chances are fairly small.

It's a bit of a philosophical problem: what's the point in these nice
eTeX extensions if they're never used for backwards compatibility
concerns? Still, I'd be willing to change my mind since this is a
fairly extreme case.

Regards,

Will