summaryrefslogtreecommitdiff
path: root/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-csname.html
diff options
context:
space:
mode:
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.html20
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&rsquo;s common to want a command to create another command: often one
+wants the new command&rsquo;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&rsquo;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
+&lsquo;command name&rsquo; in the <code>\</code><code>newcommand</code> it executes. This is
+because they&rsquo;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 &lsquo;races&rsquo; 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>