[NTG-context] brace error after a \placefigure

Hans Hagen pragma at wxs.nl
Sun May 14 11:57:16 CEST 2006


nico wrote:
> On Sat, 13 May 2006 04:08:58 -0400, Sanjoy Mahajan <sanjoy at mrao.cam.ac.uk>  
> wrote:
>
>   
>> I can't figure out what causes the brace error with this test.tex
>> example file:
>>
>> \starttext
>> \placefigure[margin]{A caption}{\externalfigure[]}
>>
>> {test}.
>> \stoptext
>>     
>
> Yes, strange. Looks like a grouping issue around this in page-flt:
>
>     \ifmargeblokken % waarschijnlijk gebroken ! ! ! !
>       \doifinset\v!margin{#2}
>         {\endgraf
>          \bgroup\everypar{\egroup\the\everypar}%
>          \hsize\@@mbwidth}%
>     \fi
>
> inmargin seems to work, but i don't know if it should do the same thing.
>   
no, the margin option collects graphics in the margin 

\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
     \doifinset\v!margin{#2}\endgraf
   \fi
   \global\insidefloattrue
   \begingroup % **
   \ifmargeblokken
     \doifinset\v!margin{#2}{\hsize\@@mbwidth}%
   \fi
   \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}

may work better 

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



More information about the ntg-context mailing list