ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* float over both text and margin
@ 2005-12-08 22:47 Vit Zyka
  2005-12-12 18:02 ` Hans Hagen
  2005-12-12 18:06 ` Hans Hagen
  0 siblings, 2 replies; 4+ messages in thread
From: Vit Zyka @ 2005-12-08 22:47 UTC (permalink / raw)


Hi.

1) I am unsuccessfully solving the problem of making float spanning both 
text and margin. More over, it is inside columnset... Example follows. 
Is there some solution?
-----------------------------------------
\showframe
\setupcolors[state=start]
\setuplayout[margin=0pt,rightmargin=1.5cm,width=middle]

\starttext
\startcolumnset
   \dorecurse{2}{\input knuth \endgraf\blank}
   \placefloat[page]{none}
     {\framed
      [width=\dimexpr\makeupwidth+\rightmarginwidth+
                     \rightmargindistance\relax,
       height=\textheight]
      {Here I would like to be a float over both text and margin. How?}
     }
   \dorecurse{10}{\input knuth \endgraf\blank}
\stopcolumnset

\stoptext
-----------------------------------------

2) As a side effect I discover that in the following example the float 
is over the text (so some text is disappeared).
-----------------------------------------
\showframe
\setupcolors[state=start]
\setuplayout[margin=0pt,rightmargin=1.5cm,width=middle]

\starttext
\startcolumnset
   \dorecurse{2}{\input knuth \endgraf}
   \placefloat[page]{none}
     {\framed
        [width=\makeupwidth,height=\textheight,background=screen]
        {Here I would like to be a float over both text and margin. How?}
     }
   \dorecurse{10}{\input knuth \endgraf}
\stopcolumnset

\stoptext
-------------------------------------------

Vit

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: float over both text and margin
  2005-12-08 22:47 float over both text and margin Vit Zyka
@ 2005-12-12 18:02 ` Hans Hagen
  2005-12-12 22:02   ` Vit Zyka
  2005-12-12 18:06 ` Hans Hagen
  1 sibling, 1 reply; 4+ messages in thread
From: Hans Hagen @ 2005-12-12 18:02 UTC (permalink / raw)


Vit Zyka wrote:

> Hi.
>
> 1) I am unsuccessfully solving the problem of making float spanning 
> both text and margin. More over, it is inside columnset... Example 
> follows. Is there some solution?
> -----------------------------------------
> \showframe
> \setupcolors[state=start]
> \setuplayout[margin=0pt,rightmargin=1.5cm,width=middle]
>
> \starttext
> \startcolumnset
>   \dorecurse{2}{\input knuth \endgraf\blank}
>   \placefloat[page]{none}
>     {\framed
>      [width=\dimexpr\makeupwidth+\rightmarginwidth+
>                     \rightmargindistance\relax,
>       height=\textheight]
>      {Here I would like to be a float over both text and margin. How?}
>     }
>   \dorecurse{10}{\input knuth \endgraf\blank}
> \stopcolumnset
>
> \stoptext
> -----------------------------------------
>
> 2) As a side effect I discover that in the following example the float 
> is over the text (so some text is disappeared).
> -----------------------------------------
> \showframe
> \setupcolors[state=start]
> \setuplayout[margin=0pt,rightmargin=1.5cm,width=middle]
>
> \starttext
> \startcolumnset
>   \dorecurse{2}{\input knuth \endgraf}
>   \placefloat[page]{none}
>     {\framed
>        [width=\makeupwidth,height=\textheight,background=screen]
>        {Here I would like to be a float over both text and margin. How?}
>     }
>   \dorecurse{10}{\input knuth \endgraf}
> \stopcolumnset
>
> \stoptext
> -------------------------------------------

don't use \placefloat.

\definefloat
  [pagefigure]
  [figure]
\setupfloat
  [pagefigure]
  [default={page,none},
   location=inner]

  \dorecurse{3}{\input knuth \endgraf\blank}
  \placepagefigure
      {}
     {...}

etc

maybe the next helps, but i hesitate to include this patch too fast

def\dogetfloat
  {\ifsomefloatwaiting
     \global\setbox\floatlist\vbox
       {\unvbox\floatlist
        \global\setbox\globalscratchbox\lastbox}%
     \ifcenterfloatbox
       \ifdim\wd\globalscratchbox<\hsize
         \setbox\floatbox\hbox to \hsize{\hss\box\globalscratchbox\hss}%
       \else
         \setbox\floatbox\box\globalscratchbox % local !
\wd\floatbox\makeupwidth
       \fi
     \else
       \setbox\floatbox\box\globalscratchbox % local !
     \fi
     \global\advance\savednoffloats \minusone
     \ifcase\savednoffloats
       \global\somefloatwaitingfalse
     \fi
   \else
     \global\savednoffloats\zerocount
     \global\setbox\floatbox\box\voidb@x
   \fi}

Hans

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: float over both text and margin
  2005-12-08 22:47 float over both text and margin Vit Zyka
  2005-12-12 18:02 ` Hans Hagen
