diff options
Diffstat (limited to 'Master/texmf-doc/doc/english/FAQ-en/html/FAQ-isdef.html')
-rw-r--r-- | Master/texmf-doc/doc/english/FAQ-en/html/FAQ-isdef.html | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-isdef.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-isdef.html index bfca87b02fc..beb30d35535 100644 --- a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-isdef.html +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-isdef.html @@ -2,7 +2,7 @@ <title>UK TeX FAQ -- question label isdef</title> </head><body> <h3>Is this command defined?</h3> -<p>Macro sets from the earliest days of TeX programming may be +<p/>Macro sets from the earliest days of TeX programming may be observed to test whether commands exist by using <blockquote> <code>\</code><code>ifx</code> csx<code><em>command</em></code> <code>\</code><code>undefined</code> <<i>stuff</i>> ... @@ -15,7 +15,7 @@ exist). LaTeX programmers can make use of the internal command which executes <code>action1</code> if the command is undefined, and <code>action2</code> if it is defined (<em>cmd name</em> is the command name only, omitting the ‘<code>\</code>’ character). -<p>The <code>\</code><code>@ifundefined</code> command is based on the sequence +<p/>The <code>\</code><code>@ifundefined</code> command is based on the sequence <blockquote> <pre> @@ -24,21 +24,21 @@ which executes <code>action1</code> if the command is undefined, and </blockquote><p> which relies on the way <code>\</code><code>csname</code> works: if the command doesn’t exist, it simply creates it as an alias for <code>\</code><code>relax</code>. -<p>So: what is wrong with these techniques? -<p>Using <code>\</code><code>undefined</code> blithely assumes that the command is indeed not +<p/>So: what is wrong with these techniques? +<p/>Using <code>\</code><code>undefined</code> blithely assumes that the command is indeed not defined. This isn’t entirely safe; one could make the name more improbable, but that may simply make it more difficult to spot a problem when things go wrong. LaTeX programmers who use the technique will typically employ <code>\</code><code>@undefined</code>, adding a single level of obscurity. -<p>The <code>\</code><code>@ifundefined</code> mechanism has the unfortunate property of +<p/>The <code>\</code><code>@ifundefined</code> mechanism has the unfortunate property of polluting the name space: each test that turns out undefined adds a name to the set TeX is holding, and often all those “<code>\</code><code>relax</code>” names serve no purpose whatever. Even so (sadly) there are places in the code of LaTeX where the existence of the <code>\</code><code>relax</code> is relied upon, after the test, so we can’t get away from <code>\</code><code>@ifundefined</code> altogether. -<p>David Kastrup offers the (rather tricky) +<p/>David Kastrup offers the (rather tricky) <blockquote> <pre> {\expandafter}\expandafter\ifx \csname cmd name\endcsname\relax ... @@ -48,7 +48,7 @@ altogether. which “creates” the <code>\</code><code>relax</code>-command inside the group of the first <code>\</code><code>expandafter</code>, therefore forgets it again once the test is done. The test is about as good as you can do with macros. -<p>The <a href="FAQ-etex.html">e-TeX system</a> system comes to our help here: it +<p/>The <a href="FAQ-etex.html">e-TeX system</a> system comes to our help here: it defines two new primitives: <ul> <li> <code>\</code><code>ifdefined</code>, which tests whether a thing is defined (the @@ -79,8 +79,8 @@ However, after using the LaTeX command as “existing” (since it has been <code>\</code><code>let</code> to <code>\</code><code>relax</code>); so it is important not to mix mechanisms for detecting the state of a command. -<p>Since most distributions nowadays use e-TeX as their base executable +<p/>Since most distributions nowadays use e-TeX as their base executable for most packages, these two primitives may be expected appear widely in new macro packages. -<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=isdef">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=isdef</a> +<p/><p/><p/><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=isdef">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=isdef</a> </body> |