Алгоритм расстановки переносов

редактировать

Алгоритм переносов представляет собой набор правил, особенно один кодифицированный для реализации в компьютерной программе, которая решает на что указывает слово может быть разбита на две строки с дефисом. Например, алгоритм расстановки переносов может решить, что импичмент может быть отменен как импичмент или импичмент, но не импичмент.

Одна из причин сложности правил разбиения слов заключается в том, что разные «диалекты» английского языка имеют тенденцию различаться при расстановке переносов: американский английский обычно работает со звуком, а британский английский имеет тенденцию смотреть на происхождение слова, а затем звучать. Также существует большое количество исключений, что еще больше усложняет дело.

Некоторые практические правила можно найти в книге майора Кири: «О расстановке переносов - анархия педантизма». Среди алгоритмических подходов к расстановке переносов широко используется тот, который реализован в системе набора текста TeX. Это подробно описано в первых двух томах книги « Компьютеры и набор текста» и в диссертации Франклина Марка Ляна. Целью работы Ляна было сделать алгоритм настолько точным, насколько это возможно, и сделать любой словарь исключений небольшим.

В оригинальных шаблонах расстановки переносов для американского английского языка TeX список исключений содержит только 14 слов.

В TeX

Порты алгоритма расстановки переносов TeX доступны в виде библиотек для нескольких языков программирования, включая Haskell, JavaScript, Perl, PostScript, Python, Ruby, C # и TeX, которые можно настроить для отображения дефисов в журнале с помощью команды \showhyphens.

В LaTeX исправление переносов может быть добавлено пользователями с помощью:

\hyphenation{words}

Команда \hyphenationобъявляет разрешенные точки переноса, в которых слова представляют собой список слов, разделенных пробелами, в котором каждая точка переноса обозначена -символом. Например,

\hyphenation{fortran er-go-no-mic}

заявляет, что в текущем задании слово «fortran» не должно переноситься через дефис и что если слово «эргономичный» должно быть расставлено через дефис, оно будет в одном из указанных пунктов.

Однако есть несколько ограничений. Например, стандартная \hyphenationкоманда по умолчанию принимает только буквы ASCII, поэтому ее нельзя использовать для исправления переносов слов с символами, отличными от ASCII (например, ä, é, ç), которые очень распространены почти во всех языках, кроме английского. Однако существуют простые обходные пути.

Ссылки
внешняя ссылка
Последняя правка сделана 2023-04-13 12:56:34
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте