From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/27231 Path: news.gmane.org!not-for-mail From: Hans Hagen Newsgroups: gmane.comp.tex.context Subject: Re: Inconsistent behaviour of placefigure[left] for math and text Date: Tue, 18 Apr 2006 16:14:23 +0200 Message-ID: <4444F43F.7020000@wxs.nl> References: <443F5C72.5020706@wxs.nl> <443F633E.3010206@wxs.nl> Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1145369674 17851 80.91.229.2 (18 Apr 2006 14:14:34 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 18 Apr 2006 14:14:34 +0000 (UTC) Original-X-From: ntg-context-bounces@ntg.nl Tue Apr 18 16:14:32 2006 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane.org Original-Received: from ronja.vet.uu.nl ([131.211.172.88] helo=ronja.ntg.nl) by ciao.gmane.org with esmtp (Exim 4.43) id 1FVqyN-0003fN-2A for gctc-ntg-context-518@m.gmane.org; Tue, 18 Apr 2006 16:14:31 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 713331279A; Tue, 18 Apr 2006 16:14:30 +0200 (CEST) Original-Received: from ronja.ntg.nl ([127.0.0.1]) by localhost (smtp.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 07298-09; Tue, 18 Apr 2006 16:14:27 +0200 (CEST) Original-Received: from ronja.vet.uu.nl (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id AA2AE1278B; Tue, 18 Apr 2006 16:14:26 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id F243B1278B for ; Tue, 18 Apr 2006 16:14:24 +0200 (CEST) Original-Received: from ronja.ntg.nl ([127.0.0.1]) by localhost (smtp.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 07231-08 for ; Tue, 18 Apr 2006 16:14:24 +0200 (CEST) Original-Received: from mail.pragma-ade.net (dsl-212-84-128-085.solcon.nl [212.84.128.85]) by ronja.ntg.nl (Postfix) with SMTP id 0D1B212772 for ; Tue, 18 Apr 2006 16:14:23 +0200 (CEST) Original-Received: from [10.100.1.102] (unverified [10.100.1.102]) by controller-1 (SurgeMail 3.5b3) with ESMTP id 12924 for ; Tue, 18 Apr 2006 18:14:23 +0400 User-Agent: Thunderbird 1.5 (Windows/20051201) Original-To: mailing list for ConTeXt users In-Reply-To: X-Server: High Performance Mail Server - http://surgemail.com r=-274017400 X-Authenticated-User: hagen@controller-1 X-Virus-Scanned: amavisd-new at ntg.nl X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.7 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: ntg-context-bounces@ntg.nl Errors-To: ntg-context-bounces@ntg.nl X-Virus-Scanned: amavisd-new at ntg.nl Xref: news.gmane.org gmane.comp.tex.context:27231 Archived-At: 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 -----------------------------------------------------------------