On Wed, Aug 10, 2022 at 04:44:17PM +0100, Gavin Smith wrote:
> 
> I don't see any hope of fixing this, so we have to do more protection,
> perhaps outputting something like \texttt{a :\ b} instead of \texttt{a : b}.

The regexp you used misses the case of a punctuation at the end of a
text element, followed by space in the next element, which happens in
@def* arguments because the argument is 'parsed' and split in little
bits of text with specific types.  I haven't checked, but a construct
like the following may also be missed, although it depends on what LaTeX
does in such a context:

@code{@var{?} a}.

Maybe also protect the first leading space in code context?  Would that
be too 'invasive'?  Otherwise, it could also be possible to get the
@def* arguments without the parsing, or treat especially the parsed
arguments based on {'extra'}->{'def_role'} eq 'spaces' but it seems less
robust to me as could miss other cases where the punctuation and the
space are not in the same element.

-- 
Pat

Reply via email to