By default, arguments can be given only once.
However, arguments with the
multiple
macro argument property set to true
can be given multiple times, and each time the argument is given, the new value is appended to a list containing all the values.An example is the
\H
tag
argument.Internally, multiple is implemented by creating a new level in the abstract syntax tree, and storing each argument separately under a newly generated dummy nodes as in:
AstNode: H
AstArgument: child
AstNode: Comment
AstArgument: content
AstNode: plaintext
AstNode: x
AstNode: Comment
AstArgument: content
AstNode: plaintext
AstNode: x