[NTG-context] Problem with margin figures and whitespace in text

2015-04-25 Thread Rik Kabel
I have two problems with figures placed into the left or right margin. 
When the figure is in a group, extra whitespace is inserted between the 
paragraphs that precede and follow the placefigure command. This happens 
for figures placed by startplacefigure/stopplacefigure and tradiitonal 
placefigure commands, and paragraphs placed by 
startparagraph/stopparagraph or marked by par or newlines.


When the figure is not in a group, whitespace called for by 
\setupwhitespace is lost, except when the paragraphs are marked by 
traditional means. That is, whitespace is lost when 
startparagraph/stopparagraph is used.


Interestingly, when that is changed to bpar/epar, the problem for 
ungrouped figures disappears, but as I understand it, bpar/epar is not a 
real substitute for startparagraph/stopparagraph.


There is probably a simple explanation, but it eludes me. I prefer to be 
able to use startparagraph/stopparagraph, and it is sometimes desirable 
to place a figure into a group in order to prevent unique settings from 
leaking out.


The following should demonstrate the problem. Turning on grid setting 
makes it worse. I get the same result with current betas and older versions.


   \useMPlibrary   [dum]
   %\showgrid
   \setuplayout[%grid=yes,
 backspace=151pt,leftmargin=117pt]
   \setupwhitespace[big]
   \define\Paragraph{\startparagraph\input khatt-en\stopparagraph}
   \starttext
   {
  \subject{Start/stop paragraphs and figures}
  \subsubject{Group, extra whitespace}
  \Paragraph
  \Paragraph
  \begingroup
\startplacefigure[location={leftmargin,none}]
  \externalfigure[A]
\stopplacefigure
  \endgroup
  \Paragraph
  \Paragraph
  \subsubject{No group, no whitespace}
  \Paragraph
  \Paragraph
  \startplacefigure[location={leftmargin,none}]
\externalfigure[A]
  \stopplacefigure
  \Paragraph
  \Paragraph
  \Paragraph
   }
  \page
   {
  \subject{Start/stop paragraphs, traditional figures}
  \subsubject{Group, extra whitespace}
  \Paragraph
  \Paragraph
  {\placefigure[leftmargin,none]{}{\externalfigure[A]}}
  \Paragraph
  \Paragraph
  \subsubject{No group, no whitespace}
  \Paragraph
  \Paragraph
  \placefigure[leftmargin,none]{}{\externalfigure[A]}
  \Paragraph
  \Paragraph
  \Paragraph
   }
  \page
   {
  \subject{Traditional paragraphs, start/stop figures}
  \subsubject{Group, extra whitespace}
  \input khatt-en\par
  \input khatt-en\par
  \begingroup% or \bgroup or {
\startplacefigure[location={leftmargin,none}]
  \externalfigure[A]
\stopplacefigure
  \endgroup% or \egroup or }
  \input khatt-en\par
  \input khatt-en\par
  \subsubject{Okay}
  \input khatt-en\par
  \input khatt-en\par
  \startplacefigure[location={leftmargin,none}]
\externalfigure[A]
  \stopplacefigure
  \input khatt-en\par
  \input khatt-en\par
  \input khatt-en\par
   }
  \page
   {
  \subject{Traditional paragraphs, traditional figures}
  \subsubject{Group, extra whitespace}
  \input khatt-en\par
  \input khatt-en\par
  {\placefigure[leftmargin,none]{}{\externalfigure[A]}}
  \input khatt-en\par
  \input khatt-en\par
  \subsubject{Okay}
  \input khatt-en\par
  \input khatt-en\par
  \placefigure[leftmargin,none]{}{\externalfigure[A]}
  \input khatt-en\par
  \input khatt-en\par
  \input khatt-en\par
   }
   \stoptext

--
Rik
___
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] Problem with margin figures and whitespace in text

2015-04-26 Thread Hans Hagen

On 4/26/2015 3:32 AM, Rik Kabel wrote:

I have two problems with figures placed into the left or right margin.
When the figure is in a group, extra whitespace is inserted between the
paragraphs that precede and follow the placefigure command. This happens
for figures placed by startplacefigure/stopplacefigure and tradiitonal
placefigure commands, and paragraphs placed by
startparagraph/stopparagraph or marked by par or newlines.

When the figure is not in a group, whitespace called for by
\setupwhitespace is lost, except when the paragraphs are marked by
traditional means. That is, whitespace is lost when
startparagraph/stopparagraph is used.

Interestingly, when that is changed to bpar/epar, the problem for
ungrouped figures disappears, but as I understand it, bpar/epar is not a
real substitute for startparagraph/stopparagraph.

There is probably a simple explanation, but it eludes me. I prefer to be
able to use startparagraph/stopparagraph, and it is sometimes desirable
to place a figure into a group in order to prevent unique settings from
leaking out.


you can test with this in cont-new.mkiv

\unprotect

