[NTG-context] Extract only certain part of document (via modes)?

Wolfgang Schuster schuster.wolfgang at gmail.com
Sun Nov 6 15:03:23 CET 2016


> Mikael P. Sundqvist <mailto:mickep at gmail.com>
> 6. November 2016 um 12:51
> Dear list, and in particular Hans,
>
> I asked the same question on stackexchange before today
> (http://tex.stackexchange.com/q/337738/52406), and got the answer that
> what I want to do might not be possible.
>
> In my large document I have exercises (typeset with \startexercise
> \stopexercise, defined as an enumeration). Is it possible to use modes
> (or any other trick) to be able to compile the same file and get only
> the exercises. For example,
>
> context file.tex
>
> should give the full document, while
>
> context --mode=exercises file.tex
>
> should give only all the exercises (or just everything "in one mode")?
You can put each exercise in a block and ask Hans to add a \saveblocks 
commands
which writes the content of all exercise blocks to a external file (like 
\savebuffer lets
you save the content of a buffer in a external file).


\defineblock[exercise]
\keepblocks [exercise]

\defineenumeration[exercise][text=Exercise]

%\doifmode{exercises}{\saveblocks[exercise][exercises.tex]}

\starttext

\beginexercise
     \startexercise
         This is the first exercise.
     \stopexercise
\endexercise

\beginexercise
     \startexercise
         This is the second exercise.
     \stopexercise
\endexercise

\stoptext


The content of this saved file can then be read by another file
to get a document which contains only the exercises.


\defineenumeration[exercise][text=Exercise]

\starttext

\doiffileelse{exercise}
   {\input{exercises}}
   {{\tttf Exercise file doesn’t exist.}}

\stoptext


Wolfgang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ntg.nl/pipermail/ntg-context/attachments/20161106/37d5e0d3/attachment.html>


More information about the ntg-context mailing list