关于确定 LuaTeX 节点列表中的单词边界,应将什么视为最佳实践?
我看到一些包使用了类似这样的东西:
while ((MOVE.id == node.id("glyph")) or (MOVE.id == node.id("kern")) or (MOVE.id == node.id("disc")) or (MOVE.id == node.id("hlist"))) do
MOVE = MOVE.next
end
但我想知道那里是否存在问题,例如包插入其他节点。
目前我使用:
if MOVE.id == node.id ( "glue" ) or ( MOVE.id == node.id ( "kern" ) and MOVE.subtype == 1 ) then break end
在 luatex 手册的第 72 页上,显示了连字符的单词边界规则的表格:
那么我应该包括边界节点吗?
为什么惩罚或核节点一定需要指示单词的结束?
“否则:是”是什么意思?