summaryrefslogtreecommitdiff
path: root/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-edef.html
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-doc/doc/english/FAQ-en/html/FAQ-edef.html')
-rw-r--r--Master/texmf-doc/doc/english/FAQ-en/html/FAQ-edef.html20
1 files changed, 20 insertions, 0 deletions
diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-edef.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-edef.html
new file mode 100644
index 00000000000..133d217bc84
--- /dev/null
+++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-edef.html
@@ -0,0 +1,20 @@
+<head>
+<title>UK TeX FAQ -- question label edef</title>
+</head><body>
+<h3><code>\</code><code>edef</code> does not work with <code>\</code><code>protect</code></h3>
+<p>Robust LaTeX commands are either "naturally robust" - meaning that
+they never need <code>\</code><code>protect</code>, or "self-protected" - meaning that
+they have <code>\</code><code>protect</code> built in to their definition in some
+way. Self-protected commands are robust only in a context where the
+<code>\</code><code>protect</code> mechanism is properly handled. The body of an
+<code>\</code><code>edef</code> definition doesn't handle <code>\</code><code>protect</code> properly, since
+<code>\</code><code>edef</code> is a TeX primitive rather than a LaTeX command.
+<p>This problem is resolved by a LaTeX internal command
+<code>\</code><code>protected@edef</code>, which does the job of <code>\</code><code>edef</code> while keeping the
+<code>\</code><code>protect</code> mechanism working. There's a corresponding
+<code>\</code><code>protected@xdef</code> which does the job of <code>\</code><code>xdef</code>.
+<p>Of course, these commands need to be tended carefully, since they're
+
+internal: see <a href="FAQ-atsigns.html">'@' in control sequence names</a>.
+<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=edef">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=edef</a>
+</body>