* Inconsistent behaviour of placefigure[left] for math and text
@ 2006-04-14 1:54 Aditya Mahajan
2006-04-14 8:25 ` Hans Hagen
0 siblings, 1 reply; 7+ messages in thread
From: Aditya Mahajan @ 2006-04-14 1:54 UTC (permalink / raw)
Hi,
When I use \placefigure[left] with some test, the text wraps around
the figure. But if the paragraph, contains some formula, it does not
wrap even after the figure is complete. How can I prevent such a
behaviour.
Example
\startbuffer[figure]
\placefigure
[left]
{}{}
\stopbuffer
\startbuffer[test]
\dorecurse{3}{\input knuth}
\stopbuffer
\startbuffer[mathtest]
\dorecurse{3}{
This is a dummy paragraph to support a little bit of math to show the
trouble
with placefigure
\startformula
a = b
\stopformula
This is a dummy paragraph to support a little bit of math to show the
trouble
with placefigure
This is a dummy paragraph to support a little bit of math to show the
trouble
with placefigure}
\stopbuffer
\starttext
\getbuffer[figure]
\getbuffer[test]
\page
\getbuffer[figure]
\getbuffer[mathtest]
\stoptext
Thanks,
Aditya
--
Aditya Mahajan, EECS Systems, University of Michigan
http://www.eecs.umich.edu/~adityam || Ph: 7342624008
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Inconsistent behaviour of placefigure[left] for math and text
2006-04-14 1:54 Inconsistent behaviour of placefigure[left] for math and text Aditya Mahajan
@ 2006-04-14 8:25 ` Hans Hagen
2006-04-14 8:54 ` Hans Hagen
0 siblings, 1 reply; 7+ messages in thread
From: Hans Hagen @ 2006-04-14 8:25 UTC (permalink / raw)
Aditya Mahajan wrote:
> Hi,
> When I use \placefigure[left] with some test, the text wraps around
> the figure. But if the paragraph, contains some formula, it does not
> wrap even after the figure is complete. How can I prevent such a
> behaviour.
>
> Example
> \startbuffer[figure]
> \placefigure
> [left]
> {}{}
> \stopbuffer
>
> \startbuffer[test]
> \dorecurse{3}{\input knuth}
> \stopbuffer
>
> \startbuffer[mathtest]
> \dorecurse{3}{
> This is a dummy paragraph to support a little bit of math to show the
> trouble
> with placefigure
> \startformula
> a = b
> \stopformula
> This is a dummy paragraph to support a little bit of math to show the
> trouble
> with placefigure
> This is a dummy paragraph to support a little bit of math to show the
> trouble
> with placefigure}
> \stopbuffer
>
> \starttext
> \getbuffer[figure]
> \getbuffer[test]
>
> \page
>
> \getbuffer[figure]
> \getbuffer[mathtest]
>
>
> \stoptext
>
add empty lines around the \start\stop pair
(somehow display does not go well with the parshape (i must discuss this with taco)
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Inconsistent behaviour of placefigure[left] for math and text
2006-04-14 8:25 ` Hans Hagen
@ 2006-04-14 8:54 ` Hans Hagen
2006-04-18 12:39 ` Aditya Mahajan
0 siblings, 1 reply; 7+ messages in thread
From: Hans Hagen @ 2006-04-14 8:54 UTC (permalink / raw)
Hans Hagen wrote:
> Aditya Mahajan wrote:
>
>> Hi,
>> When I use \placefigure[left] with some test, the text wraps around
>> the figure. But if the paragraph, contains some formula, it does not
>> wrap even after the figure is complete. How can I prevent such a
>> behaviour.
>>
btw, can you make three (or more) examples: (yes|nocheck|text) with left/bottom/fallback placement for the testsuits (see other threads)
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Inconsistent behaviour of placefigure[left] for math and text
2006-04-14 8:54 ` Hans Hagen
@ 2006-04-18 12:39 ` Aditya Mahajan
2006-04-18 14:14 ` Hans Hagen
0 siblings, 1 reply; 7+ messages in thread
From: Aditya Mahajan @ 2006-04-18 12:39 UTC (permalink / raw)
On Fri, 14 Apr 2006, Hans Hagen wrote:
> Hans Hagen wrote:
>> Aditya Mahajan wrote:
>>
>>> Hi,
>>> When I use \placefigure[left] with some test, the text wraps around
>>> the figure. But if the paragraph, contains some formula, it does not
>>> wrap even after the figure is complete. How can I prevent such a
>>> behaviour.
>>>
> btw, can you make three (or more) examples: (yes|nocheck|text) with
> left/bottom/fallback placement for the testsuits (see other threads)
I tried playing around with the fallback option, but had unexpected
results. When I give fallback=left (does that make sense?) I get text
in the right margin!! See example below.
% first a new key
\unprotect
\startconstants dutch english
german czech
italian romanian
french
fallback: terugval fallback
fallback fallback
fallback fallback
fallback
\stopconstants
% use that key
\long\def\dofloat#1#2#3#4%
{\dosetfloatbox{#1}{#2}{#3}{#4}%
\doifelsevaluenothing{\??fl#4\c!criterium}
{\dogetfloatbox{#1}\empty}
{\ifdim\wd\floatbox>\getvalue{\??fl#4\c!criterium}\relax
\postcenterfloatbox{\wd\floatbox}% else we get left aligned
%dogetfloatbox{#1}\v!here % see details/pascal
\dogetfloatbox{#1}{\executeifdefined{\??fl#4\c!fallback}\v!here}%
PATCHED
\else
\dogetfloatbox{#1}\empty
\fi}}
% pass the new location (will be done differently, hack
\def\dogetfloatbox#1#2%
{\ifvisible
\doifelsenothing{#2}
{\getfromcommalist[#1][1]%
\@EA\beforesplitstring\commalistelement\at:\to\floatmethod
\@EA\aftersplitstring \commalistelement\at:\to\floatcolumn
\@EA\aftersplitstring \floatcolumn\at*\to\floatrow
\@EA\beforesplitstring\floatcolumn\at*\to\floatcolumn
% todo: nog algemeen otr
\ifx\OTRSETsetpreferedcolumnslot\undefined\else
\OTRSETsetpreferedcolumnslot\floatcolumn\floatrow
\fi}
{\let\floatcolumn\empty
\let\floatrow\empty
\edef\floatmethod{#2}}%
\doifundefined{\string\floatmethod\floatmethod}
{\let\floatmethod\v!here}%
\getvalue{\string\floatmethod\floatmethod}[\floatmethod,#1]%
PATCHED
\fi}
\def\redofloatorder#1%
{\doifnotinset\@@bknumbering{\v!nocheck,\v!text}
{\doglobal\increment\nofplacedfloats\relax
\gettwopassdata\s!float
\iftwopassdatafound
\doifnot\composedsectionnumber\twopassdata
{\edef\oldcomposedsectionnumber{\composedsectionnumber}%
\xdef\composedsectionnumber{\twopassdata}%
\showmessage\m!floatblocks1{\nofplacedfloats,#1
\oldcomposedsectionnumber,\composedsectionnumber}}%
\fi}}
\protect
\setupfloats[numbering=text]
% we use the marginwidth as criterium
\setupfloat[figure][criterium=\marginwidth,fallback=left]
\starttext
\placefigure[bottom]{1}{\framed[width=.9\marginwidth]{}} \input tufte
\placefigure[bottom]{2}{} \input tufte
\placefigure[left]{3}{} \input tufte
\placefigure[left]{4}{\framed[width=.9\marginwidth]{}} \input tufte
\stoptext
Aditya
--
Aditya Mahajan, EECS Systems, University of Michigan
http://www.eecs.umich.edu/~adityam || Ph: 7342624008
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Inconsistent behaviour of placefigure[left] for math and text
2006-04-18 12:39 ` Aditya Mahajan
@ 2006-04-18 14:14 ` Hans Hagen
2006-04-18 14:52 ` Aditya Mahajan
0 siblings, 1 reply; 7+ messages in thread
From: Hans Hagen @ 2006-04-18 14:14 UTC (permalink / raw)
Aditya Mahajan wrote:
> On Fri, 14 Apr 2006, Hans Hagen wrote:
>
>
>> Hans Hagen wrote:
>>
>>> Aditya Mahajan wrote:
>>>
>>>
>>>> Hi,
>>>> When I use \placefigure[left] with some test, the text wraps around
>>>> the figure. But if the paragraph, contains some formula, it does not
>>>> wrap even after the figure is complete. How can I prevent such a
>>>> behaviour.
>>>>
>>>>
>> btw, can you make three (or more) examples: (yes|nocheck|text) with
>> left/bottom/fallback placement for the testsuits (see other threads)
>>
>
>
first of all, take the beta in order to get renumbering right
the next variant let's fallbacks step in earlier
\long\def\dofloat#1#2#3#4%
{\dosetfloatbox{#1}{#2}{#3}{#4}%
\dogetfloatbox{#1}\empty}
\def\dodocomplexplacefloat[#1][#2][#3]#4%
{\flushnotes
\flushsidefloats % here !
\ifsomefloatwaiting
% this was \checkwaitingfloats spread all over
\doifinsetelse\v!always{#2}
{\showmessage\m!floatblocks5\empty}
{\expanded{\doifcommonelse{#2}{\flushfloatslist}}\doflushfloats\donothing}%
% but which should be done before using box \floatbox
\fi
\ifmargeblokken % waarschijnlijk gebroken ! ! ! !
\doifinset\v!margin{#2}
{\endgraf
\bgroup\everypar{\egroup\the\everypar}%
\hsize\@@mbwidth}%
\fi
\global\insidefloattrue
\begingroup % **
\the\everyinsidefloat
\let\@@extrafloat\empty
\presetmorefloatvariables{#2}%
\dowithnextboxcontent % better a \the\everyfloattoks
{\setlocalfloathsize
\getvalue{\??fl#1\c!inner}%
\fuzzysnappingfalse
\postponenotes} % new
{%
\doifvaluesomething{\??fl#1\c!criterium}
{\ifdim\wd\nextbox>\getvalue{\??fl#1\c!criterium}\relax
\edef\forcedfloatmethod{\executeifdefined{\??fl#1\c!fallback}\v!here}%
\fi}%
\xdocompletefloat{#1}{#3}{#1}{#2}{#1}{#4}% ** not yet done
% we need to carry over the par because of side floats
\doifnotinset\v!text{#2}{\carryoverpar\endgroup}%
\global\sidefloatdownshift \zeropoint
\global\sidefloatextrashift\zeropoint
\ifparfloat
\doifinset\v!reset{#2}\forgetsidefloats
\doinhibitblank
\fi}% better move this to side floats
\vbox}
> I tried playing around with the fallback option, but had unexpected
> results. When I give fallback=left (does that make sense?) I get text
> in the right margin!! See example below.
>
>
> % first a new key
>
> \unprotect
> \startconstants dutch english
> german czech
> italian romanian
> french
>
> fallback: terugval fallback
> fallback fallback
> fallback fallback
> fallback
> \stopconstants
>
> % use that key
>
> \long\def\dofloat#1#2#3#4%
> {\dosetfloatbox{#1}{#2}{#3}{#4}%
> \doifelsevaluenothing{\??fl#4\c!criterium}
> {\dogetfloatbox{#1}\empty}
> {\ifdim\wd\floatbox>\getvalue{\??fl#4\c!criterium}\relax
> \postcenterfloatbox{\wd\floatbox}% else we get left aligned
> %dogetfloatbox{#1}\v!here % see details/pascal
> \dogetfloatbox{#1}{\executeifdefined{\??fl#4\c!fallback}\v!here}%
> PATCHED
> \else
> \dogetfloatbox{#1}\empty
> \fi}}
>
> % pass the new location (will be done differently, hack
>
> \def\dogetfloatbox#1#2%
> {\ifvisible
> \doifelsenothing{#2}
> {\getfromcommalist[#1][1]%
> \@EA\beforesplitstring\commalistelement\at:\to\floatmethod
> \@EA\aftersplitstring \commalistelement\at:\to\floatcolumn
> \@EA\aftersplitstring \floatcolumn\at*\to\floatrow
> \@EA\beforesplitstring\floatcolumn\at*\to\floatcolumn
> % todo: nog algemeen otr
> \ifx\OTRSETsetpreferedcolumnslot\undefined\else
> \OTRSETsetpreferedcolumnslot\floatcolumn\floatrow
> \fi}
> {\let\floatcolumn\empty
> \let\floatrow\empty
> \edef\floatmethod{#2}}%
> \doifundefined{\string\floatmethod\floatmethod}
> {\let\floatmethod\v!here}%
> \getvalue{\string\floatmethod\floatmethod}[\floatmethod,#1]%
> PATCHED
> \fi}
>
>
> \def\redofloatorder#1%
> {\doifnotinset\@@bknumbering{\v!nocheck,\v!text}
> {\doglobal\increment\nofplacedfloats\relax
> \gettwopassdata\s!float
> \iftwopassdatafound
> \doifnot\composedsectionnumber\twopassdata
> {\edef\oldcomposedsectionnumber{\composedsectionnumber}%
> \xdef\composedsectionnumber{\twopassdata}%
> \showmessage\m!floatblocks1{\nofplacedfloats,#1
> \oldcomposedsectionnumber,\composedsectionnumber}}%
> \fi}}
>
> \protect
>
>
> \setupfloats[numbering=text]
>
> % we use the marginwidth as criterium
>
> \setupfloat[figure][criterium=\marginwidth,fallback=left]
>
> \starttext
>
> \placefigure[bottom]{1}{\framed[width=.9\marginwidth]{}} \input tufte
> \placefigure[bottom]{2}{} \input tufte
> \placefigure[left]{3}{} \input tufte
> \placefigure[left]{4}{\framed[width=.9\marginwidth]{}} \input tufte
>
> \stoptext
>
> Aditya
>
>
--
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Inconsistent behaviour of placefigure[left] for math and text
2006-04-18 14:14 ` Hans Hagen
@ 2006-04-18 14:52 ` Aditya Mahajan
2006-04-18 15:04 ` Hans Hagen
0 siblings, 1 reply; 7+ messages in thread
From: Aditya Mahajan @ 2006-04-18 14:52 UTC (permalink / raw)
On Tue, 18 Apr 2006, Hans Hagen wrote:
> Aditya Mahajan wrote:
>> On Fri, 14 Apr 2006, Hans Hagen wrote:
>>
>>
>>> Hans Hagen wrote:
>>>
>>>> Aditya Mahajan wrote:
>>>>
>>>>
>>>>> Hi,
>>>>> When I use \placefigure[left] with some test, the text wraps around
>>>>> the figure. But if the paragraph, contains some formula, it does not
>>>>> wrap even after the figure is complete. How can I prevent such a
>>>>> behaviour.
>>>>>
>>>>>
>>> btw, can you make three (or more) examples: (yes|nocheck|text) with
>>> left/bottom/fallback placement for the testsuits (see other threads)
>>>
>>
>>
> first of all, take the beta in order to get renumbering right
>
> the next variant let's fallbacks step in earlier
Using the beta, the numbering is correct. What is fallback=left
supposed to do? I thought that with
\setupfloat[figure][criterium=\marginwidth,fallback=left]
\placefigure[bottom]{1}{\framed[width=.9\marginwidth]{}} \input tufte
\placefigure[bottom]{2}{} \input tufte
the first figure should float to the left, while the second will go to
the bottom. But both of them float to the bottom. I am completely
misunderstanding the feature.
Aditya
--
Aditya Mahajan, EECS Systems, University of Michigan
http://www.eecs.umich.edu/~adityam || Ph: 7342624008
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Inconsistent behaviour of placefigure[left] for math and text
2006-04-18 14:52 ` Aditya Mahajan
@ 2006-04-18 15:04 ` Hans Hagen
0 siblings, 0 replies; 7+ messages in thread
From: Hans Hagen @ 2006-04-18 15:04 UTC (permalink / raw)
Aditya Mahajan wrote:
> On Tue, 18 Apr 2006, Hans Hagen wrote:
>
>
>> Aditya Mahajan wrote:
>>
>>> On Fri, 14 Apr 2006, Hans Hagen wrote:
>>>
>>>
>>>
>>>> Hans Hagen wrote:
>>>>
>>>>
>>>>> Aditya Mahajan wrote:
>>>>>
>>>>>
>>>>>
>>>>>> Hi,
>>>>>> When I use \placefigure[left] with some test, the text wraps around
>>>>>> the figure. But if the paragraph, contains some formula, it does not
>>>>>> wrap even after the figure is complete. How can I prevent such a
>>>>>> behaviour.
>>>>>>
>>>>>>
>>>>>>
>>>> btw, can you make three (or more) examples: (yes|nocheck|text) with
>>>> left/bottom/fallback placement for the testsuits (see other threads)
>>>>
>>>>
>>>
>> first of all, take the beta in order to get renumbering right
>>
>> the next variant let's fallbacks step in earlier
>>
>
> Using the beta, the numbering is correct. What is fallback=left
> supposed to do? I thought that with
>
> \setupfloat[figure][criterium=\marginwidth,fallback=left]
>
> \placefigure[bottom]{1}{\framed[width=.9\marginwidth]{}} \input tufte
> \placefigure[bottom]{2}{} \input tufte
>
> the first figure should float to the left, while the second will go to
> the bottom. But both of them float to the bottom. I am completely
> misunderstanding the feature.
>
left means left of text; you should test with the beta + the patch i
sent a few mails ago
(the problem is that otherwise the width is set to the hsize (centered))
Hans
--
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2006-04-18 15:04 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-04-14 1:54 Inconsistent behaviour of placefigure[left] for math and text Aditya Mahajan
2006-04-14 8:25 ` Hans Hagen
2006-04-14 8:54 ` Hans Hagen
2006-04-18 12:39 ` Aditya Mahajan
2006-04-18 14:14 ` Hans Hagen
2006-04-18 14:52 ` Aditya Mahajan
2006-04-18 15:04 ` 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).