%% %% The LaTeX Companion, 3ed %% %% Example A-1-13 on page II-640 in "Testing for optional argument values or optional tokens". %% %% Copyright (C) 2022 Frank Mittelbach %% %% It may be distributed and/or modified under the conditions %% of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% %% See https://www.latex-project.org/lppl.txt for details. %% \documentclass{tlc3exa} \pagestyle{empty} \setcounter{page}{6} \setlength\textwidth{123.0pt} \setlength\parindent{0pt} %StartShownPreambleCommands \NewDocumentCommand\foo{m!o}{\par #1: \IfNoValueTF{#2}{No optional}% {\IfBlankTF{#2}{Blanks in or empty}% {Real content in}}% \space argument!} %StopShownPreambleCommands \begin{document} \foo{1}[bar] \foo{2}[ ] \foo{3}[] \foo{4}[\space] \foo{5} [x] \end{document}