\def\page_sides_inject_dummy_lines
  {\begingroup
   \scratchcounter\pageshrink
   \divide\scratchcounter \baselineskip
   \advance\scratchcounter \plusone
   \parskip\zeropoint
   \dorecurse\scratchcounter{\hbox to \hsize{}}%
   \kern-\scratchcounter\baselineskip
   \penalty\zerocount
   \endgroup}

\def\page_sides_prepare_space
  {\par
  %\whitespace
   \begingroup
   \forgetall
   \reseteverypar
   \verticalstrut
   \vskip-\struttotal
   \endgroup}

\protect



The following should demonstrate the problem. Turning on grid setting
makes it worse. I get the same result with current betas and older versions.

\useMPlibrary   [dum]
%\showgrid
\setuplayout[%grid=yes,
  backspace=151pt,leftmargin=117pt]
\setupwhitespace[big]
\define\Paragraph{\startparagraph\input khatt-en\stopparagraph}
\starttext
{
   \subject{Start/stop paragraphs and figures}
   \subsubject{Group, extra whitespace}
   \Paragraph
   \Paragraph
   \begingroup
 \startplacefigure[location={leftmargin,none}]
   \externalfigure[A]
 \stopplacefigure
   \endgroup
   \Paragraph
   \Paragraph
   \subsubject{No group, no whitespace}
   \Paragraph
   \Paragraph
   \startplacefigure[location={leftmargin,none}]
 \externalfigure[A]
   \stopplacefigure
   \Paragraph
   \Paragraph
   \Paragraph
}
   \page
{
   \subject{Start/stop paragraphs, traditional figures}
   \subsubject{Group, extra whitespace}
   \Paragraph
   \Paragraph
   {\placefigure[leftmargin,none]{}{\externalfigure[A]}}
   \Paragraph
   \Paragraph
   \subsubject{No group, no whitespace}
   \Paragraph
   \Paragraph
   \placefigure[leftmargin,none]{}{\externalfigure[A]}
   \Paragraph
   \Paragraph
   \Paragraph
}
   \page
{
   \subject{Traditional paragraphs, start/stop figures}
   \subsubject{Group, extra whitespace}
   \input khatt-en\par
   \input khatt-en\par
   \begingroup% or \bgroup or {
 \startplacefigure[location={leftmargin,none}]
   \externalfigure[A]
 \stopplacefigure
   \endgroup% or \egroup or }
   \input khatt-en\par
   \input khatt-en\par
   \subsubject{Okay}
   \input khatt-en\par
   \input khatt-en\par
   \startplacefigure[location={leftmargin,none}]
 \externalfigure[A]
   \stopplacefigure
   \input khatt-en\par
   \input khatt-en\par
   \input khatt-en\par
}
   \page
{
   \subject{Traditional paragraphs, traditional figures}
   \subsubject{Group, extra whitespace}
   \input khatt-en\par
   \input khatt-en\par
   {\placefigure[leftmargin,none]{}{\externalfigure[A]}}
   \input khatt-en\par
   \input khatt-en\par
   \subsubject{Okay}
   \input khatt-en\par
   \input khatt-en\par
   \placefigure[leftmargin,none]{}{\externalfigure[A]}
   \input khatt-en\par
   \input khatt-en\par
   \input khatt-en\par
}
\stoptext

--
Rik


___
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

Re: [NTG-context] Problem with margin figures and whitespace in text

2015-04-26 Thread Rik Kabel

On 2015-04-26 14:01, Hans Hagen wrote:

On 4/26/2015 3:32 AM, Rik Kabel wrote:

I have two problems with figures placed into the left or right margin.
When the figure is in a group, extra whitespace is inserted between the
paragraphs that precede and follow the placefigure command. This happens
for figures placed by startplacefigure/stopplacefigure and tradiitonal
placefigure commands, and paragraphs placed by
startparagraph/stopparagraph or marked by par or newlines.

When the figure is not in a group, whitespace called for by
\setupwhitespace is lost, except when the paragraphs are marked by
traditional means. That is, whitespace is lost when
startparagraph/stopparagraph is used.

Interestingly, when that is changed to bpar/epar, the problem for
ungrouped figures disappears, but as I understand it, bpar/epar is not a
real substitute for startparagraph/stopparagraph.

There is probably a simple explanation, but it eludes me. I prefer to be
able to use startparagraph/stopparagraph, and it is sometimes desirable
to place a figure into a group in order to prevent unique settings from
leaking out.


you can test with this in cont-new.mkiv

\unprotect

\def\page_sides_inject_dummy_lines
  {\begingroup
   \scratchcounter\pageshrink
   \divide\scratchcounter \baselineskip
   \advance\scratchcounter \plusone
   \parskip\zeropoint
   \dorecurse\scratchcounter{\hbox to \hsize{}}%
   \kern-\scratchcounter\baselineskip
   \penalty\zerocount
   \endgroup}

\def\page_sides_prepare_space
  {\par
  %\whitespace
   \begingroup
   \forgetall
   \reseteverypar
   \verticalstrut
   \vskip-\struttotal
   \endgroup}

\protect

Thank you, Hans. That works well, both on the example and on a more 
complex real document.


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