ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Michael Eidenbenz <eidenbenz@arch.ethz.ch>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: hbox after \page[disable]
Date: Tue, 6 Dec 2016 11:28:30 +0100	[thread overview]
Message-ID: <2F78FEC4-F22C-4C22-96CE-960733AB4EE4@arch.ethz.ch> (raw)
In-Reply-To: <73949d3b-9374-b713-e564-554b7da88687@wxs.nl>


> Am 05.12.2016 um 22:21 schrieb Hans Hagen <pragma@wxs.nl>:
> 
> On 12/5/2016 9:32 PM, Michael Eidenbenz wrote:
>> Ok I got it.
>> 
>> page[disable] is not taken into account by page[odd] so I changed it in
>> page-brk.mkiv:
>> 
>>  \installpagebreakmethod \v!odd
>>  {\relax\ifconditional\c_page_breaks_enabled
>>   \page
>>   \doifelseoddpage\donothing\page_reset_marks_and_insert_dummy
>>   \else
>>   \resetpagebreak
>>   \fi}
>> 
>> with this my MWE works perfectly.
> 
> isn't that just
> 
> \definepagebreak[mypagebreak][yes,odd,reset]
> 
> and then
> 
> \page[mypagebreak]


hmm. 
I can't see that [yes, odd, reset] implements the conditional I need to override page[odd]. (see code comments below)
but I guess the real problem occurs because I have to inject this in  \everyafteroutput.


\newtoks \EvenPage

\appendtoks
\the\EvenPage
\global\EvenPage\emptytoks
\page[odd]   % will be overridden by page[disable] 
\to\everyafteroutput

\unexpanded\def\Figure#1{%
\appendtoks
\page[even]
#1
\page
\page[disable] %disable the next \page[odd] because else it will insert
\to\EvenPage}


> 
>> But will this break other things?
>> I dont really know what I'm doing.... just hacking.
>> 
>> Michael
>> 
>> -----
>> 
>> \enabletrackers
>> [visualizers.hbox]
>> 
>> \useMPlibrary[dum]
>> 
>> \setuppagenumbering
>> [alternative=doublesided]
>> 
>> \definelayout[odd][width=10cm]
>> \definelayout[even][width=15cm]
>> 
>> \newtoks \EvenPage
>> 
>> \appendtoks
>> \the\EvenPage
>> \global\EvenPage\emptytoks
>> \page[odd]
>> \to\everyafteroutput
>> 
>> \unexpanded\def\Figure#1{%
>> \appendtoks
>> \page[even]
>> #1
>> \page
>> \page[disable] %disable the next \page[odd]
>> \to\EvenPage}
>> 
>> \showframe
>> 
>> \starttext
>> 
>> \dorecurse{4}{\input{tufte}\par}
>> 
>> \Figure{\externalfigure[dummy][factor=fit]}
>> \dorecurse{4}{\input{knuth}\par}
>> \Figure{\externalfigure[dummy][height=\textheight]}  %
>> \dorecurse{8}{\input{ward}\par}
>> \stoptext
>> 
>> 
>>> Am 04.12.2016 um 21:14 schrieb Michael Eidenbenz <eidenbenz@arch.ethz.ch>:
>>> 
>>> Dear Hans,
>>> 
>>> thank you for your answer, but it doesnt solve the issue.
>>> (or I dont understand what you mean)
>>> 
>>> the argument in the macro is acually (not in the MWE) a xtable filled with \externalfigures.
>>> so I would like to avoid floats as it makes things more complicated and slower.
>>> 
>>> I tried finding the \page[disable] definition in the code but could not find it.
>>> 
>>> any further suggestions how I can solve this issue?
>>> 
>>> thanks Michael
>>> 
>>> 
>>> 
>>>> Am 04.12.2016 um 18:13 schrieb Hans Hagen <pragma@wxs.nl>:
>>>> 
>>>> On 12/4/2016 2:12 PM, Michael Eidenbenz wrote:
>>>>> I have a doublesided layout.
>>>>> On the right side i place the text, figures (if i have any) go on the left side.
>>>>> the MWE below works quite nice.
>>>>> 
>>>>> But if i want the figure to be full height, two pages are skipped.
>>>>> This is becaus the hbox right below of the figure.
>>>>> I think it is placed during the \page[disable] pass.
>>>>> 
>>>>> What can I do to avoid this hbox?
>>>> 
>>>> \def\Figure#1{\placefigure[location={page,none}]{}{#1}}
>>>> 
>>>> 
>>>>> Thanks Michael
>>>>> 
>>>>> 
>>>>> \enabletrackers
>>>>> [visualizers.hbox]
>>>>> 
>>>>> \useMPlibrary[dum]
>>>>> 
>>>>> \setuppagenumbering
>>>>> [alternative=doublesided]
>>>>> 
>>>>> \definelayout[odd][width=10cm]
>>>>> \definelayout[even][width=15cm]
>>>>> 
>>>>> \newtoks \EvenPage
>>>>> 
>>>>> \appendtoks
>>>>> \the\EvenPage
>>>>> \global\EvenPage\emptytoks
>>>>> \page[odd]
>>>>> \to\everyafteroutput
>>>>> 
>>>>> \unexpanded\def\Figure#1{%
>>>>> \appendtoks
>>>>> \page[even]
>>>>> #1
>>>>> \page[disable]
>>>>> \to\EvenPage}
>>>>> 
>>>>> \showframe
>>>>> 
>>>>> \starttext
>>>>> 
>>>>> \dorecurse{4}{\input{tufte}\par}\page
>>>>> \Figure{\externalfigure[dummy][factor=fit]}
>>>>> \dorecurse{4}{\input{knuth}\par}\page
>>>>> \Figure{\externalfigure[dummy][height=\textheight]}  %
>>>>> \dorecurse{8}{\input{ward}\par}
>>>>> \stoptext
>>>>> 
>>>>> ___________________________________________________________________________________
>>>>> 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
>>>>> ___________________________________________________________________________________
>>>>> 
>>>> 
>>>> 
>>>> --
>>>> 
>>>> -----------------------------------------------------------------
>>>>                                        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
>>>> ___________________________________________________________________________________
>>> 
>>> ___________________________________________________________________________________
>>> 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
>>> ___________________________________________________________________________________
>> 
>> ___________________________________________________________________________________
>> 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
>> ___________________________________________________________________________________
>> 
> 
> 
> -- 
> 
> -----------------------------------------------------------------
>                                          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
> ___________________________________________________________________________________

___________________________________________________________________________________
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	other threads:[~2016-12-06 10:28 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-04 13:12 Michael Eidenbenz
2016-12-04 17:13 ` Hans Hagen
2016-12-04 20:14   ` Michael Eidenbenz
2016-12-05 20:32     ` Michael Eidenbenz
2016-12-05 21:21       ` Hans Hagen
2016-12-06 10:28         ` Michael Eidenbenz [this message]

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=2F78FEC4-F22C-4C22-96CE-960733AB4EE4@arch.ethz.ch \
    --to=eidenbenz@arch.ethz.ch \
    --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).