I'm writing my first package, and I'm trying to work out how to create a new command with an optional final argument. In this instance, if an argument is omitted, it defaults to blank. This is problematic because it assumes that the two arguments passed in this case are #2 and #3.
\newcommand{\sfsx}[3][]{\wrapper{#1}{#2}{#3}}
Unfortunately, I would like it the other way around, where if only two arguments are given, they are assumed to be #1 and #2. Is there a simple way to do this that doesn't invoke other packages?
(\wrapper in this case is just another command that takes on various forms depending on package options).