此代码将圆盘节点的子类型写入日志文件。
\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。此时前部分已经插入到该磁盘节点之前,因此前部分是空的。邮政和代替. 我不能告诉你的是为什么磁盘节点停留在节点列表中。