On 10/9/20 4:08 PM, Wolfgang Schuster wrote:
[..] You need a % at the end of the definition, otherwise TeX expects a space after the second argument to end the command.
\unexpanded\def\startswith[#1][#2]% {...}
Many thanks for your ultra-fast reply, Wolfgang. Now I see muy mistake. In my previous command definitions with two arguments, the opening brace was right after the second argument.
To improve your command and allow a space between both arguments you can use
\unexpanded\def\startswith {\dodoubleargument\dostartswith}
\def\dostartswith[#1][#2]% {...}
Now I see with \dosingleargument, \dodoubleargument and \dotripleargument are there. Which are the improvements to the command added by \do*argument?
or just add a dummy parameter and use #1 and #3 to pass the arguments
\unexpanded\def\startswith[#1]#2[#3]% {...}
This is shorter, but it looks to creepy (even for my code). Many thanks for your help, Pablo -- http://www.ousia.tk