diff options
author | Karl Berry <karl@freefriends.org> | 2013-01-09 00:40:33 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-01-09 00:40:33 +0000 |
commit | 213cf08b49d08cde4318dc8fe31f37d3a2153787 (patch) | |
tree | 5ae0440a8c8a657cce3707a42167c3dc22167a4f /Master/texmf-dist/doc | |
parent | 3fc740c854c4e76d5598f6e6f398334d8de7be1a (diff) |
multiexpand (8jan13)
git-svn-id: svn://tug.org/texlive/trunk@28768 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r-- | Master/texmf-dist/doc/latex/multiexpand/README | 39 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/multiexpand/multiexpand.pdf | bin | 0 -> 284328 bytes |
2 files changed, 39 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/multiexpand/README b/Master/texmf-dist/doc/latex/multiexpand/README new file mode 100644 index 00000000000..062ceda37ba --- /dev/null +++ b/Master/texmf-dist/doc/latex/multiexpand/README @@ -0,0 +1,39 @@ +Variations on the `\expandafter` TeX primitive +============================================== +* E-mail: blflatex@gmail.com +* Released under the LaTeX Project Public License v1.3c or later + See http://www.latex-project.org/lppl.txt + +Every TeX programmer knows `\expandafter`, and how messy it can become +when trying to expand several times a very deeply hidden token. For +example, say we want to expand `\C` four times before `\A` and `\B` in +`\A\B\C`. The traditional approach would be to insert 15 `\expandafter` +before `\A` and the same number before `\B`. This package allows the two +simpler codes + + \expandafter\A\expandafter\B\romannumeral\multiexpand{4}\C + +or + + \expandafter\A\romannumeral\multiexpandafter{4}\B\C + +In one step of expansion (triggered by the `\expandafter`'s), the +sequence `\romannumeral\multiexpand{4}` expands the following token 4 +times, whereas `\romannumeral\multiexpandafter{4}` expands the token +after that 4 times. + +The code behaves with braces as `\expandafter` would. Another example is + + \MultiExpandAfter{2}\a\MultiExpandAfter{3}{% + \MultiExpandAfter{10}\b\MultiExpandAfter{10}\c\d}, + +which expands `\d` 10 times, then `\c` 8 times, then `\b` once. +The whole process will only take two steps of expansion. + +The package can be built from the file `multiexpand.dtx' by running + + pdflatex multiexpand.dtx + pdflatex multiexpand.dtx + pdflatex multiexpand-example.tex + +The last step is optional: it runs a series of tests. diff --git a/Master/texmf-dist/doc/latex/multiexpand/multiexpand.pdf b/Master/texmf-dist/doc/latex/multiexpand/multiexpand.pdf Binary files differnew file mode 100644 index 00000000000..b6b2599f27a --- /dev/null +++ b/Master/texmf-dist/doc/latex/multiexpand/multiexpand.pdf |