diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-hash.html')
-rw-r--r-- | Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-hash.html | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-hash.html b/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-hash.html index 0d74b368834..d629cb51e15 100644 --- a/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-hash.html +++ b/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-hash.html @@ -3,21 +3,21 @@ </head><body> <h3>Defining macros within macros</h3> <p/>The way to think of this is that <code>##</code> gets replaced by <code>#</code> in just the -same way that <code>#1</code> gets replaced by ‘whatever is the first argument’. +same way that <code>#1</code> gets replaced by ‘whatever is the first argument’. <p/>So if you define a macro and use it as: <blockquote> <pre> \def\a#1{+++#1+++#1+++#1+++} \a{b} </pre> </blockquote><p> -the macro expansion produces ‘+++b+++b+++b+++’, +the macro expansion produces ‘+++b+++b+++b+++’, which people find normal. However, if we now replace part of the macro: <blockquote> <pre> \def\a#1{+++#1+++\def\x #1{xxx#1}} </pre> </blockquote><p> -<code>\</code><code>a{b}</code> will expand to ‘+++b+++<code>\def\x b{xxxb}</code>’. This +<code>\</code><code>a{b}</code> will expand to ‘+++b+++<code>\def\x b{xxxb}</code>’. This defines <code>\</code><code>x</code> to be a macro <em>delimited</em> by <code>b</code>, and taking no arguments, which people may find strange, even though it is just a specialisation of the example above. If you want <code>\</code><code>a</code> to @@ -28,7 +28,7 @@ define <code>\</code><code>x</code> to be a macro with one argument, you need to </pre> </blockquote><p> and <code>\</code><code>a{b</code>} will expand to -‘+++b+++<code>\def\x #1{xxx#1}</code>’, because <code>#1</code> gets replaced by ‘b’ +‘+++b+++<code>\def\x #1{xxx#1}</code>’, because <code>#1</code> gets replaced by ‘b’ and <code>##</code> gets replaced by <code>#</code>. <p/>To nest a definition inside a definition inside a definition then you need <code>####1</code>, as at each stage <code>##</code> is replaced by |