Hi,

there is a \ifnofloatcaption test missing to prevent the counter to increase 
when captions are hidden with the “none” keyword.

\unprotected\def\float_place_packaged_boxes
  {\bgroup
   \ifconditional\usesamefloatnumber
      \globallet\currentfloatnumber     \previousfloatnumber
      \globallet\currentfloatattribute  \empty
      \globallet\currentfloatsynchronize\relax
   \else
-    \ifnofloatnumber \else
-      \doincrementsubstructurecounter[\@@thestructurecounter\currentfloat][1]%
-    \fi
+    \ifnofloatnumber \else \ifnofloatcaption \else
+      \doincrementsubstructurecounter[\@@thestructurecounter\currentfloat][1]%
+    \fi \fi
     \dostructurecountercomponent
       {float}%
       \setupcurrentfloatcaption
       \floatcaptionparameter
       \detokenizedfloatcaptionparameter
       \relax
       \relax
       \relax
       [\c!name=\currentfloat,%
        \s!counter=\@@thestructurecounter\currentfloat,%
        \s!hascaption=\ifnofloatcaption \v!no\else\v!yes\fi,%
        \s!hasnumber=\ifnofloatnumber   \v!no\else\v!yes\fi,%
        \s!hastitle=\ifemptyfloatcaption\v!no\else\v!yes\fi]%
       []%
     \globallet\previousfloatnumber    \laststructurecounternumber
     \globallet\currentfloatnumber     \laststructurecounternumber
     \globallet\currentfloatattribute  \laststructurecounterattribute
     \globallet\currentfloatsynchronize\laststructurecountersynchronize
   \fi
   %
   \global\setfalse\usesamefloatnumber % one shot
   % check float box
   \float_set_natural_dimensions\nextbox
   \global\setbox\floatbox\vbox{\floatparameter\c!command{\box\nextbox}}%
   \float_set_natural_dimensions\floatbox
   \ifdim\htdp\floatbox=\zeropoint
     \showmessage\m!floatblocks{11}\empty
     \global\setbox\floatbox\vbox
       {\dostarttagged\t!floatcontent\empty
        \float_place_empty_box
        \dostoptagged}%
   \fi
   % deal with lack of caption
   \global\setbox\floatbox\vbox \floatcaptionattribute
     {\doifelsemainfloatbody\currentfloatsynchronize\donothing
      \unvbox\floatbox
      \ifnofloatcaption
        \vss
      \fi}% gets rid of the depth (unless tabulate)
   \egroup
   % place the float
   \float_set_box
   \float_get_box
   \global\insidefloatfalse}

\starttext
\placefigure{First}{\framed{One}}
\placefigure[none]{Second}{\framed{Two}}
\placefigure{Third}{\framed{Three}}
\stoptext

Wolfgang

_______________________________________________
dev-context mailing list
dev-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/dev-context

Reply via email to