Am 07.06.2012 10:15, schrieb Lars Hellström: >>> Other approaches I would find preferable to %<@@=foo> is to use >>> %%% lines (as an homage to mft) or explicit commands in the .ins >>> file; after all, most source files don't contain code for >>> multiple l3-modules. >> >> To be honest I don't like that much but perhaps this is something >> one just needs getting used to. > > Note that these are "/other/ possibilities I would actually find > preferable to assignment-guards"; you snipped my preferred realm of > solution without comment. sorry that was after midnight. You mean > FWIW, an alternative way of embedding extra directives into a .dtx > file that I have in production is to designate a specific docstrip > module as containing code that is directives for the stripper. If one > picks the very crude syntax for "directives" that each codeline in > the @@ module sets the current @@ replacement then the above could > become > > %<@@>foo > %<*pkg> > \@@_function:nn % Will be converted to \__foo_function:nn > \l_@@_variable_tl % Will be converted to \l__foo_variable_tl > %</pkg> Maybe I still don't quite understand directives but %<@@>foo doesn't really look much different to %<@@=foo> except that I think it is less readable but mileage may vary Perhaps you can expand on that once more? thanks frank