# Re: [NTG-context] mkiv: append to buffer

On Sat, 18 Dec 2010, Thomas Schmitz wrote:


i guess this is easy, but I can't find an example to help
me: I want to write a macro that will collect one of its

arguments in a buffer and then collect the other argument in a buffer. Difficult to make a minimal example since I don't know how to do this, so here is some pseudo-code; this is what I want to achieve:

\definebuffer[MyBuffer]

\def\MyGreatMacro#1#2#3%
{\item[#1] #2 \par
\appendtobuffer{MyBuffer}{\in[#1] #3}}

\starttext
\startitemize
\MyGreatMacro{1}{aa}{AA}
\MyGreatMacro{2}{bb}{BB}
\stopitemize

\page
\getbuffer[MyBuffer]
\resetbuffer[MyBuffer] % so I can reuse the buffer
\stoptext


What I want to do with this is typeset exercises for my students, with an itemization for problems and solutions which use the same numbering. In real life, this will involve xml, but I will try and figure that out myself once I know how to use buffers...


It looks like buffers.collectcontent should be able to do this, but I can't figure out how to use it. Any pointers? Thanks a lot!


I am not sure what you want to do, and why you want to use buffers. Wont a simple token list work?

% Define a token list
\newtoks\mytoks

% Append to a token list
\appendtoks \in[#1] #3  \to\mytoks

% Recall a token list
\the\mytoks

% Reset a token list
\mytoks\emptytoks

For repeating question and answers, there is also blocks.