you are proving my point aren't you?
\setbox0\hbox{\input tufte } \directlua{ local n,t,head head = tex.box[0].head n, t = tex.linebreak(node.copy_list(head), {looseness=1}) print("1.1",t.looseness) n, t = tex.linebreak(node.copy_list(head), {looseness=0}) print("1.2",t.looseness) } \directlua{ local n,t,head head = tex.box[0].head n, t = tex.linebreak(node.copy_list(head), {looseness=1, tolerance=4500, pretolerance=100, emergencystretch=655360 }) print("2.1",t.looseness) n, t = tex.linebreak(node.copy_list(head), {looseness=0, tolerance=4500, pretolerance=100, emergencystretch=655360 }) print("2.2",t.looseness) } \tolerance4500 \pretolerance100 \emergencystretch10pt \directlua{ local n,t,head head = tex.box[0].head n, t = tex.linebreak(node.copy_list(head), {looseness=1}) print("3.1",t.looseness) n, t = tex.linebreak(node.copy_list(head), {looseness=0}) print("3.2",t.looseness) }1.1 0 1.2 0 2.1 1 2.2 1 3.1 1 3.2 1
1.2 2.2 and 3.2 should show "0" given that we run the linebreaking with looseness zero but 2.1 and 3.1 still show "1"
and if you add t.prevgraf you can see that it actually does do looseness correctly:
1.1 0 7 1.2 0 7 2.1 1 8 2.2 1 7 3.1 1 8 3.2 1 7 am I missing something? the first column reports wrong values frank
