Re: [NTG-context] Maximum width of a caption

2015-01-05 Thread Hans Hagen

On 1/5/2015 11:22 AM, Mojca Miklavec wrote:

On Sun, Jan 4, 2015 at 12:30 PM, Hans Hagen wrote:

On 1/3/2015 11:11 AM, Mojca Miklavec wrote:


Hi,

Is there any way to set the maximum width of a caption? I would like
to make sure that no figure caption exceeds, say, 75% of text width.

Here's an example of bad behaviour in the second figure:

\starttext

\reservefigure
[width=5cm,height=2cm,frame=on][force]
{Some very small figure with not too much text: OK}

\input tufte

This can hardly be distinguished from the main text:

\reservefigure
[width=\textwidth,height=.2\textwidth,frame=on][force]
{\input tufte}

\input tufte

Desired behaviour:

\placefigure[force]{\input tufte}
{\hbox to
.75\textwidth{\hss\framed[width=\textwidth,height=.2\textwidth]{}\hss}}

\input tufte

\stoptext

I've seen an option maxwidth, but only in connection to
\externalfigure[...][maxwidth=...].

I can cheat as on the third figure above, but that seems like an ugly
approach to me.



can you test this a bit:

\unprotect

\setupcaptions
   [\c!maxwidth=.75\hsize]


Thank you very much. The patch that you sent me for strc-flt.mkvi
seems to work as expected on a long document with many figures.

The only exception are one-liners. The following creates a caption
that extends to almost the whole text width:

 \placefigure
   % Why are there two spaces between dummy and text?
   {Some \dorecurse{7}{dummy } text}
   {\externalfigure[dummy][width=\textwidth,height=.2\textwidth]}

As soon as slightly more text is added, it shrinks to the desired text width.


oneliners have a separate branch



