Hi all, I am preparing a test for my students where I would like to have the statement of the problem on the top of a page and the remainder to the bottom of that page filled with \thinrules, for them to write the solution. And sometimes there might be an empty page filled with thinrules when the solution to the exercise is longer. The following minimal example gives the idea of what I want to achieve, but since the statement of each exercise may be longer or shorter, I would like ConTeXt to compute how many \thinrules can be put in the remainder of the page. That is, can one imagine a macro named (say) \fillpagewiththinrules which puts the exact number of thinrules before ejecting the page? Is this possible or have I to do it by hand for each page? \showframe \starttext \dorecurse{2}{\input knuth.tex\par} \thinrules[n=20] % On the first page I can put 20 thinrules \page \thinrules[n=40] % On an empty page I can put 40 thinrules \page \input ward.tex \thinrules[n=37] % On the third page there can be 37 thinrules \stoptext Thanks for any hint and help, Best regards: Otared K.
On 12/6/2019 17:50, Otared Kavian wrote:
Hi all,
I am preparing a test for my students where I would like to have the statement of the problem on the top of a page and the remainder to the bottom of that page filled with \thinrules, for them to write the solution. And sometimes there might be an empty page filled with thinrules when the solution to the exercise is longer.
The following minimal example gives the idea of what I want to achieve, but since the statement of each exercise may be longer or shorter, I would like ConTeXt to compute how many \thinrules can be put in the remainder of the page. That is, can one imagine a macro named (say) \fillpagewiththinrules which puts the exact number of thinrules before ejecting the page? Is this possible or have I to do it by hand for each page?
\showframe \starttext \dorecurse{2}{\input knuth.tex\par}
\thinrules[n=20] % On the first page I can put 20 thinrules
\page
\thinrules[n=40] % On an empty page I can put 40 thinrules \page
\input ward.tex
\thinrules[n=37] % On the third page there can be 37 thinrules
\stoptext
Thanks for any hint and help, Best regards: Otared K. ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntgcontext@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntgcontext webpage : http://www.pragmaade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/contextmirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________
It looks like Wolfgang answered this a while back. See Re: [NTGcontext] Room for comment on the backside of form https://www.mailarchive.com/search?l=ntgcontext@ntg.nl&q=subject:%22Re%5C%3A+%5C%5BNTG%5Ccontext%5C%5D+Room+for+comment+on+the+backside+of+form%22&o=newest. .  Rik
Hi Rik, Thanks a lot for the link to that message dating back to 2010… I tried to put that solution on the wiki but I could not create a new page. I'll try later. For the record, below is a transcript of what I adapted from Wolfgang's solution, but maybe nowadays one could also right a more readable lua code to achieve the same. Best regards: Otared K. \define\thinrulesfillpage% { \hphantom{Answer} % this is necessary, I don't know why... \blank \scratchcounter\dimexpr(\pagegoal\pagetotal2\lineheight)/(\dimexpr\lineheight+2.2ex\relax)\relax \thinrules[n=\number\scratchcounter,inbetween={\blank[2.2ex]}] \page } \showframe \starttext \dorecurse{2}{\input knuth.tex\par} \thinrulesfillpage \thinrulesfillpage \input ward.tex \thinrulesfillpage \stoptext
On 7 Dec 2019, at 03:49, Rik Kabel
wrote: On 12/6/2019 17:50, Otared Kavian wrote:
Hi all,
I am preparing a test for my students where I would like to have the statement of the problem on the top of a page and the remainder to the bottom of that page filled with \thinrules, for them to write the solution. And sometimes there might be an empty page filled with thinrules when the solution to the exercise is longer.
The following minimal example gives the idea of what I want to achieve, but since the statement of each exercise may be longer or shorter, I would like ConTeXt to compute how many \thinrules can be put in the remainder of the page. That is, can one imagine a macro named (say) \fillpagewiththinrules which puts the exact number of thinrules before ejecting the page? Is this possible or have I to do it by hand for each page?
\showframe \starttext \dorecurse{2}{\input knuth.tex\par}
\thinrules[n=20] % On the first page I can put 20 thinrules
\page
\thinrules[n=40] % On an empty page I can put 40 thinrules \page
\input ward.tex
\thinrules[n=37] % On the third page there can be 37 thinrules
\stoptext
Thanks for any hint and help, Best regards: Otared K. ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntgcontext@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntgcontext
webpage : http://www.pragmaade.nl / http://context.aanhet.net
archive : https://bitbucket.org/phg/contextmirror/commits/
wiki : http://contextgarden.net
___________________________________________________________________________________
It looks like Wolfgang answered this a while back. See Re: [NTGcontext] Room for comment on the backside of form. .
 Rik
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntgcontext@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntgcontext webpage : http://www.pragmaade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/contextmirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________
On 12/7/2019 10:10 AM, Otared Kavian wrote:
Hi Rik,
Thanks a lot for the link to that message dating back to 2010…
I tried to put that solution on the wiki but I could not create a new page. I'll try later.
Think TeX (and a little ConTeXt): \starttexdefinition thinrulesfillpage \par \verticalstrut \vskip.5\lineheight \leaders \hbox to \hsize{\blackrule[width=\hsize,height=1pt,depth=1pt,color=red]\strut} \vfilll \verticalstrut \vskip1.5\lineheight \page \stoptexdefinition \showframe \starttext \dorecurse{2}{\input knuth.tex\par} \thinrulesfillpage \thinrulesfillpage \input ward.tex \thinrulesfillpage \stoptext Now Wolfgang can change the \leaders in the proper ConTeXt interface calls. Okay, we could as well make it into some feature or course, as occasionally we need to add something new anyway, just to show progress.
For the record, below is a transcript of what I adapted from Wolfgang's solution, but maybe nowadays one could also right a more readable lua code to achieve the same.
Best regards: Otared K.
\define\thinrulesfillpage% { \hphantom{Answer} % this is necessary, I don't know why... \blank \scratchcounter\dimexpr(\pagegoal\pagetotal2\lineheight)/(\dimexpr\lineheight+2.2ex\relax)\relax \thinrules[n=\number\scratchcounter,inbetween={\blank[2.2ex]}] \page }
\showframe \starttext \dorecurse{2}{\input knuth.tex\par}
\thinrulesfillpage
\thinrulesfillpage
\input ward.tex \thinrulesfillpage
\stoptext
On 7 Dec 2019, at 03:49, Rik Kabel
wrote: On 12/6/2019 17:50, Otared Kavian wrote:
Hi all,
I am preparing a test for my students where I would like to have the statement of the problem on the top of a page and the remainder to the bottom of that page filled with \thinrules, for them to write the solution. And sometimes there might be an empty page filled with thinrules when the solution to the exercise is longer.
The following minimal example gives the idea of what I want to achieve, but since the statement of each exercise may be longer or shorter, I would like ConTeXt to compute how many \thinrules can be put in the remainder of the page. That is, can one imagine a macro named (say) \fillpagewiththinrules which puts the exact number of thinrules before ejecting the page? Is this possible or have I to do it by hand for each page?
\showframe \starttext \dorecurse{2}{\input knuth.tex\par}
\thinrules[n=20] % On the first page I can put 20 thinrules
\page
\thinrules[n=40] % On an empty page I can put 40 thinrules \page
\input ward.tex
\thinrules[n=37] % On the third page there can be 37 thinrules
\stoptext
Thanks for any hint and help, Best regards: Otared K. ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntgcontext@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntgcontext
webpage : http://www.pragmaade.nl / http://context.aanhet.net
archive : https://bitbucket.org/phg/contextmirror/commits/
wiki : http://contextgarden.net
___________________________________________________________________________________
It looks like Wolfgang answered this a while back. See Re: [NTGcontext] Room for comment on the backside of form. .
 Rik
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntgcontext@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntgcontext webpage : http://www.pragmaade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/contextmirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntgcontext@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntgcontext webpage : http://www.pragmaade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/contextmirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________
  Hans Hagen  PRAGMA ADE Ridderstraat 27  8061 GH Hasselt  The Netherlands tel: 038 477 53 69  www.pragmaade.nl  www.pragmapod.nl 
On 12/7/2019 04:10, Otared Kavian wrote:
Hi Rik,
Thanks a lot for the link to that message dating back to 2010…
I tried to put that solution on the wiki but I could not create a new page. I'll try later.
For the record, below is a transcript of what I adapted from Wolfgang's solution, but maybe nowadays one could also right a more readable lua code to achieve the same.
Best regards: Otared K.
\define\thinrulesfillpage% { \hphantom{Answer} % this is necessary, I don't know why... \blank \scratchcounter\dimexpr(\pagegoal\pagetotal2\lineheight)/(\dimexpr\lineheight+2.2ex\relax)\relax \thinrules[n=\number\scratchcounter,inbetween={\blank[2.2ex]}] \page }
\showframe \starttext \dorecurse{2}{\input knuth.tex\par}
\thinrulesfillpage
\thinrulesfillpage
\input ward.tex \thinrulesfillpage
\stoptext
On 7 Dec 2019, at 03:49, Rik Kabel
wrote: On 12/6/2019 17:50, Otared Kavian wrote:
Hi all,
I am preparing a test for my students where I would like to have the statement of the problem on the top of a page and the remainder to the bottom of that page filled with \thinrules, for them to write the solution. And sometimes there might be an empty page filled with thinrules when the solution to the exercise is longer.
The following minimal example gives the idea of what I want to achieve, but since the statement of each exercise may be longer or shorter, I would like ConTeXt to compute how many \thinrules can be put in the remainder of the page. That is, can one imagine a macro named (say) \fillpagewiththinrules which puts the exact number of thinrules before ejecting the page? Is this possible or have I to do it by hand for each page?
\showframe \starttext \dorecurse{2}{\input knuth.tex\par}
\thinrules[n=20] % On the first page I can put 20 thinrules
\page
\thinrules[n=40] % On an empty page I can put 40 thinrules \page
\input ward.tex
\thinrules[n=37] % On the third page there can be 37 thinrules
\stoptext
Thanks for any hint and help, Best regards: Otared K.
It looks like Wolfgang answered this a while back. See Re: [NTGcontext] Room for comment on the backside of form. .
 Rik
Replace the \hphantom{...} with \dontleavehmode.
 Rik
participants (4)

Hans Hagen

Otared Kavian

Rik Kabel

Rik Kabel