Почему в статье такие странные разрывы строк?

Почему в статье такие странные разрывы строк?

Это может быть неуместным вопросом для этого форума, так как у меня нет кода LaTex для публикации. Если так, culpa mea!

Мой вопрос: я вижу некоторые, на мой взгляд, очень неуклюжие переносы слов для переносов строк в статье по физике, которую я рецензирую. Она написана в LaTex в две колонки для журнальной публикации. Мне вообще интересно, почему LaTex может делать такие странные выборы.

В частности, в некоторых случаях слово во множественном числе, заканчивающееся на 's', разрывается на строке только с завершающим 's' на новой строке. Аналогично, несколько коротких аббревиатур (три и четыре буквы) разрываются одной буквой до или после разрыва.

Хотя столбцов два, шрифт относительно небольшой, подумайте о количестве слов в столбце Physics Review Letter, поэтому я не думаю, что алгоритм типографики, балансирующий между словами и переносами, слишком ограничен. Нормально ли такое поведение для LaTex? Выглядит очень странно. Кто-нибудь знает, является ли это распространенным побочным эффектом распространенного пакета?

Спасибо

решение1

Ну, LaTeX (или TeX, если на то пошло) может делать всякие отвратительные вещи, если его достаточно попросят сделать это. То, что вы описываете (не приводя примера, что немного затрудняет возможность сделать что-то большее, чем просто догадываться), поскольку указывает на то, что файл класса для этого журнала сильно сломан, вероятно, из-за одного или двух недоразумений со стороны человека, который его написал.

Вот мое предположение о том, что произошло:

  • TeX имеет два параметра \lefthyphenmin, \righthyphenminкоторые определяют минимальную длину символов, которые должны быть в конце слова после переноса. Значения по умолчанию для них — 3 и 2, поэтому слова, состоящие всего из четырех символов, никогда не переносятся, если задано значение по умолчанию.

  • Теперь вы можете увеличить любой из параметров, например, запросив \righthyphenmin=3, однако вы не можете фактически уменьшить значение, не создавая хаоса — и именно это происходит в вашем случае ( \righthyphenminдолжно быть каким-то образом установлено значение 1, иначе вы не смогли бы получить завершающий одиночный символ в следующей строке).

Причина, по которой вы не можете уменьшить значение по умолчанию, проста: все стандартные шаблоны для большинства (или даже всех?) языков были построены с предположением, что минимальные значения равны 3,2. Таким образом, если вы установите его на 1, то шаблон может допускать разрывы всего с 1 символом просто потому, что у них нет правил для предотвращения этого, поскольку это предполагается невозможным случаем (делает шаблон намного меньше).

Теоретически можно построить шаблон, который будет работать правильно с 1,1 (и если в языке есть несколько слов, которые на самом деле допускают перенос дефиса, приводящий к образованию части слова из одного символа, они будут работать правильно), но набор шаблонов будет слишком большим, чтобы предотвратить все плохие, поэтому это не делается).

Так что я предполагаю, что класс на самом деле установил минимальные значения на 1, ошибочно предполагая, что это помогает переносу строк в небольших мерах, не нанося никакого вреда. Ну, это действительно помогает, но и наносит большой вред :-)

Так что если мое предположение верно, то класс следует исправить.

Связанный контент