# [texhax] Unexisting commands.

c.a.rowley at open.ac.uk c.a.rowley at open.ac.uk
Wed Apr 14 23:04:49 CEST 2010

```Paul

Joseph has already explained why the two tests are not identical (at least in their side-effects).

In TeX there are typically many ways to produce a certain effect, either typographical or programmatic.  Sometimes the result is completely identical but soemetimes there are subtle differences that may or may not be important in context.

Thus, even if there were an Academie de TeX to lend authority to the type of decisions for uniformity of syntax or style you see as desirable, I doubt if anyone would take much notice of it.  (Just as English users never will.)

chris

-----Paul Isambert <zappathustra at free.fr> wrote: -----

To: texhax <texhax at tug.org>
From: Paul Isambert <zappathustra at free.fr>
Date: 14/04/2010 12:33
Subject: [texhax] Unexisting commands.

Dear all,

I've stumbled on the following problem. Heiko Oberdiek uses

\expandafter\ifx\csname ProvidesPackage\endcsname\relax

in his ifluatex package, whereas Till Tantau in PGF/TikZ goes

\ifx\ProvidesPackage\@undefined

so that, if you load the former before the latter, the latter goes
wrong, since \ProvidesPackage is not undefined anymore.
Shouldn't we try to all use the same construction to test for the
existence of commands?
If we took e-TeX for granted, then \ifcsname would solve the problem.
Otherwise, we could try to have a rule according to which we should
always use one way of testing and not the other. Is that unrealistic?

Best,
Paul

_______________________________________________
TeX FAQ: http://www.tex.ac.uk/faq
Mailing list archives: http://tug.org/pipermail/texhax/