Hi Hans,
On 31 Jul 2020, at 10:32, Hans Hagen
wrote: Hi,
Sorry for the long mail ...
One of the changes in lmtx is that we freeze the properties that determine the paragraph shape as well as breaking into lines in such a way that we have predictable behaviour. As a side effect it can be that existing code (lmtx only) will behave differently (will be fixed when we notice) but also that some low level user tweaking can not work, i.e. they are just ignored, but only when they happen mid paragraph which actually is always debatable anyway.
Now, if for some reasom you get unexpected results and can't wait for a fix, you can do this:
\forgetparagraphfreezing : disables \setparagraphfreezing : enables (default)
Are those global or local or can they be prefixed? For example, can we do this: \setparagraphfreezing …. \placefigure[left]{}{} {Bla bla \forgetparagraphfreezing .. <override some stuff> } or would that still trigger the built-in freeze ?
Of course it might have other side effects once in lmtx we everywhere expect freezing to be enabled. You can take a snapshot with:
\freezeparagraphproperties : snapshot relevant parameters \defrostparagraphproperties : resets snapshot
More efficient is snapshotting a subcategory:
\updateparagraphproperties : all \updateparagraphpenalties : only penalties \updateparagraphdemerits : other than penalties \updateparagraphshapes : hangindent etc
Don't use the low level commands that they use because we take plenty of time to experiment at that level and interfaces might evolve, for instance:
\frozen\hangindent 30pt \frozen\hangafter 2
is valid and will likely stay.
We're talking of a conceptually rather different approach. Internally the engine is still doing the same things but we can control it a bit differently. Due to the way ConTeXt is set up, we can make such a paradigm shift without too much troubles. I'll wrap up more details in an article later.
Other work in progress is: better columns in itemize, esp proper footnote support (not that I ever need that but I know users do so ...), experiments work ok, but I need to check spacing. In general, footnotes (will) behave a bit better, especially those used nested in other mechanisms. A side effect of more control is that we can do other tricks too and we're playing with it (kind of fun).
More work in progress concerns paragraph wrappers and that will result in a rewrite of some existing mechanism (generic subsystems with instances), but that might as well go unnoticed.
To give an idea of possibilities, here is an example:
\definedescription[whatever][alternative=right:bottom]
\startwhatever{just a small\\example} \input ward \stopwhatever
No one ever requested it so see it an a quick and dirty example but don't hesitate to ask for more anyway (we like an occasional challenge).
Anyway, it might take some weeks / iterations before all this settles down and now you can't say that we didn't warn you.
So far,
Hans
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | 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://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________
Taco Hoekwater Elvenkind BV