This code writes the subtype of disc nodes to the log file.

show_hyph = function(head)
  while head do
    if head.id == 0 or head.id == 1 then % hlist, vlist
    elseif head.id == 7 then             % disc
      texio.write_nl("Subtype " .. head.subtype)
  head = head.next
  return true



The LuaTeX reference manual says in section “disc nodes”

pre <node> pointer to the pre-break text

How do I access this?


How do I access this?

This is very simple and straightforward: use head.pre to access the list pointing to the pre part of the discretionary.

Now the question you might ask next is "why is the pre-part nil?" This is because you call your function show_hyph() on the post_linebreak_filter. At that point the pre part is already inserted before that disc node and thus the pre part is empty. The same is with post and replace. What I can't tell you is why the disc node stays in the node list.

  • OK. I was hoping to use this to review the hyphenations, but it seems it is not that simple. – Håkon Malmedal Jun 19 '12 at 17:57
  • @HåkonMalmedal Just ask another question on "how to review ... " and I'll think of a solution :) – topskip Jun 19 '12 at 18:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.