ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Florian Leupold <fleupold@posteo.net>
To: ntg-context@ntg.nl
Subject: Creating cloze texts
Date: Fri, 2 Sep 2016 15:27:06 +0200	[thread overview]
Message-ID: <4D526451-1694-4251-8D73-B07F7540A5DC@posteo.net> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 2073 bytes --]

Dear list,

I would like to create cloze texts for my students with ConTeXt.

Ideally, I would have a command \cloze[<width>]{<solution>} with the following functionality:

1) \cloze{<solution>} would insert an underlined gap in the text with a width of (say) 1.3 times the width of solution and puts the solution on top of it with centered alignment. I will then color the text read if the mode is ‘teacher’ and in white if not.
2) \cloze[<width>]{<solution>} would do the same, but with a fixed width of the underline. The solution should then be flush left, maybe with a horizontal space of \quad.
3) The underline should allow for line breaks and hyphenation, but not such that only empty space is broken into the next line of left in the previous (see MNWE).

In this way, the student’s and teacher’s versions of the script will look exactly the same, except for the visible solution in the teacher’s version.

The macro \underbar does a good job in terms of line breaks and hyphenation. But it is "too smart" in the sense that it does not underline horizontal spaces. The MNWE below showcases problems with my naive attempts to achieve underlining:
- CLOZE 1 does not have any extra space.
- CLOZE 2 does not underline the horizontal spaces.
- CLOZE 3 does not show the underline, supposedly because the first text elements in it are white.
- CLOZE 4 shows that introducing fake characters is not a good idea anyways because the cloze is broken without any “real” solution in the first line.
- CLOZE 5 shows the same for trailing space.

MNWE:
\starttext
\input ward
\underbar{\color[red]{CLOZE 1}}
\input ward
\underbar{\quad\color[red]{CLOZE 2}\quad}
\input ward
\underbar{\color[white]{x}\quad\color[red]{CLOZE 3}\quad\color[white]{x}}
\input ward
\underbar{\color[green]{x}\quad\color[red]{CLOZE 4}\quad\color[white]{x}}
\input ward
space \underbar{\color[red]{CLOZE 5}\qquad\color[white]{x}} space
\input ward
\stoptext

I would greatly appreciate help with this problem.

Thanks so much in advance!
Florian


[-- Attachment #1.2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 842 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

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

             reply	other threads:[~2016-09-02 13:27 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-02 13:27 Florian Leupold [this message]
2016-09-04 10:03 ` Hans Hagen
2016-09-04 12:14   ` Hans Hagen
2016-09-04 14:28     ` Florian Leupold
2016-09-04 14:32       ` Florian Leupold

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=4D526451-1694-4251-8D73-B07F7540A5DC@posteo.net \
    --to=fleupold@posteo.net \
    --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).