diff options
Diffstat (limited to 'Master/texmf-doc/doc/english/FAQ-en/html/FAQ-csname.html')
-rw-r--r-- | Master/texmf-doc/doc/english/FAQ-en/html/FAQ-csname.html | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-csname.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-csname.html index 0c314c6cab9..abf7849cbbb 100644 --- a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-csname.html +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-csname.html @@ -2,8 +2,8 @@ <title>UK TeX FAQ -- question label csname</title> </head><body> <h3>Defining a macro from an argument</h3> -<p>It's common to want a command to create another command: often one -wants the new command's name to derive from an argument. LaTeX +<p>It’s common to want a command to create another command: often one +wants the new command’s name to derive from an argument. LaTeX does this all the time: for example, <code>\</code><code>newenvironment</code> creates start- and end-environment commands whose names are derived from the name of the environment command. @@ -12,8 +12,8 @@ name of the environment command. <pre> \def\relay#1#2{\def\#1{#2}} </pre> -</blockquote> -doesn't work (the TeX engine interprets it +</blockquote><p> +doesn’t work (the TeX engine interprets it as a rather strange redefinition of <code>#</code>). The trick is to use <code>\</code><code>csname</code>, which is a TeX primitive for generating command names from random text, together with <code>\</code><code>expandafter</code>. The definition @@ -24,12 +24,12 @@ above should read: \expandafter\def\csname #1\endcsname{#2}% } </pre> -</blockquote> +</blockquote><p> With this definition, <code>\</code><code>relay{blah}{bleah}</code> is equivalent to <code>\</code><code>def</code><code>\</code><code>blah{bleah}</code>. <p>Note that the definition of <code>\</code><code>relay</code> omits the braces round the -'command name' in the <code>\</code><code>newcommand</code> it executes. This is -because they're not necessary (in fact they seldom are), and in this +‘command name’ in the <code>\</code><code>newcommand</code> it executes. This is +because they’re not necessary (in fact they seldom are), and in this circumstance they make the macro code slightly more tedious. <p>The name created need not (of course) be <em>just</em> the argument: <blockquote> @@ -44,14 +44,14 @@ circumstance they make the macro code slightly more tedious. }% } </pre> -</blockquote> +</blockquote><p> With commands <blockquote> <pre> \def\start#1{\csname start#1\endcsname} \def\finish#1{\csname finish#1\endcsname} </pre> -</blockquote> -these 'races' could behave a bit like LaTeX environments. +</blockquote><p> +these ‘races’ could behave a bit like LaTeX environments. <p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=csname">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=csname</a> </body> |