On 2014-06-01 07:51, Hans Hagen wrote:
Hi Pablo,
The section breaks are a bit of a headache. In the old mechanism
(also mkii) we used penalties between different section levels
(different values so that there is some hierarchy).
In mkiv we have a weighted penalty/glue mechanism which has
advantages but can also create side effects. The method of a few
weeks ago coul deal with
\section followed by 100 \subsections
i.e. no text between this. In a strict mechanism you end up with
one long page fur to all the penalties. So, there was some
precaution for this. However that didn't work well with content
following sections that prefers breaks (read: section head
followed by e.g. itemize or tabulate).
So, the newer mechanism tries to analyze the page stream which
(currently) is somewhat tricky. That's why we need to iterate to
an acceptable solution.
Some of these mkiv mechanisms are already a bit old and could be
done better using some newer luatex trickery (but i need tome to
do that).
It would be nice to have a large test case for this (sort of hard
to make one as some trial and error is involved). As you already
have some, best collect them for future reference.
A new beta ...
Hans
Hans,
Is this also the cause of problems I noted with heading placed into
the margin, as in the example below?
% Extra whitespace after some marginal section
headings
%
% When section heads are set in the margin, the following
body
% text should start on the same line as the heading. This is
% the case with plain text, but not always the case with
other
% features (floats and enumerations). Wolfgang suggested
adding
% insidesection={blank[overlay]} to the section heading
setup, but
% that only helps with enumerations and with tabulate tables
that do
% not start with an HL (it fails with natural tables as
well). And
% that success only comes with start/stop sectioning. With
traditional
% sectioning, there are more failures.
%
%
\setupexternalfigures[location=default]
\setuphead
[section]
[alternative=text,
command=\SectionCommand,
distance=0pt,
insidesection={\blank[overlay]},
]
\define[2]\SectionCommand
{\inmargin{#1 – #2}}
\setuplayout[backspace=4cm]
\starttext
\startchapter[title={Start/Stop sectioning}]
\startsection[title={Okay with text first}]
Text here
\starttabulate
\FL \NC Knuth \NC \input{knuth} \NC\NR
\stoptabulate
\stopsection
\startsection[title={Okay with itemize}]
\startitemize
\item One
\item Two
\item Three
\stopitemize
\stopsection
\startsection[title={Okay with tabulate no HL}]
\starttabulate
\NC Knuth \NC \input{knuth} \NC\NR
\stoptabulate
\page
\stopsection
\startsection[title={Fail with tabulate HL}]
\starttabulate
\FL \NC Knuth \NC \input{knuth} \NC\NR
\stoptabulate
\stopsection
\startsection[title={Fail with TABLE frame}]
\bTABLE
\bTR \bTD Knuth \eTD\bTD \input{knuth} \eTD\eTR
\eTABLE
\stopsection
\startsection[title={Fail with TABLE no frame}]
\bTABLE[frame=off]
\bTR \bTD Knuth \eTD\bTD \input{knuth} \eTD\eTR
\eTABLE
\page
\stopsection
\startsection[title={Fails with figures}]
\startplacefigure[location=right,reference={fig:2},title={Caption}]
\externalfigure[cow.pdf][width=2cm]
\stopplacefigure
\input{tufte}
\stopsection
\stopchapter
\chapter{Traditional sectioning}
\section{Okay with text first}
Text here
\starttabulate
\FL \NC Knuth \NC \input{knuth} \NC\NR
\stoptabulate
\section{Fail with itemize}
\startitemize
\item One
\item Two
\item Three
\stopitemize
\page
\section{Fail with tabulate no HL}
\starttabulate
\NC Knuth \NC \input{knuth} \NC\NR
\stoptabulate
\section{Fail with tabulate HL}
\starttabulate
\FL \NC Knuth \NC \input{knuth} \NC\NR
\stoptabulate
\section{Fail with TABLE frame}
\bTABLE
\bTR \bTD Knuth \eTD\bTD \input{knuth} \eTD\eTR
\eTABLE
\section{Fail with TABLE no frame}
\bTABLE[frame=off]
\bTR \bTD Knuth \eTD\bTD \input{knuth} \eTD\eTR
\eTABLE
\page
\section[title={Fails with figures startstop}]
\startplacefigure[location=right,reference={fig:2},title={Caption}]
\externalfigure[cow.pdf][width=2cm]
\stopplacefigure
\input{tufte}
\section[title={Fails with figures traditional}]
\placefigure[right][fig:2]{Caption}
{\externalfigure[cow.pdf][width=2cm]}
\input{tufte}
\stoptext
--
Rik Kabel