Denis Maier via ntg-context schrieb am 15.01.2022 um 13:04:
Hi all,
I have sources that look like this:
%%%%%%%%%%%%%%%%%%%%%
<?xml version="1.0" encoding="UTF-8"?>
<article>
<p>Bla Bla Bla</p>
<p>
<underline>
<italic>Bla</italic>
</underline>, Bla Bla.</p>
</article>
%%%%%%%%%%%%%%%%%%%%%
Typesetting this with context gives me a spurious space after the underlined Bla in italics.
There is no spurious space, the line break is just converted to a space and I see no reason why this shouldn't happen. To remove space before or after certain parts of text within a paragraph you can use the \removeunwantedspace and \ignorespaces commands. %%%% begin example \starttexdefinition RemovePreceding #1 \removeunwantedspaces #1 \stoptexdefinition \starttexdefinition RemoveFollowing #1 #1 \ignorespaces \stoptexdefinition \starttext Bla \RemovePreceding{Bla} Bla Bla \RemoveFollowing{Bla} Bla \stoptext %%%% end example When only following spaces are a problem a better alternative to \ignorespace is \autoinsertnextspace which checks the following token which ensures there is space when the next character is punctuation. %%%% begin example \starttexdefinition Italic #1 \emphasized{#1} \autoinsertnextspace \stoptexdefinition \starttexdefinition Underbar #1 \underbar{#1} \stoptexdefinition \starttext Bla Bla Bla \Underbar{\Italic{Bla} , Bla Bla.} \stoptext %%%% end example Wolfgang