From: Rik Kabel <context@rik.users.panix.com>
To: ntg-context@ntg.nl
Subject: Re: Margin heading problem, was Re: sections
Date: Thu, 05 Jun 2014 17:41:50 -0400 [thread overview]
Message-ID: <5390E41E.2020703@rik.users.panix.com> (raw)
In-Reply-To: <538D05B6.5070907@rik.users.panix.com>
On 2014-06-02 19:16, Rik Kabel wrote:
> On 2014-06-02 04:09, Hans Hagen wrote:
>> On 6/2/2014 3:44 AM, Rik Kabel wrote:
>>> On 2014-06-01 12:52, Hans Hagen wrote:
>>>> On 6/1/2014 5:40 PM, Rik wrote:
>>>>
>>>>> Is this also the cause of problems I noted with heading placed into
>>>>> the
>>>>> margin, as in the example below?
>>>>
>>>> no, unrelated, try this:
>>>>
>>>> \setuphead
>>>> [section]
>>>> [after={\strut\blank[-2*line,samepage,disable]},
>>>> command=\SectionCommand,
>>>> distance=0pt]
>>>>
>>>> \define[2]\SectionCommand{\inleft{XXXXXX}}
>>>
>>> That was fine until it ran into \setupwhitespace with a non-zero value.
>>> Fiddling with the after key \blank does not appear to help.
>>>
>>> \define[2]\MarginHead{\inmargin{#1\\#2}}
>>> \setuphead [section]
>>> [command=\MarginHead,
>>> distance=0pt,
>>> after={\strut\blank[-2*line,samepage,disable]}]
>>> %% With no \setupwhitespace, or any \setupwhitespace setting that
>>> %% results in zero interparagraph whitespace, all is well.
>>> %setupwhitespace [none]% okay
>>> %setupwhitespace [fix]% okay
>>> %% With non-zero interparagraph whitespace, the heading separates
>>> %% from the text
>>> \setupwhitespace [line]% bad
>>> \starttext
>>> \startchapter[title={Weisman}]
>>> \input weisman\par
>>> \input weisman
>>> \startsection[title={Thuan}]
>>> \input thuan\par
>>> \input thuan
>>> \stopsection
>>> \stopchapter
>>> \stoptext
>>
>> you can always skip back whitespace or add 'nowhite'
>
> Well, nowhite is a start, but the solution is still a way off.
> Meanwhile, the following works for non-grid layouts with reasonable
> values for \setupwhitespace, although perhaps somebody can come up with
> a more eloquent way to write it:
>
> \newdimen\SectionHeadSkip
> \SectionHeadSkip\dimexpr-2\lineheight-\parskip\relax
> \setuphead
> [section]
> [command=\SectionCommand,
> distance=0pt,
> after={\strut\blank[\the\SectionHeadSkip,samepage,disable,nowhite]},
> ]
> \define[2]\SectionCommand
> {\inmargin{#1 – #2}}
>
A better formulation (better because it preserves any stretch that might
defined by \setupwhitespace):
\setupwhitespace [big]
\newdimen\Parskip
\Parskip\dimexpr-\parskip\relax
\setuphead
[section]
[command=\SectionCommand,
distance=0pt,
after={\strut\blank[\the\Parskip,-2*line,
samepage,disable,nowhite]},
]
\define[2]\SectionCommand
{\inmargin{#1 – #2}}
As with the previous, \Parskip has to be redefined if \setupwhitespace
changes, so it is probably best left until after \starttext, when the
body font is established.
> When enabling grid layouts, the number of lines needs to be adjusted.
No, it is not stable on grid layouts. Sections that have a figure placed
as the first thing will be a line off.
>
> Floats that appear as the first thing after a heading may present
> problems, especially with larger values for \setupwhitespace. (The
> default, with no location= specified, is pretty good, but when
> location={left,force} or such, there is often an unwanted offset from
> the header. and page breaks still appear between the heading and figure
> at times, despite the samepage setting for \blank.)
>
> So, this is quite fragile. It requires careful checking of every
> heading, and manual tuning when one breaks. Not a desirable solution,
> but at least it is possible.
Still fragile.
--
Rik Kabel
___________________________________________________________________________________
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
___________________________________________________________________________________
prev parent reply other threads:[~2014-06-05 21:41 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-02 1:44 Rik Kabel
2014-06-02 8:09 ` Hans Hagen
2014-06-02 23:16 ` Rik Kabel
2014-06-05 21:41 ` Rik Kabel [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5390E41E.2020703@rik.users.panix.com \
--to=context@rik.users.panix.com \
--cc=ntg-context@ntg.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).