On Sun, 30 Jul 2017, Henning Hraban Ramm wrote:

Am 2017-07-29 um 00:57 schrieb Aditya Mahajan <adit...@umich.edu>:

On Fri, 28 Jul 2017, Henning Hraban Ramm wrote:

Ahoi again,

I’m preparing some ConTeXt docs with a lot of examples and would like to 
reproduce what we have in the wiki as

<context source="yes">
...
</context>

i.e. sourcecode beside the result.

Often the shown source is exactly what I want to show, in other cases I need 
some additional setup that I don’t want to show.

Which approach would you suggest? Combinations?

\startbuffer[example-1]
....
\stopbuffer


\placesidebyside
   {\typebuffer[example-1]}
   {\getbuffer[setups, example-1]}


Thank you again, that should be enough for most of my small examples.
I guess I never heard of or forgot about \placesidebyside as well as 
\placeontopofeachother.

But I’d like to show a lot of similar examples to explain several options.
Therefore, if I’d like to simplify my code, but this doesn’t work:

\def\CodeExample#1{%
\startbuffer[zB]
#1
\stopbuffer
\typebuffer[zB]
\getbuffer[zB]
}

\CodeExample{\framed[frame=off,leftframe=on,rulethickness=1em,framecolor=blue]{Klotz
 am Bein}}

You can't do that with buffers. If you need to define your own macros that behave like buffers, you need to use \grabbufferdata (see buff-ini.mkiv). But in this case, there is a simpler solution:

\defineframed
  [CodeExampleFramed]
  [
    frame=off,
    width=0.5\textwidth,
    align=normal,
  ]

\definebuffer
    [CodeExample]

\define\stopCodeExample
    {\placesidebyside
        {\CodeExampleFramed{\typeCodeExample}}
        {\CodeExampleFramed{\getCodeExample}}}


\starttext
\startCodeExample
\framed
  [
    frame=off,
    leftframe=on,
    rulethickness=1em,
    framecolor=blue,
  ]{Klotz am Bein}
\stopCodeExample


\stoptext

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to