# [texhax] Displaying the \current value of \prevgraf in the log file

Paul Isambert zappathustra at free.fr
Mon Nov 14 09:14:46 CET 2011

Le 13/11/2011 20:01, Philip TAYLOR a écrit :
>
>
> Paul Isambert wrote:
>
>> prevgraf. For instance "abc\par\showlists\bye" produces:
>>
>> ### vertical mode entered at line 0
>> ### current page:
>> ... blah blah ...
>> total height 10.0
>> goal height 643.20255
>> prevdepth 0.0, prevgraf 1 line
>
> Oh ... I tried something similar, and saw
> prevdepth but no prevgraf -- let me try
> your example and see how it differs ...
>
> Yes, you're quite right : \showlists after
> a non-empty paragraph and a \par does indeed
> show the current value of \prevgraf.  Unfortunately
> it doesn't help me to find the value at a \vadjust !

abc\par abc\vadjust{abc\par\showlists}\bye % Prevgraf, but of course, of
the first paragraph in the \vadjust

But I suppose you're interested in the the first line?
Apparently, \showlists displays prevgraf when non-zero, i.e. only in
vmode after a paragraph (which is also how I understand the code from
tex.web).

So, at the beginning of a \vadjust (i.e. before a paragraph), even if
you retrieved \prevgraf, it would be 0, as it is in horizontal mode or
in vertical mode in an empty list. Your problem is thus rather to make
\prevgraf survive a little bit longer; apart from hacking \par to
something like \def\par{\endgraf\mycount=\prevgraf}, I can't see a
solution. Unless you're willing to go LuaTeX, in which case the \par
hack can be made a little bit more elegant (and less dangerous) with:

callback.register("post_linebreak_filter",
function (h)
tex.count.mycount = tex.nest[tex.nest.ptr].prevgraf
return h
end)

Best,
Paul