@ 2005-12-12 18:06 ` Hans Hagen
  1 sibling, 0 replies; 4+ messages in thread
From: Hans Hagen @ 2005-12-12 18:06 UTC (permalink / raw)


Vit Zyka wrote:

> Hi.
>
> 1) I am unsuccessfully solving the problem of making float spanning 
> both text and margin. More over, it is inside columnset... Example 
> follows. Is there some solution?


or maybe:


\def\dogetfloat
  {\ifsomefloatwaiting
     \global\setbox\floatlist\vbox
       {\unvbox\floatlist
        \global\setbox\globalscratchbox\lastbox}%
     \ifcenterfloatbox
       \ifdim\wd\globalscratchbox<\hsize
         \setbox\floatbox\hbox to \hsize{\hss\box\globalscratchbox\hss}%
       \else
         \setbox\floatbox\box\globalscratchbox % local !
\ifinsidecolumns
    % retain special alignments
    \ifdim\wd\floatbox>\makeupwidth
        \wd\floatbox\makeupwidth
    \fi
\fi
       \fi
     \else
       \setbox\floatbox\box\globalscratchbox % local !
     \fi
     \global\advance\savednoffloats \minusone
     \ifcase\savednoffloats
       \global\somefloatwaitingfalse
     \fi
   \else
     \global\savednoffloats\zerocount
     \global\setbox\floatbox\box\voidb@x
   \fi}

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: float over both text and margin
  2005-12-12 18:02 ` Hans Hagen
@ 2005-12-12 22:02   ` Vit Zyka
  0 siblings, 0 replies; 4+ messages in thread
From: Vit Zyka @ 2005-12-12 22:02 UTC (permalink / raw)


Hans Hagen wrote:
> Vit Zyka wrote:
> 
>> Hi.
>>
>> 1) I am unsuccessfully solving the problem of making float spanning 
>> both text and margin. More over, it is inside columnset... Example 
>> follows. Is there some solution?
>>
>> 2) As a side effect I discover that in the following example the float 
>> is over the text (so some text is disappeared).
> 
> don't use \placefloat.
> 
> \definefloat
>  [pagefigure]
>  [figure]
> \setupfloat
>  [pagefigure]
>  [default={page,none},
>   location=inner]

OK, I thought \placefloat[page] is defined like this, but now I see this 
is more flexible.

Thank you for your patch it behaves better but still the float is over 
the text, see page 2 in the example. I also do not see the influence of 
location argument.

Vit

---------------------------------------------------------
\showframe
\setupcolors[state=start]
\setuplayout[margin=0pt,rightmargin=1.5cm,width=13cm]
\setuppagenumbering[alternative=doublesided]

\definefloat
  [pagefigure]
  [figure]
\setupfloat
  [pagefigure]
  [default={page,none},
   location=outer]

\unprotect
\def\dogetfloat{
   \ifsomefloatwaiting
     \global\setbox\floatlist\vbox{%
        \unvbox\floatlist
        \global\setbox\globalscratchbox\lastbox
     }%
     \ifcenterfloatbox
       \ifdim\wd\globalscratchbox<\hsize
         \setbox\floatbox\hbox to \hsize{\hss\box\globalscratchbox\hss}%
       \else
         \setbox\floatbox\box\globalscratchbox % local !
         \wd\floatbox\makeupwidth
       \fi
     \else
       \setbox\floatbox\box\globalscratchbox % local !
     \fi
     \global\advance\savednoffloats \minusone
     \ifcase\savednoffloats
       \global\somefloatwaitingfalse
     \fi
   \else
     \global\savednoffloats\zerocount
     \global\setbox\floatbox\box\voidb@x
   \fi}
\protect

\starttext
\startcolumnset
   \dorecurse{2}{\input knuth \endgraf\blank}
   \placepagefigure{none}
     {\framed
 
[width=\dimexpr\makeupwidth+\rightmarginwidth+\rightmargindistance\relax,height=\textheight]
        {Here I would like to be a float over both text and margin. How?}
     }
   \dorecurse{10}{\input knuth \endgraf\blank}
\stopcolumnset

\stoptext
-------------------------------------------------------------

> 
>  \dorecurse{3}{\input knuth \endgraf\blank}
>  \placepagefigure
>      {}
>     {...}
> 
> etc
> 
> maybe the next helps, but i hesitate to include this patch too fast
> 
> def\dogetfloat
>  {\ifsomefloatwaiting
>     \global\setbox\floatlist\vbox
>       {\unvbox\floatlist
>        \global\setbox\globalscratchbox\lastbox}%
>     \ifcenterfloatbox
>       \ifdim\wd\globalscratchbox<\hsize
>         \setbox\floatbox\hbox to \hsize{\hss\box\globalscratchbox\hss}%
>       \else
>         \setbox\floatbox\box\globalscratchbox % local !
> \wd\floatbox\makeupwidth
>       \fi
>     \else
>       \setbox\floatbox\box\globalscratchbox % local !
>     \fi
>     \global\advance\savednoffloats \minusone
>     \ifcase\savednoffloats
>       \global\somefloatwaitingfalse
>     \fi
>   \else
>     \global\savednoffloats\zerocount
>     \global\setbox\floatbox\box\voidb@x
>   \fi}
> 
> Hans
> _______________________________________________
> ntg-context mailing list
> ntg-context@ntg.nl
> http://www.ntg.nl/mailman/listinfo/ntg-context

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-12-12 22:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-12-08 22:47 float over both text and margin Vit Zyka
2005-12-12 18:02 ` Hans Hagen
2005-12-12 22:02   ` Vit Zyka
2005-12-12 18:06 ` Hans Hagen

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).