From: Aditya Mahajan <adityam@umich.edu>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: [OT] ASCII text output
Date: Wed, 17 Feb 2010 14:27:53 -0500 (EST) [thread overview]
Message-ID: <alpine.LNX.2.01.1002171417410.23665@ybpnyubfg.ybpnyqbznva> (raw)
In-Reply-To: <y65iq9wg6vo.fsf@perthite.esd.mun.ca>
Hi Roger,
On Tue, 16 Feb 2010, Roger Mason wrote:
> Aditya Mahajan <adityam@umich.edu> writes:
>
>> On Tue, 16 Feb 2010, Roger Mason wrote:
>>
>>> I need to convert an exam written in ConTeXt to an ascii text file like
>>> the following:
>>>
>>>
>>> Before I go to the trouble of creating a parser to read the ConTeXt
>>> input and write the desired output I'm wondering if this can be done
>>> with ConTeXt itself.
>>
>> Can you show a small example of the corresponding tex source?
>
> \def\mcquestionnumber{14}
>
>
> \mcquestionheader A ruby is a gem of corundum coloured by\crlf
> {$A$}: Rutile\crlf{$B$}: Calcium (Ca)\crlf{$C$}: Chromium (Cr)\crlf{$D$}: Iron (Fe) and Titanium (Ti)\crlf
>
> \mcquestionfooter
If you are willing to add more markup, then TeX can do the parsing for
you.
\startquestion[title={Ruby coloured by}, points=1, difficulty=1]
A ruby is a gem of corundum colored
\startoptions
\option Rutile
\option Calcium
\correctoption Chrumium
\option Iron and Titanium
\stopoptions
\starthint
....
\stophint
\startfeedback
...
\stopfeedback
\stopquestion
You can create a mode for ascii output that redefines all the environments
to *typeset* the correct output, which you can then convert to text using
pdftotext.
Another option is to write everything in XML (it is almost the same ...)
<question title="...", points=...., difficulty=...>
<text> A ruby .. </text>
<options>
<option> ... </option>
<option> ... </option>
<option correct="yes"> ... </option>
<option> ... </option>
</option>
<hint>
....
</hint>
<feedback>
...
</feedback>
</question>
With a few setup commands, ConTeXt can directly typeset an xml file.
Parsing the xml file to generate ascii text can be done using your
favourite programming language (or using ConTeXt by typesetting the
desired output and using pdftotext).
> And the desired output is...
>
> NewQuestion,MC,
> Title,Ruby coloured by,
> QuestionText,A ruby is a gem of corundum coloured by
> Points,1,
> Difficulty,1,
> Image,,
> Option,0,Rutile,,
> Option,0,Calcium (Ca),,
> Option,100,Chromium (Cr),,
> Option,0,Iron (Fe) and Titanium (Ti),,
> Hint,,,,
> Feedback,,,,
>
> Maybe a regexp would do, followed by a bit of hand editing, but if there
> is a way of doing this in ConTeXt that would be very convenient.
If this is something that you need to do only a few types, anything quick
and dirty will suffice. But for the long run it makes sense to have a more
detailed markup and then you do not need to worry about the correctness of
the conversion.
Aditya
___________________________________________________________________________________
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://tex.aanhet.net
archive : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________
next prev parent reply other threads:[~2010-02-17 19:27 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-16 15:49 Roger Mason
2010-02-16 20:25 ` Aditya Mahajan
2010-02-16 22:20 ` Roger Mason
2010-02-17 19:27 ` Aditya Mahajan [this message]
2010-02-18 13:49 ` Roger Mason
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.LNX.2.01.1002171417410.23665@ybpnyubfg.ybpnyqbznva \
--to=adityam@umich.edu \
--cc=ntg-context@ntg.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).