If I have a callback called just after paragraph has been split into lines, would not be enough to count the number of hboxes in the vbox the paragraph itself is contained ? Cannot say it’s ideal (easier to simply read tex.prevgraf for sure), but might be possible, unless I missed something (totally possible).


In a couple of cases I see \prevgraf being larger than number of lines of previous paragraph, including lines for paragraph before than one as well. Could not create a MWE unfortunately to reproduce this case so far.


I’ll try to amend my dropcaps/lettrine logic then. What are the reasons behind this change in \prevgraf TeX primitive which AFAIK exists since TeX has been written ? I thought that one of the strong points in TeX was overall stability of its behaviour among versions. Here with this semantic change in \prevgraf in recent luatex, this stability is a bit broken IMO.




De : Hans Hagen
Envoyé le :lundi 5 mars 2018 10:15
À : ntg-context@ntg.nl
Objet :Re: [NTG-context] prevgraf change if page break occurs in a paragraph


On 3/5/2018 9:43 AM, Joseph Canedo wrote:

> I see. I use prevgraf to get number of lines in most recent paragraph to

> compute eventually hangindent if there is a lettrine in paragraph (in

> case first paragraph has fewer lines than the lettrine itself, of course

> next paragraph needs to setup hangindent properly).


but .. that one is then still on the same page; in fact, you should

check for realpage being changed then


> I guess as an alternative, I could use the callback after paragraph is

> split in N lines to count the number of lines, or is this number can be

> accessed via some other existing variable in tex lua « table » ?

> Currently I access prevgraf value Inside lua. Probably better than

> making things more complicated in luatex itself.

prevgraf is still ok after a 7 line paragraph but ... when you cross a

page, and have say 4 lines moved to the next one, then a 7 line

hangafter would be wrong (you can check if a par is on the same page)


with callbacks after breaking in lines you still don't know ...





                                           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