On 16-2-2012 19:01, Philipp Gesang wrote:
On 2012-02-16 10:17, Hans Hagen wrote:
Hi,
I uploaded a beta. Apart from some fixes, the biggest change is in dealing with positional info and text backgrounds (first stage cleanup). As I have no clue to what extend users mess around with background graphics themselves, it's hard to predict side effects, but the biggest impact is speed. The adventurous might want to try out
Hi Hans,
there seems to be a typo in anch-pos.lua, line 100:
································································· - local r = collected[region] + local r = collected[tag] ·································································
(“region” references a boolean.)
not so much a typo but i'll add some more checks
Here’s an example that triggers the bug and works after the patch is applied. I have no idea as to why this exact series of macros causes the issue. Please have a look at it anyways because the text background looks weird even after.
································································· \definetextbackground[tb] \setuptyping[ after={\stoptextbackground}, before={\starttextbackground[tb]}, ]
add [location=paragraph]
\starttext
foo \starttyping bar \stoptyping baz
\starttabulate[|r|l|] \NC foo \NC bar \AR \stoptabulate%
^^ missing \NC
\stoptext ·································································
Regards Philipp
\setuptextbackground [mp=mpos:par:region, method=mpos:par:region]
or with some more visual tracing
\setuptextbackground [mp=mpos:par:region:kind, method=mpos:par:region]
A simple test with some 200 backgrounds brings down runtime with one second on my machine (not the fastest anyway).
Apart from a performance gain, backgrounds are now also supported in regular multicolumns as well as in some specific mechanisms like tabulate and xtables. In xtables one needs to set region=yes in order to get the desired results. Actually, the region key is a new one in framed so anything that can be framed can also have fancy text backgrounds.
Yet another improvement is that (although rather untested) you can do things like
\starttextbackground[r] START \dorecurse{10}{ \dorecurse{1}{\input ward } \placefigure[right]{}{} some text before BEGIN \dorecurse{2}{\input ward } END some after \placefigure[left]{}{} some text before BEGIN \dorecurse{2}{\input ward } END some after \placefigure[right]{}{} some text before BEGIN \dorecurse{2}{\input ward } END some after } STOP \stoptextbackground \dorecurse{1}{\input ward }
and get more or less expected results. Keep in mind that it can never get perfect due to all kind of possible interference. Also, keep away from internals as they will quite certainly change.
Hans
----------------------------------------------------------------- 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 ___________________________________________________________________________________
___________________________________________________________________________________ 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 -----------------------------------------------------------------