On 11/17/2021 6:56 PM, Aditya Mahajan via ntg-context wrote:
On Tue, 16 Nov 2021, Idris Samawi Hamid ادريس سماوي حامد wrote:

Hi Aditya,

Many thanks; see below:

On Tue, 16 Nov 2021 17:23:59 -0700, Aditya Mahajan via ntg-context
<ntg-context@ntg.nl> wrote:

On Tue, 16 Nov 2021, Idris Samawi Hamid ادريس سماوي حامد via ntg-context
wrote:

Dear gang,

For creating/authoring content in ConTeXt: Can modes or the like be used
for content control? For example, someone wants to write at least two
versions of a book managed from a single file. So, e.g., we may have

a) abridged content
b) unabridged content - includes a)
c) abridged content + translation
d) unabridged content + translation
[:]

One can author and organize this in XML - pre-ConteXt - but perhaps one
prefers to write in ConTeXt (take advantage of shortcuts etc.). So maybe

\defineparagraphs[unabridged]
\defineparagraphs[abridged]
\defineparagraphs[translation]

Then one authors the complete work in a single project, but you can
produce a variety of versions, depending on the mode chosen:

\definemode[unabridged]
etc.

Can one do this in context?

Yes!

This is what I do (for solutions in homework assignments):

\definebuffer[solution][local=yes,nested=yes]

\startmode[solution]
\defineenumeration[solution][....fancy setup...]
\stopmode

Then, in the main tex file:

....
\startsolution
...
\stopsolution
....

By default, gives the version without solution. Compile with --mode=solution
to get the version with solution. The same thing should work in your case by
defining two modes: unabridged and translation. And then use
--mode=unabridged,translate etc to get multiple modes.

Here's a working sample:

=======
% \definebuffer[unabridged]
% \definebuffer[abridged]

\setupwhitespace[big]

\starttext
\startmode[unabridged]
\input knuth

\startblockquote
\input ward
\stopblockquote

% \startmode[abridged]
% \input knuth
% \stopmode
\stopmode

\startmode[abridged]
\input knuth
\stopmode

% \startmode[abridged]
% \input zapf
% \stopmode
\stoptext
=======

Unfortunately - as pointed out on the wiki - modes cannot be nested.

But you don't have to directly use the modes. The following will work:

\definestartstop[abridged]

% By default, don't show the unabridged text
\definebuffer[unabridged][local=yes, nested=yes]

\startmode[unabridged]
% In the unabridged mode, show the abridged text
\definestartstop[unabridged]
\stopmode

\starttext
\startabridged
\input knuth

\startunabridged
\startblockquote
\input ward
\stopblockquote
\stopunabridged

\input zapf
\stopabridged

Blocks are a better mechanism, but I still prefer modes here because I find the 
\beginblock ... \endblock syntax to be a bit awkward in a context document.
it also depends on usage ... you can have blocks and delay them or reuse them or call them up later etc .. so you can code answers with questions and then call them up in an appendix


-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
       tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
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
___________________________________________________________________________________
  • [NTG-con... Idris Samawi Hamid ادريس سماوي حامد via ntg-context
    • Re:... Aditya Mahajan via ntg-context
      • ... Idris Samawi Hamid ادريس سماوي حامد via ntg-context
        • ... Henning Hraban Ramm via ntg-context
          • ... Idris Samawi Hamid ادريس سماوي حامد via ntg-context
            • ... Taco Hoekwater via ntg-context
            • ... Henning Hraban Ramm via ntg-context
        • ... Aditya Mahajan via ntg-context
          • ... Hans Hagen via ntg-context
            • ... Idris Samawi Hamid ادريس سماوي حامد via ntg-context
          • ... Idris Samawi Hamid ادريس سماوي حامد via ntg-context
    • Re:... Hans Hagen via ntg-context

Reply via email to