在 LuaTeX 中访问指针

在 LuaTeX 中访问指针

此代码将圆盘节点的子类型写入日志文件。

\documentclass{minimal}
\usepackage{fontspec}
\directlua{
show_hyph = function(head)
  while head do
    if head.id == 0 or head.id == 1 then % hlist, vlist
      show_hyph(head.head)
    elseif head.id == 7 then             % disc
      texio.write_nl("Subtype " .. head.subtype)
    end
  head = head.next
  end
  return true
end
luatexbase.add_to_callback("post_linebreak_filter",show_hyph,"show_hyph")

}

\begin{document}
\begin{minipage}{1pt}
  discretionary
\end{minipage}
\end{document}

LuaTeX 参考手册第 8.1.2.7 节“圆盘节点”中提到

pre <node>指向休息前的文本

我如何访问它?

答案1

我如何访问它?

这非常简单明了:用于head.pre访问指向属于自由裁量权的一部分。

现在你可能会问的问题是“为什么前部分为零?”这是因为你show_hyph()邮政_linebreak_filter。此时部分已经插入到该磁盘节点之前,因此部分是空的。邮政代替. 我不能告诉你的是为什么磁盘节点停留在节点列表中。

相关内容