On 5/8/2021 10:05 PM, Idris Samawi Hamid ادريس سماوي حامد wrote:
Dear gang,

Consider the following MWE (for a sequential multiple-choice exam), using some old and ugly TeX code:

=======
\setupbodyfont[schola]
\noheaderandfooterlines
\setupwhitespace[big]

\def\CHOICE#1#2{\leavevmode\vbox{\tabskip=0pt\everycr={}
                 \halign{\strut\hfil##\hfil\cr#1\cr#2\cr}}}

\starttext
(Religion * Biology * Cosmology * Physics) is part of the subject matter of World Philosophies.

(Religion * Biology * Cosmology * Physics) is part of the subject matter of World Philosophies.

(\CHOICE{1}{Religion}\ * \CHOICE{X}{Biology} *
\CHOICE{2}{Cosmology}\ * \CHOICE{X}{Physics}) is part of the subject matter of World Philosophies.
\stoptext
=======

Result is attached. Question:

What is the most elegant ConTeXt way to get the same result as the above code, with equal or better control? Thank you in advance.
you can use some old, probaly never really used,  mechanism ...

\defineruby[auto]  [align=auto,color=darkred]
\defineruby[left]  [align=flushleft,color=darkred]
\defineruby[right] [align=flushright,color=darkred]
\defineruby[spread][stretch=yes]

\setupinterlinespace[22pt]

\starttext

\startbuffer
    \dorecurse{20}{\ruby{XYZ}{a|bc|d} }\par
    \dorecurse{20}{\ruby{PQR}{p|q|r} }\par
    \dorecurse{20}{\ruby{XYZ}{1|22|333} }\par
    \dorecurse{20}{\ruby{XYZ}{111|222|333} }\par
    \dorecurse{20}{\ruby{XYZ}{foobar} }\par
    \dorecurse{20}{\ruby{XYZ}{fooledbar} }\par
    \dorecurse{20}{\ruby[spread]{XYZ}{fooledbar} }\par
    \dorecurse{20}{\ruby{extremely}{wide} }\par
    \dorecurse{20}{\ruby{wide}{extremely} }\par
 stopbuffer

\testfeatureonce{1}{\start \setupinterlinespace[16pt] \setupruby[location=none] \getbuffer \stop \page} \testfeatureonce{1}{\start \setupinterlinespace[16pt] \setupruby[location=right] \getbuffer \stop \page} \testfeatureonce{1}{\start \setupinterlinespace[28pt] \setupruby[align=auto,color=darkred] \getbuffer \stop \page} \testfeatureonce{1}{\start \setupinterlinespace[28pt] \setupruby[align=flushleft,color=darkgreen] \getbuffer \stop \page} \testfeatureonce{1}{\start \setupinterlinespace[28pt] \setupruby[align=flushright,color=darkblue] \getbuffer \stop \page} \testfeatureonce{1}{\start \setupinterlinespace[28pt] \setupruby[align=middle,color=darkyellow] \getbuffer \stop \page}

\stoptext

-----------------------------------------------------------------
                                          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
___________________________________________________________________________________

Reply via email to