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.

Furthermore, each mode is unique and there is apparently no inheritance/continuance.

So using this method appears to be quite unwieldy for book-length projects. What is needed is something like this

\startmode[abridged]
\input knuth

\startmode[unabridged]
\startblockquote
\input ward
\stopblockquote
\stopmode

\input zapf
\stopmode

That is not supported, so need to find another method - assuming there even is one. Otherwise will have to consider XML authoring and process the selected tags in ConTeXt..

Best wishes
Idris
--
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80512
___________________________________________________________________________________
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
              • ... Idris Samawi Hamid ادريس سماوي حامد 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