Проблемы построчных переносов и выключки
Большинство программ верстки осуществляет функцию переноса и выключки построчно, и когда завершает работу с одной строкой, тут же забывает о ней и начинает на следующей строке все сызнова. Гипотетическая программа, которая описана в предыдущем разделе, работает примерно так. Проблема такого подхода состоит в том, что часто строка не может быть размещена оптимально з пределах доступного пространства. В таком случае у программы единственный выход: нарушить правила, набирая строку слишком разреженно или слишком плотно (рис. 10.4). Чаще — разреженно, чем плотно.
Программа может также сверстать одну строку, используя только минимальные значения пробелов (таким образом, получая относительно плотную строку), а следующую, используя максимальные значения пробелов (создавая относительно разреженную строку). Поскольку программа не принимает
Во внимание то, что делала на предыдущей строке, она и не замечает контраста строк. Однородные строки трудно получить, когда каждая строка набирается независимо от других.
У вас могут возникнуть трудности с последней строкой абзаца, если эта строка коротка, иногда слишком коротка для того, чтобы перекрыть отступ в последующем абзаце и устранить неприглядный пробел. Сходным образом вы можете запретить программе перенос последнего слова абзаца (при условии, что это допустимо), но она будет вынуждена сделать этот перенос для того, чтобы остаться в пределах предписанных величин пробелов.
Единственный способ разрешения этой дилеммы (кроме решения проблем вручную) — это использование программы, у которой функция переносов и выключки учитывает одновременно несколько строк.