Starred LaTeX Commands Suck Bob Rubbens Any time I run into a LaTeX command that I don’t know yet, and it’s starred, I can never tell. What do they do??? For some commands, it kind of makes sense. For example, when using \subsection*, the numbering is hidden. I think most people run into this one pretty quickly, as it’s easy to just try it and immediately see the difference. However, they’re not all so easy to figure out. Consider these examples: - \begin{figure*}: makes the figure wide (from the kaobook template). - \begin{center*}: reduce whitespace around the centered area (one from my personal library of LaTeX macros). - \DeclareMathOperator*: ensures limits are typeset above/below instead of to the side. - \usebeamercolor*: sets the colors to the “default” color first in case the new color does not have one of the bg/fg components defined. Here’s my, probably unoriginal, suggestion. Why not just use an optional keyword argument? Or at least a one-letter flag instead of a star. For example, for each of the use cases above, I suggest the following one-letter flag: - \subsection[u] for unnumbered - \begin{figure}[w] for wide - \begin{center}[n] for narrow - \DeclareMathOperator[b] for below, or c for center. - \usebeamercolor, because the starred version sounds like the most sane default behaviour to me. \usebeamercolor[s] could be the opt-out flag for making the old colors sticky. Here’s an example of a package that does it right. In the command \qrcode, the starred version is identical to [nolink]. Love it! I know it’s impossible to change all the starred commands that are already there. But maybe for the new ones we can have the more verbose style. After all, code is read more often than it is written. Or why not have both a starred version of a command for a certain blessed option that’s frequently used, and then the non-blessed options just get assigned a nice keyword argument. Best of both worlds![1] [1] I have no data to back this up, so it might actually already be the case that most LaTeX library authors are doing this. However, based on my own experience and gut feeling, usually starred commands do not have a keyword that activates the starred effect.