Okay. So using this example as a template, I'd like to do the following:
- define a general-purpose \loc macro that can be invoked in the main
text (i.e., outside of citations) in the usual way; this one would
correspond to \WhateverB above and would not remove punctuation preceding
the macro.
- separately define a \loctextloc macro that accepts the same input as
\loc, but conditionally removes preceding punctuation based on variables
set outside of this macro during the citation process (e.g.,
\btxsblshorthandbeforetextloc); this would correspond to \WhateverA above.
- in the macro for typesetting the loctext btx parameter, redefine \loc
to do what \loctextloc does, and then invoke \currentbtxloctext so that the
\loc invocations it contains will be expanded like \loctextloc, as follows:
\begingroup
\def\loc\loctextloc
\currentbtxloctext
\btxcomma
\endgroup
Is this a ConTeXt-friendly way to do this? I'm attempted this now, but I
have some errors to debug, and I'd like to know if this is even a feasible
direction before I continue.
Joey
On Sun, Nov 28, 2021 at 5:39 AM Hans Hagen
On 11/28/2021 2:39 AM, Joey McCollum wrote:
I was afraid that might be the problem. I've described some of the intended purpose of this code near the end of the "Checking for a macro ...
Maybe play with:
\starttext
\def\WhateverA{\removeunwantedspaces\removepunctuation\space ¶ 1.23} \def\WhateverB{¶ 1.23}
foo bar, \WhateverA\ test foo bar, \WhateverB\ test
\stoptext
so, wrap ¶ into a macro
\def\MyParSymbol{\removeunwantedspaces\removepunctuation\space ¶}
Hans
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------