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
___________________________________________________________________________________