summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-01-09 00:40:33 +0000
committerKarl Berry <karl@freefriends.org>2013-01-09 00:40:33 +0000
commit213cf08b49d08cde4318dc8fe31f37d3a2153787 (patch)
tree5ae0440a8c8a657cce3707a42167c3dc22167a4f /Master/texmf-dist/doc
parent3fc740c854c4e76d5598f6e6f398334d8de7be1a (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/README39
-rw-r--r--Master/texmf-dist/doc/latex/multiexpand/multiexpand.pdfbin0 -> 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
new file mode 100644
index 00000000000..b6b2599f27a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/multiexpand/multiexpand.pdf
Binary files differ