Я бы поддержал предложение Марка: увеличьте максимальное неровное пространство (maximum ragged space) до 0.5 или выше. Система будет пробовать больше вариантов переноса строк, но она все равно будет пытаться уместить текст в как можно меньшее количество строк, и это также позволит оставить больше места на последней строке абзаца.
Текущий код позволяет последней строке абзаца включать дополнительное «неровное» (raggedness) пространство, и он очень не любит приближаться к пределу этой неровности. Как вы видели, если вы не позволяете «неровности» быть заметной, вы требуете от него выравнивания текста по ширине. На самом деле, вы требуете от него полного выравнивания текста по ширине, включая последнюю строку.
Если вы напишете \tracing{j} в вашем файле ptxprint-mods.tex, то в вашем журнале (log) появится много дополнительной информации, и интересные строки для этого вопроса будут выглядеть примерно так:
s@tsideskips p (p). 0.0pt/0.0pt, pf=0.0pt plus 1.0fil
s@tsideskips s1 (s1). 0.0pt plus 158.52597pt/0.0pt plus 158.52597pt, pf=0.0pt
Первые две показывают, сколько отступа и неровности разрешено слева / справа.
Последняя — это \parfillskip, и это мера того, сколько места разрешено на последней строке абзаца (до бесконечности для p, и никакого дополнительного места для центрированного s1). (возможно, это звучит слишком строго?? По сути, это говорит о том, что системе не следует заботиться о том, является ли последняя строка самой длинной)
s@tsideskips q2 (q2). 21.68065pt/0.0pt plus 79.26299pt, pf=0.0pt plus 79.26299p
t
Для выравнивания по правому краю (ragged-right) q2 я вижу, что неровность составляет 79.26pt, и на последней строке может быть дополнительное 79.26 пунктов, поэтому система будет очень недовольна, если разрешить более 169.5 пунктов пространства на последней строке.