(But then again I'm not sure if that is a bug or a feature ;)

Mojca
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@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 | voip: 087 875 68 74 | www.pragma-ade.com
 | www.pragma-pod.nl
-
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@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
___

Re: [NTG-context] Maximum width of a caption

2015-01-05 Thread Mojca Miklavec
On Sun, Jan 4, 2015 at 12:30 PM, Hans Hagen wrote:
 On 1/3/2015 11:11 AM, Mojca Miklavec wrote:

 Hi,

 Is there any way to set the maximum width of a caption? I would like
 to make sure that no figure caption exceeds, say, 75% of text width.

 Here's an example of bad behaviour in the second figure:

 \starttext

 \reservefigure
 [width=5cm,height=2cm,frame=on][force]
 {Some very small figure with not too much text: OK}

 \input tufte

 This can hardly be distinguished from the main text:

 \reservefigure
 [width=\textwidth,height=.2\textwidth,frame=on][force]
 {\input tufte}

 \input tufte

 Desired behaviour:

 \placefigure[force]{\input tufte}
 {\hbox to
 .75\textwidth{\hss\framed[width=\textwidth,height=.2\textwidth]{}\hss}}

 \input tufte

 \stoptext

 I've seen an option maxwidth, but only in connection to
 \externalfigure[...][maxwidth=...].

 I can cheat as on the third figure above, but that seems like an ugly
 approach to me.


 can you test this a bit:

 \unprotect

 \setupcaptions
   [\c!maxwidth=.75\hsize]

Thank you very much. The patch that you sent me for strc-flt.mkvi
seems to work as expected on a long document with many figures.

The only exception are one-liners. The following creates a caption
that extends to almost the whole text width:

\placefigure
  % Why are there two spaces between dummy and text?
  {Some \dorecurse{7}{dummy } text}
  {\externalfigure[dummy][width=\textwidth,height=.2\textwidth]}

As soon as slightly more text is added, it shrinks to the desired text width.

(But then again I'm not sure if that is a bug or a feature ;)

Mojca
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@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
___

Re: [NTG-context] Maximum width of a caption

2015-01-04 Thread Hans Hagen

On 1/3/2015 11:11 AM, Mojca Miklavec wrote:

Hi,

Is there any way to set the maximum width of a caption? I would like
to make sure that no figure caption exceeds, say, 75% of text width.

Here's an example of bad behaviour in the second figure:

\starttext

\reservefigure
[width=5cm,height=2cm,frame=on][force]
{Some very small figure with not too much text: OK}

\input tufte

This can hardly be distinguished from the main text:

\reservefigure
[width=\textwidth,height=.2\textwidth,frame=on][force]
{\input tufte}

\input tufte

Desired behaviour:

\placefigure[force]{\input tufte}
{\hbox to 
.75\textwidth{\hss\framed[width=\textwidth,height=.2\textwidth]{}\hss}}

\input tufte

\stoptext

I've seen an option maxwidth, but only in connection to
\externalfigure[...][maxwidth=...].

I can cheat as on the third figure above, but that seems like an ugly
approach to me.


can you test this a bit:

\unprotect

\setupcaptions
  [\c!maxwidth=.75\hsize]

\def\strc_floats_prepare_stack_caption_auto
  {\ifx\p_strc_floats_caption_align\empty \else

\doifnotinset\v!middle\p_strc_floats_caption_align{\let\captionovershoot\!!zeropoint}%
   \fi
   \edef\captionhsize{\the\wd\b_strc_floats_content}%
\scratchwidth\floatcaptionparameter\c!maxwidth\relax
   \ifdim\captionhsize.75\hsize
 % float is wider than \hsize
 \setbox\b_strc_floats_caption\vbox
   {\settrialtypesetting
\strc_floats_caption_set_align
\hsize\scratchwidth
\notesenabledfalse
\strc_floats_make_complete_caption}%
 \ifdim\ht\scratchbox\lineheight % more lines
   \setbox\b_strc_floats_caption\vbox
 {\strc_floats_caption_set_align
  \hsize\dimexpr\captionhsize-\captionovershoot\relax
  \ifdim\hsize\captionminwidth\relax
\hsize\scratchwidth
  \fi
  \strc_floats_make_complete_caption}%
 \else
   \setbox\b_strc_floats_caption\vbox
 {\strc_floats_caption_set_align
\hsize\scratchwidth
  \strc_floats_make_complete_caption}%
 \fi
   \else
 % float is smaller of equal to \hsize
 \ifdim\captionhsize\captionminwidth\relax
   \scratchdimen\captionminwidth % float smaller than min width
   \edef\captionhsize{\the\scratchdimen}%
 \fi
 \setbox\scratchbox\vbox % test with overshoot
   {\settrialtypesetting

\scratchdimen\dimexpr\captionhsize+\captionovershoot+3\emwidth\relax % 
3em is an average word length

\ifdim\scratchdimen\hsize
  \hsize\scratchdimen
\fi
\notesenabledfalse
\strc_floats_make_complete_caption}%
 \ifdim\ht\scratchbox\lineheight
   % at least an average word longer than a line
   \setbox\b_strc_floats_caption\vbox
 {\strc_floats_caption_set_align
  \scratchdimen\dimexpr\captionhsize+\captionovershoot\relax
  \ifdim\scratchdimen\hsize
\hsize\scratchdimen
  \fi
  \strc_floats_make_complete_caption}%
 \else\ifx\p_strc_floats_caption_align\empty
   \setbox\b_strc_floats_caption\vbox
 {\strc_floats_caption_set_align
  \hsize\captionhsize
  \raggedcenter % overloads
  \strc_floats_make_complete_caption}%
 \else
   \setbox\b_strc_floats_caption\vbox
 {\strc_floats_caption_set_align
  \hsize\captionhsize
  \strc_floats_make_complete_caption}%
 \fi\fi
   \fi}

\protect


-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
 | www.pragma-pod.nl
-
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@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
___

[NTG-context] Maximum width of a caption

2015-01-03 Thread Mojca Miklavec
Hi,

Is there any way to set the maximum width of a caption? I would like
to make sure that no figure caption exceeds, say, 75% of text width.

Here's an example of bad behaviour in the second figure:

\starttext

\reservefigure
[width=5cm,height=2cm,frame=on][force]
{Some very small figure with not too much text: OK}

\input tufte

This can hardly be distinguished from the main text:

\reservefigure
[width=\textwidth,height=.2\textwidth,frame=on][force]
{\input tufte}

\input tufte

Desired behaviour:

\placefigure[force]{\input tufte}
{\hbox to 
.75\textwidth{\hss\framed[width=\textwidth,height=.2\textwidth]{}\hss}}

\input tufte

\stoptext

I've seen an option maxwidth, but only in connection to
\externalfigure[...][maxwidth=...].

I can cheat as on the third figure above, but that seems like an ugly
approach to me.

Thank you,
Mojca
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@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
___