You have referred to a parameter (argument)
number that is greater than the number of parameters
you have specified. For example, suppose you defined the command to
have only one parameter, then you can't use #2
which refers to the second, non-existent, parameter. Remember that
you need to specify how many parameters you want in the
optional argument to
\newcommand, otherwise it will be assumed
that the command has no arguments.
This book is also available as A4 PDF or 12.8cm x 9.6cm PDF or paperback (ISBN 978-1-909440-00-5).