Переносы по алгоритму TeX

  • Автор темы Автор темы JAW
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
Ответ: Переносы по алгоритму TeX

Ага, теперь понимаю.

Но всё равно, разные люди — разные ошибки :) (пусть даже и алгоритмы похожие).

Вы не возражаете, если я скачаю с вашего сайта «протокол тестирования» на Большом словаре?

P.S.: А классов у меня (и у Лянга) пока нет. Просто я подумал, что было бы разумным их ввести...
 
Ответ: Переносы по алгоритму TeX

На самом деле мне очень бы не хотелось задеть ваши коммерческие интересы. Я-то занимаюсь этим из интереса, а вам это доход приносит...
 
Ответ: Переносы по алгоритму TeX

Игорь.
При всём уважении... Почитайте и главу из Кнута, в которой достаточно подробно изложен алгоритм. Повторюсь... вложена в 8 сообщение.

Алгоритм Лянга (в реализации Кнута) состоит из двух частей:
1) Собственно реализация постоения структуры из патернов и обход по этой структуре...
2) Собственно набор патернов из которого формируется структура.
Причём эта структура сама по себе является алгоритмом.

И повторюсь... Наибольшая сила этой системы в универсальности.
Она будет работать даже для различных "странных" языков, например, если умляут закодировать как "ue", то ничего не изменится.
 
Ответ: Переносы по алгоритму TeX

SAnton сказал(а):
Вы не возражаете, если я скачаю с вашего сайта «протокол тестирования» на Большом словаре
Антон, конечно не возражаю. Они (протоколы тестирования) ведь для того и размещены на сервере. Если это не срочно, пожалуйста, подождите до воскресенья -- будет выложена обновленная версия... Она готова, но текучка заедает...

Что же касается коммерческого аспекта, то здесь можно лишь повторить классическое: "слухи о моей смерти сильно приувеличены"... Проект даже на самоокупаемость пока не вышел... Вот вам и коммерция...

JAW
Я понимаю, что Вы говорите. И абсолютно согласен. Я же, говоря о моделях, имел в виду то, что "лицо" конечного продукта определяется именно данными (паттернами)... Как я понимаю, поменял паттерны -- взял, например, для другого языка, и система работает. Код, манипулирующий этими данными, остается неизменным. А в batov's hyphenator такой путь невозможен. Код программы уникален для каждого языка. Поэтому, например, я постоянно отказываюсь от предложений по реализации batov's hyphenator для украинского языка. ВАН сушествует в единственной реализации -- только для русского языка.
P.S. Уважаемый коллега, наверное это моя проблема, но не могу я к человеку по нику обращаться... Хотелось бы, если возможно, по имени или по имени-отчеству...
 
Ответ: Переносы по алгоритму TeX

Словарь -> Паттерны -> Древовидная_структура -> Расстановщик переносов

Я считаю, что самая интересная задача здесь — генерация «оптимальных» паттернов по словарю. Ведь их можно сгенерировать по разному, и от этого будет зависеть робастность алгоритма на сложных словах. Кнут с Лянгом использовали очень медленный компьютер, и были вынуждены генерировать паттерны быстрым, но не самым лучшим образом. А ведь программа генерации с тех пор, насколько я понимаю, не обновлялась.

Вот я и думаю, а не написать ли алгоритм, который осуществляет почти полный перебор вариантов. И не запустить ли его на мощнейшей системе...
 
Ответ: Переносы по алгоритму TeX

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

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

Дальше можно вести речь о добавлении девяток: 99.999, 99.9999 и т. д. Мне кажется, правильнее это было бы делать в рабочем порядке... Не стоит это ставить как самостоятельную задачу. Создать же систему 100 на 100 вряд ли получится. Всегда можно построить контрпример ("контр-при-мер"), с которым программа не справится. А если так, то что же мы хотим получить?
 
Глазам не поверил... Неужели уже пять лет прошло?

###

Работа над BaH завершена. Можно, конечно, продолжать шлифовать, дорабатывать, что-то оптимизировать, но никаких кардинальных изменений уже не будет. Проект завершен. Соответственно перехожу к следующему этапу. Попробую перевести переносы BaH на язык TeX.

Задача эта непростая. Набор паттернов ruhyphib.tex не должен демонстрировать результат, сильно уступающий тому, что показывает оригинальная версия BaH. Но как этого добиться?

Вот, например, одна из проблем — слова на "нео". Это случаи высшей категории трудности. Ни одна программа, кроме BaH, даже не пытается с ними справиться... Какие-то алгоритмы переносят "не-о", какие-то — "нео-". Но все это без какого-либо анализа. Понятно, что в половине случаев переносят правильно :)

Для алгоритмов, использующих паттерны TeX, эта задача, как мне представляется, вообще является крайне трудной, если не неразрешимой. Дело в том, что очень часто, решить вопрос о постановке переноса можно лишь переместившись на восемь-десять символов вдоль буквенной цепочки: "нео-существо" и "не-осуществимый", "нео-государства" и "не-огосударствление" и т. п.

Я не знаю никого, кто работал бы с паттернами такой длины. В подобных случаях фактически имеет место перенос по словарю. Таблицы паттернов катастрофически растут в размерах, да и сами паттерны становятся слишком длинными...

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

Работа продолжается. Как будет что предъявить, обязательно расскажу. Там много всего интересного.
 
Игорь!!!
Напомню, что таблицы патернов для TeX являются по традиции PublickDomain.
Доработка существующих паттернов, это весьма достойный проект.
Более достойно, честно говоря, внесение их в иные системы вёрстки кроме InDesign.
И таки выкладывание в Publick.

А так... Конечно УДАЧИ!!!!
 
Не надо паблик облизывать.
 
Статус
Закрыто для дальнейших ответов.