Aha. When I'm not using \startsetup...\stopsetups things are more
forgiving; once those are in place things became a little more strict
in two regards --
- The \switchtobodyfont (or, more technically accurate, the
\setupinterlinespace) must be inside of the \framed. I had tried it
both ways and had never seen the difference because of...
- Not terminating the final line with \par. If my case had required
three lines I would have seen the issue, because the first two lines
would have had the proper spacing under one of my tests..
Interestingly if I nest more \frameds, each one needs it's own
\setupinterlinespace.
One more interesting point, in case this helps anyone out, is I find
that the behavior also changes if \framed has an offset vs.
offset=overlay or offset=none. To get the proper line spacing when
there is an offset you need to \switchtobodyfont both inside and
before \framed. With offset=overlay or offset=none, it is only
necessary to \switchtobodyfont inside \framed.
I found that using style={\switchtobodyfont} was ignored in this case,
but Wolfgang's suggestion (in another email) of creating a separate
\startsetups/\stopsetups block and passing it via setups= to \framed
worked perfectly.
Hans, Wolfgang -- thanks for your help!
Brian
Quoting Hans Hagen <[email protected]>:
Brian R. Landy wrote:
Understood, but actually it is obeying the 12pt switchtobodyfont
for the interline spacing in the backgrounds. It is not using
either the layer's switchtobodyfont, which I think should be
correct behavior, nor is it obeying the setupbodyfont. Note that
the font size is correct, it is the interline spacing that is
incorrect.
sure, it depends a bit how it's set up ... \setlayer is kind of
immediate (so there the current settinsg apply) while the flushing
happens under global bodyfont control; if one uses setups and fills
the layer delayed (as part of setupheadertexts) it's delayed as
setup*texts is delayed
keep in mind that tex only sets interlinespace when \par is issued so
{ [set spacing] [text] }
{ [set spacing] [text] \par }
are different things
btw, often the easiest way to set a bodyfont in for instance layers is:
\setlayerframed[...][...][style={\switchtobodyfont}]
turning the frame on then also helps tracking down problems
concerning your problem, experiment a bit with adding \par and so
otherwise add some \setupinterlinespace (no argument)
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | fax: 038 477 53 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 : [email protected] /
http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : https://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : [email protected] / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : https://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________