Hi Pablo, > \showframe > \setupinteraction[state=start] > \starttext > \startbuffer[abc] > def foo(x): > if x == 0: > bar() > else: > baz(x) > foo(x - 1) > \stopbuffer > \comment[location=leftmargin, > space=yes, > buffer=abc, > title={Python code}] > {}\typebuffer[abc] > \stoptext > > This might solve what you need. At least, this is the approach that I > use to provide text that can be directly copied. > > I'm on Linux and last time I tested on Windows there were extra lines in > the comments. That's actually something I had never thought of, using PDF comments, thanks!. It's a really nice approach, though weirdly it doesn't work on Okular (Linux+KDE) for me, even though attachments worked fine. I'll try and see why that is. What I had in mind was rather the following: \starttext \starttyping[space=on] def foo(x): y = bar(x) if y: return x return y foo(1) \stoptyping \stoptext but with ordinary char32 spaces rather than \textcontrolspace characters. Best regards,