[NTG-context] If figures are placed left, left-aligned captions are unwantedly centered

Hans Hagen pragma at wxs.nl
Fri Jan 29 22:39:44 CET 2016


On 1/29/2016 9:30 PM, d_jan wrote:
> Hello fellow ConTeXt users,
>
>
> I want to place figures left so that text wraps around them if they have
> less width than \textwidth. The figure captions should be aligned left
> (flushleft).
>
> What happens: The captions are all centered.

What happens is that a caption < width kicks in.

% put this on cont=-new.mkiv

\unprotect

\def\strc_floats_prepare_side_caption_fit
   {\ifdim\wd\b_strc_floats_caption>\wd\b_strc_floats_content\relax
      \setbox\b_strc_floats_caption\vbox
        {\forgetall % needed?
         \hsize\wd\b_strc_floats_content
         \strc_floats_make_complete_caption}%
    \else
       \setbox\b_strc_floats_caption\hpack
         {\strc_floats_make_complete_caption}%
    \fi}

\protect

% then you can do this (maybe Wolfgang can check the logic too):

\starttext

     \setupfloat[figure][default={left,nonumber}]

     \placefigure{my figure caption my figure 
caption}{\framed[width=4cm,height=1cm]{}} \input tufte
     \placefigure{my figure caption} 
{\framed[width=4cm,height=1cm]{}} \input tufte

     \setupfloat[figure][location=left]

     \placefigure{my figure caption my figure 
caption}{\framed[width=4cm,height=1cm]{}} \input tufte
     \placefigure{my figure caption} 
{\framed[width=4cm,height=1cm]{}} \input tufte

\stoptext

don't use flushleft as that won't work ok for location

> Details:
> --------
> If I use default={here,nonumber} instead of default={left,nonumber}
> in\setupfloat[figure][default=..., the captions are aligned left, just
> like they should.
>
> It does not matter if the text warps around the captioned image, the
> centered is present for all figure-captions, regardless of their width.
>
>
> Code demonstrating the behaviour:
> ---------------------------------
>
>     \setupfloat[figure][default={left,nonumber}]
>
>     \setupcaption[figure][align=flushleft] %prefix: section-wis 3
>
>     \starttext
>
>     %here is some text...
>     Lorem Ipsum....
>
>     \placefigure{my figure caption}{\externalfigure[images/image1.jpg]}
>
>
>     %here is some text
>     Lorem Ipsum....
>     \placefigure{my figure caption}{\externalfigure[images/image1.jpg]}
>
>
> Is there any way to left-place figures and have the captions flushleft
> aligned? (Ideally while keeping the content after starttext the same)
>
> addition: I tried with an comes-with-Ubuntu-14.04 and a LiveTex2015
> Version of ConTeXt, no difference in behavior.
>
> Kind Regards,
>   Jan
>
> PS.: Previously posted this on tex.stackexchange too
> (http://tex.stackexchange.com/questions/289752/if-figures-are-placed-left-left-aligned-captions-are-unwantedly-centered-conte),
> but without answers so far.
> ___________________________________________________________________________________
> If your question is of interest to others as well, please add an entry to the Wiki!
>
> maillist : ntg-context at ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
> webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
> archive  : http://foundry.supelec.fr/projects/contextrev/
> wiki     : http://contextgarden.net
> ___________________________________________________________________________________
>


-- 

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
       tel: 038 477 53 69 | www.pragma-ade.com | www.pragma-pod.nl
-----------------------------------------------------------------


More information about the ntg-context mailing list