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
___________________________________________________________________________________