Macro invocations has one of the forms
which is a macro invocation without any arguments, or
name(arg1, arg2, …, argn)
which is a macro invocation with n arguments. Macros can have any number of arguments. All arguments are strings, but different macros might interpret the arguments in different ways.
The opening parenthesis must follow the name directly, with no spaces in between. If it does not, the macro is called with no arguments at all.
For a macro call to have no arguments, the parentheses must be left out. The macro call
is a macro call with one argument, which is the empty string, not a call with no arguments.