> \foo [arg] has the standard 'argument meaning' > > \foo > [Paranthetical text starts here. ... The problem is that the two are treated identically by TeX, except if catcodes have not yet been assigned, and one changes the catcode of eol or space. \showtokens {\foo [arg]} \showtokens {\foo [Parenthetical ...} both show "\foo [". As Frank said, one option would be to disable TeX's parser and do it ourselves. For instance we could read the document once, "escaping" what has to be escaped (verbatim, spaces/newlines which shouldn't be skipped...), and save the result to a file, then typeset that file. That seems like a rather daunting task, albeit feasible. Proposal: to ban trailing optional arguments entirely. Regards, Bruno