Jairo A. del Rio schrieb am 22.01.2021 um 23:14:
> How strange. I guess you don't have your modules installed. In such a
> case, you could install them from modules.contextgarden.net
> <http://modules.contextgarden.net> and put content under texmf-modules
> so after mtxrun --generate and context --make examples work.
The core function of the annotation module (custom environment
with key-val-arguments) is part of ConTeXt but it doesn't create
new environment commands.
\defineuserdata
[zzz]
[alternative=zzz,
after={\blank[10mm]}]
\defineuserdataalternative[zzz][renderingsetup=userdata:zzz]
\startsetups[userdata:zzz]
\hrule
\doifsomething{\userdataparameter{title}}
{\bold{\strut\userdataparameter{title}}
\blank}
\strut\getuserdata
\stopsetups
\starttext
\startuserdata[zzz]
\input weisman
\stopuserdata
\startuserdata[zzz][title=Ward]
\input ward
\stopuserdata
\stoptext
> Another possibility is to use \do...empty and such, but it feels odd
> when a module for that is already available.
No \do...empty (LMTX only):
\tolerant\protected\def\startzzz#=%
{\hrule
\doifsomething{#1}{\bold{\strut#1}\blank}}
\protected\def\stopzzz
{\blank[10mm]}
\starttext
\startzzz
\input weisman
\stopzzz
\startzzz{Ward}
\input ward
\stopzzz
A nicer way to go, indeed.
\stoptext
Wolfgang
Jairo