On Sun, 14 Feb 2021, Jigé wrote: > Hi all. > > I'm trying to place a TikZ picture in the margin. > Here is a small example: > > \usemodule[tikz] > \setuplayout[backspace=4cm, topspace=2cm, height=middle] > \starttext > \input{lorem} > \margintext{I have discovered a truly >             marvelous proof ...  but >             this margin is too narrow >             to contain it.} > \input{lorem} > \inmargin{\externalfigure[cow] [width=\marginwidth]} > % The above works. > % The following does not: > \input{lorem} > \inmargin{ > \starttikzpicture >   \draw[gray] (-2,0) grid (2,2) ; >   \draw plot [domain=-2:2, samples=50, smooth] (\x,{\x * \x}); > \stoptikzpicture > } > \stoptext > > -> Undefined control sequence Most likely because the argument of \inmargin is scanned upfront and at that time \draw etc are undefined. One option is: \startbuffer[picture] \starttikzpicture ... \stoptikzpicture \stopbuffer \inmargin{\getbuffer[picture]} Another option (but better to do that in tikz module) is: \let\draw\relax \let\x\relax \inmargin{\starttikzpicture ... \stoptikzpicture} > Actually the command \startmarginblock ... \stop... described in the ConText reference works with a TikZ picture. Because the \start ... \stop blocks don't scan the argument. Aditya