Hi Aditya,
Many thanks; see below:
On Tue, 16 Nov 2021 17:23:59 -0700, Aditya Mahajan via ntg-context
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