ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Hans Hagen <pragma@wxs.nl>
Subject: Re: placefigure feature request ?
Date: Fri, 14 Apr 2006 10:52:41 +0200	[thread overview]
Message-ID: <443F62D9.1010500@wxs.nl> (raw)
In-Reply-To: <E1FU1tp-0005wz-KJ@approximate.corpus.cam.ac.uk>

Sanjoy Mahajan wrote:
>> [code for text key]
>> \setupfloats[numbering=text]
>>     
>
> I included the code for numbering=text, to make the tex file below.
> Sadly, the figures are numbered 3->1->2 (i.e. as if numbering=nocheck
> were given).  I also tried the context live and got the same order.  Am
> I doing something silly?
>   
also redefine:

\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}}

and the text options works as expected

> -Sanjoy
>
> ======================================================================
> % first a new key
>
> \startconstants            dutch                     english
>                            german                    czech
>                            italian                   romanian
>                            french
>
>                  fallback: terugval                  fallback
>                            fallback                  fallback
>                            fallback                  fallback
>                            fallback
> \stopconstants
>
> % use that key
>
> \unprotect
>
> \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\dofloatreference
>   {\doifnot\@@bknumbering\v!text
>      {\doglobal\increment\numberedfloat
>       \doifelse\@@bknumbering\v!text % alternative to yes|page
>         {\let\next\immediatewriteutilitycommand}
>         {\let\next\writeutilitycommand}%
>       \expanded{\next
>         {\noexpand\twopassentry
>         {\s!float}%
>         {\numberedfloat}%
>         {\composedsectionnumber}}}}}
>
> \protect
>
> \setupfloats[numbering=text]
>
> % we use the marginwidth as criterium
>
> \setupfloat[figure][criterium=\marginwidth,fallback=bottom]
>
> \starttext
>
> \placefigure[bottom]{1}{} \input tufte
> \placefigure[left]{2}{} \input tufte
> \placefigure[left]{3}{\framed[width=.9\marginwidth]{}} \input tufte
>
> \stoptext
> ======================================================================
> _______________________________________________
> ntg-context mailing list
> ntg-context@ntg.nl
> http://www.ntg.nl/mailman/listinfo/ntg-context
>   


-- 

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

  reply	other threads:[~2006-04-14  8:52 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-04 15:44 Renaud AUBIN
2006-04-04 17:15 ` Hans Hagen
2006-04-04 17:53   ` Sanjoy Mahajan
2006-04-04 21:06     ` Hans Hagen
2006-04-04 23:23       ` Sanjoy Mahajan
2006-04-05  7:37         ` Hans Hagen
2006-04-05  7:54           ` Taco Hoekwater
2006-04-05 15:43             ` Sanjoy Mahajan
2006-04-05 18:06               ` Hans Hagen
2006-04-05 19:37                 ` Sanjoy Mahajan
2006-04-05 20:46                   ` Hans Hagen
2006-04-06  2:20                     ` Sanjoy Mahajan
2006-04-06  8:01                       ` Taco Hoekwater
2006-04-04 21:23     ` Hans Hagen
2006-04-05 15:48       ` Sanjoy Mahajan
2006-04-05 16:53         ` Hans Hagen
2006-04-12 22:12       ` Sanjoy Mahajan
2006-04-13  7:57         ` Hans Hagen
2006-04-13 13:30           ` Sanjoy Mahajan
2006-04-14  8:52             ` Hans Hagen [this message]
2006-04-14 13:59               ` Sanjoy Mahajan
2006-04-14 14:09                 ` Hans Hagen
2006-04-14 16:45                   ` Sanjoy Mahajan

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=443F62D9.1010500@wxs.nl \
    --to=pragma@wxs.nl \
    --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).