Henri Menke mailto:henrimenke@gmail.com 30. Januar 2018 um 21:46 On Tue, 2018-01-30 at 21:24 +0100, Wolfgang Schuster wrote:
Henri Menke 30. Januar 2018 um 21:12 On Tue, 2018-01-30 at 11:58 +0100, Hans Hagen wrote:
On 01/30/2018 09:17 PM, Hans Hagen wrote:
On 1/30/2018 2:54 AM, Henri Menke wrote: > Dear list, > > the title says it all. Please add \ignorespaces in a place you deem > appropriate. MWE is below. sometimes you will also add \removeuwantedspaces in the stop I'm confused. Does that mean there is going to be a fix? no, why should there be? spaces are never ignored after the last [...]
On 1/30/2018 11:34 AM, Henri Menke wrote: that is checked for unless a command has an explicit \ignorespaces I'm not convinced. Both "before" and "commands" see a \relax and therefore \ignorespaces is dropped. I can put \removeunwantedspaces there but that deletes the space before \start. The \framed command correctly drops the space after the options.
---
\definestartstop [spurious space a] [before=\ignorespaces, after=\removeunwantedspaces]
\definestartstop [spurious space b] [before=\removeunwantedspaces, after=\removeunwantedspaces]
\starttext
Hello Foo Bar World
Hello \start[spurious space a] Foo Bar \stop\ World % ^^^ neither space ^^^ is skipped
Hello \start[spurious space b] Foo Bar \stop\ World % ^^^ skips this space ^^^ instead of this
Hello \startframed[offset=overlay] Foo Bar \stopframed\ World % That's the behaviour I'm looking for.
\stoptext
You assume \start[<...>] ... \stop is linked to \definestartstop but this isn’t the case, what the environment does is to generate a start-command with the argument but this works for every environment, e.g. \start[itemize] ... \stop does the same as \startitemize ... \stopitemize.
I'm not asking to add \ignorespaces to the definition of \start. I'm rather asking, where I have to but \ignorespaces in the setup to eat the space after the options I pass to \start.
Why do use insinst on the use of \start, when you create a new command/environment with \definestartstop you get additional commands for the instance where the space at the begin of the environment are gobbled. \definestartstop[Highlight][style=italic,color=red] \starttext Text \Highlight{Text} Text \blank \input ward\par \startHighlight \input ward \stopHighlight \input ward \stoptext To answer your question where you can add \ignorespace, there is no way to add it. Wolfgang