Tom д`Cat Руководство пользователя v1.0
2012-2013 ©
Оглавление АннотацияБлагодарности Используемые термины и обозначения История создания 1. Установка программы 2. Главное окно 2.1. Общая схема работы с программой 2.2. Назначение отдельных элементов управления 2.2.1. Панель кнопок "Файл" 2.2.2. Панель кнопок "Правка" 2.2.3. Панель кнопок "Ритм" 2.2.4. Панель кнопок "Разное" 2.2.5. Окно редактирования текста 2.2.6. Окно отображения ритмичности 2.2.7. Окно рецензирования 3. Рифмовник 3.1. Использование 3.2. Принципы построения 4. Словари 4.1. Словарь синонимов Н. Абрамова 4.2. Работа со словарями, основанными на базе орфографического 4.2.1. Просмотр словарей 4.2.2. Правка орфографического словаря 4.2.3. Пополнение орфографического словаря 4.3. Словари всех форм 4.4. Словари лексем 4.5. Словари схем ударений 4.6. Словари аббревиатур 5. Настройки 5.1. Общие 5.1.1. Режим ввода 5.1.2. Режим обработки и отображения 5.1.3. Режим сохранения и актуальности 5.2. Кнопки 5.3. Редактирование 5.3.1. Окно исходного текста 5.3.2. Панель полей типа строки 5.3.3. Окно отображения ритмичности 5.3.4. Окно рецензирования 5.4. Печать и экспорт 5.5. Словари
АннотацияНиже вашему вниманию предлагается описание программы RitmInMe, представляющей собой вольную вариацию на тему всем известного Блокнота, отягощенную некоторым дополнительным сервисом, долженствующим, с одной стороны, помогать отыскивать прегрешения супротив ритмичности в уже́ написанных поэтических произведениях, а с другой – облегчать написание свежей нетленки. Просьба к ранимым поэтическим натурам, всё-таки решившим попробовать эту дополнительную оснастку там, где наши предшественники обходились одним гусиным пером: смело пролистывайте в этом описании длинноты, интересные одним занудам, не тратьте своё время на словари и орфоэпические формы, не обращайте внимания на непонятные пункты в меню и прочие тонкие настройки – должно работать и в конфигурации по умолчанию. Это описание - для тех, кому нужно более глубоко разобраться в каком-нибудь вопросе. Не спешите читать эту нуднятину - может, вам хватит краткого описания и дружелюбного интерфейса программы. Особо обращайте внимание на то, что вам предлагают контекстные меню в разных частях экрана программы. Но прошу учесть: программа не напишет стихи за вас, а пропущенные через неё стихи автоматически не станут гениальными. Талант и вдохновение – ваши, а рутинную работу (при всём уважении к сотворённому посредством гусиных перьев и подсчёта стоп на пальцах) пусть делает компьютер.
Благодарности1. Моей жене Людочке за то, что сносила мои нощные компьютерные бдения и детишкам – за то, что поддерживали в начинаниях. 2. Оксане Панкеевой ( http://pankeewa.org.ru ), автору цикла о странном королевстве, чьё творчество подвигло меня на рифмоплётство. 3. Ю.Линкову ( http://www.jurta.org/juri ) и в его лице – всем, кто проделал эту грандиозную работу – за начальную версию файла всех словоформ с ударениями и электронную версию орфографического словаря Зализняка. 4. Всем тем, кто делился с ближними и дальними своими наработками в области программирования, лингвистики и поэзии на просторах интернета. 5. Н.И.Солоду, в начале 80-х годов прошлого столетия написавшему программу RITM (Редактирование И Трансляция, Мнемокод для ЭВМ линии М-6000), поделившемуся со мной исходниками и тем толкнувшим на стезю написания собственных инструментов для работы с компьютером. В память об этой программе в названии фигурирует "Ritm" вместо "Rhythm".
Используемые термины и обозначения
История созданияВ 2007-м году удалось мне урвать у этой скоротечной жизни шмат чисто-физиологического отдыха в Крыму (пос. Межводное). Три недели моря, лимана, грязей и свободного времени. Для борьбы с последним я предусмотрительно заготовил семь томов "Хроники странного королевства" Оксаны Панкеевой (вполне съедобной, как на мой вкус, фэнтези с королями, магами, драконами, параллельными пространствами, смещениями во времени и многим другим). Но этих книг хватило ровно на семь дней. Пошел перечитывать по следующему кругу...
"А ведь это – социальный заказ"– подумалось мне.– "Слабо́? Про дядю Стёпу я знаю, про эту простигосподи начитался..." Результатом стали полторы дюжины страниц со стихами, оставляющими желать лучшего как по форме, так и по содержанию. Вернувшись в Сумы и дорвавшись до интернета, я
Последнее и определило идею данной программы: сделать ритм произведения видимым и на основе такого графического представления править стихи. Естественным решением было написа́ть макрос для такого широко распространённого редактора, как MS Word, но результаты меня не устроили. Формально разработка программы RitmInMe начата 24.06.2011 с создания первой иконки для неё. Фактически же в ней использовались наработки различных написанных мною программных продуктов: DOS 1993г. – макрос выравнивания текста с переносом слов для редактора Multi-Edit. 1994г. – программа печати текста с выравниванием для матричного принтера. 1995г. – программа орфографического контроля Orfej, реализованная на базе грамматических таблиц, предложенных в русско-английском и англо-русском словаре под редакцией А.С. Романова (М., "Космос", 1992г) . Подход был схож с подходом А.А. Зализняка (при меньшем на порядок количестве парадигм). По мере того, как распространялись Windows и MS Word, программа утратила своё значение и не развивалась. Её текст на Turbo-Pascal-e см. http://www.illustr.narod.ru/jpg/orfej.rar Windows 1996-2006 г.г. – конвертированный макрос выравнивания текста с переносом слов для редактора Multi-Edit, а так же ряд макросов для редакторов Multi-Edit и Word, программы печати. Программа Orfejиспользуется в основном при переписке в конференциях ФИДО (удалось накопить орфографический словарь ~20 000 слов). 2007-2008 г.г. – регулярные выражения "Антимат", предназначенные для укрощения нрава любителей русского устного в чате файлообменной системы DC++ (http://www.illustr.narod.ru/txt/mat_st0p.rar) и макрос для Word-2003, реализующий проверку стихотворного ритма (http://www.illustr.narod.ru/txt/ritm_i.rar). И то и другое заставило обзавестись словарём всех словоформ русского языка, построенным на базе словаря А.А. Зализняка. 2009-2011 г.г. – участие в создании СЕОшной программы "Site-Reporter", опыт которого определил компоновку данной программы и содержание некоторых модулей. Причиной написания программы RitmInMe на Delphi послужил ряд недостатков Word-овского макроса:
Поэтому и принято было решение написать некий аналог Блокнота, позволяющий в реальном времени проверять правописание и стихотворный ритм, иметь какой-никакой встроенный рифмовник и различные словари (в том числе вести собственные). Поскольку в шею никто не гнал (даже я сам – как в случаях с проверкой орфографии или макросом для Word-a), то в программе наблюдается некоторая вкусовщина, избыточность, вычурность и не реализованные заготовки на будущее, за что прошу простить великодушно. Встречающиеся ниже в тексте фразы типа "будет реализовано" следует понимать в сослагательном наклонении ("то ли будет, то ли нет"). Так же приношу извинения за вкусовщину в оформлении приводимых примеров. Ну нравится мне шрифт Monotype Corsiva, текст "белым по синему" и отображение ритма слогами. Стандартный вид "а-ля Windows" заложен в начальных настройках, а на отображение ритма условными символами легко переключиться. Ну и мелкие несоответствия программы описанию... Куда без них? То пунктик в меню добавится, то расположение или вид элементов поменяется... Хотя торжественно обещаю бороться и к соответствию стемиться.
1. Установка программыПрограмма RitmInMe, разработанная на языке Delphi 7, не требует установки. Достаточно распаковать в произвольный каталог предлагаемый архив. Подкаталоги имеют следующее назначение:
2. Главное окноГлавное окно программы RitmInMe в режиме индикации максимального числа элементов имеет следующий вид: Перечислим наиболее крупные элементы:
Правая граница окна редактирования, левая и правая границы окна индикации ритмичности, левая граница окна рецензирования могут быть использованы для пропорционального изменения их размеров (с некоторыми ограничениями – как и всего главного окна программы). Окна индикации и рецензирования могут отключаться. Управляющие элементы окна представлены главным меню, которое отчасти дублируется кнопками, отчасти – контекстным меню. При написании программы я пытался придерживаться общей идеологии Windows: если что-то хотите с чем-то сделать – кликните по этому объекту правой кнопкой мыши и посмотрите возможности контекстного меню. Собственно, более или менее полным аналогом "Блокнота" является окно редактирования. Информация в других окнах привязывается к его строкам и отображается в соответствии с их типом.
2.1. Общая схема работы с программойИспользование программы незамысловато: ввести стихотворный текст, подкорректировать его и сохранить в каком-либо приемлемом формате. Исходный текст может быть
Далее пользователь корректирует содержимое интересующих его окон программы и сохраняет эти данные как htm-файл, который может использоваться и как конечный продукт для демонстрации результатов анализа и как хранилище для дальнейшей правки этих данных. Находясь в окне исходного текста, пользователь может (двойным кликом по интересующему слову) получить доступ к рифмовнику (см. ниже), а кликом по полю типа строки перевести её в статус продолжения (стихи "лесенкой") или вернуть статус законченнной строки. Можно задать и прозу (текст, не подлежащий анализу ритмичности), но это уже́ через контекстное меню. Ручная правка окна отображения ритмичности необходима, поскольку на основании одних лишь словарей программа не может дать однозначное заключение о простановке ударений и следовательно – о ритмичности предложенного текста. Это происходит из-за того, что
Наиболее удобно осуществлять такую правку двойным кликом по неверно раскрашенному
квадратику слога в окне отображения ритмичности, что соответствует использованию
кнопок Для облегчения простановки ударения в словах, имеющих несколько вариантов ударений, в программе задействован статистический алгоритм определения стихотворного размера. При желании пользователь может задать размер вручную или выбрать из набора классических стихотворных размеров. Слова, отсутствующие в словарях всех словоформ, в окне отображения ритмичности
подчёркиваются и отображаются безударными. Если это не опечатка и слово
содержит ударение, которое пользователь выставляет в окне отображения
ритмичности, то по при настройках по умолчанию слово просто пополняет пользовательский
словарь всех словоформ (аналог Normal.Dot в MS Word),
в результате чего пользователю не приходится править его мно При экспорте в txt, rtf, doc и docx формате данные, необходимые для дальнейшей правки отображения ритмичности и рецензии, теряются. Поэтому желающие иметь такую возможность должны хранить исходник для редактирования в формате htm. Большинство элементов программы снабжены контекстными меню, посредством которых можно производить ряд действий (или получить справку о "горячих кнопках"). Недоступные при данном сочетании настроек пункты отображаются серыми. Для наглядности некоторые пункты снабжены отметками текущего статуса соответствующих им опций ("птичками"). Например, вид меню на рисунке говорит, что на момент его вызова задано отображение окон рецензирования и ритмичности, а в последнем в строках прозы отображается стихотворный размер текущего фрагмента стихотворного текста. При выборе такого пункта меню состояние соответствующей ему опции будет изменено на противоположное.
2.2. Назначение отдельных элементов управления2.2.1. Панель кнопок "Файл"
Пункт главного меню "Файл" содержит, кроме вышеперечисленных возможностей (и краткой справки по "горячим" клавишам) список недавно открывавшихся файлов – по умолчанию до 10-и (настраиваемо). Выбором в этом списке можно не только открыть файл в данной программе, но и просмотреть его средствами, предусмотренными настройкой вашей операционной системы. Кнопка "Сохранить" может быть по-разному окрашена:
В настройках имеется возможность установить параметры автосохранения редактируемого файла, а так же формат экспорта и печати. Хотя данная программа является лишь специализированной репликой "Блокнота", экспортировать результат (а так же список рифм и фрагменты словарей) можно в разном формате. Стандартный запрос "Сохранить как" разбит на две части: запрос типа экспортируемого файла и имени файла. Но, если экспорт в формате txt, htm, mht, html возможен на любом компьютере с Windows (или Linux/WinE – лишь бы были dll-ки, рееализующие Internet Explorer), то форматы rtf и doc требуют установки Microsoft Office, а docx – ещё и версии не ниже 2007. К тому́ же экспорт в эти форматы происходит через промежуточный файл типа mht. Такая связка может порождать ошибки, выражающиеся в жалобах программы на занятость mht-файла или невозможность работы с MS Office вообще. Обычно эти проблемы решаются путём убиения зависшего процесса WINWORD.EXE. В частности, из-за этого фрагменты словарей ограничены объёмом в 1000 строк, считая от текущей – бо́льшие файлы существенно подвешивают программу. Вид результата, поручаемого
при эскпорте или печати, может быть несколько облагорожен с использованием
вкладки настроек "Печать и экспорт" (см. п.5.4.),
быстрый вызов которой из формы "Сохранить как" возможен
по кнопке Печать в данной программе реализована через соответствующую стандартную функцию Internet Explorer.
2.2.2. Панель кнопок "Правка"Кнопки этой панели так же особо не блещут оригинальностью. Первые три кнопки ( Особенностью работы с буфером обмена программы RitmInMe является необходимость копировать не только текст произведения, но и соответствующие ему строки окна индикации ритмичности и окна рецензирования. Поэтому в буфер обмена Windows копируется только текст (который может использоваться в других программах обычным образом), а прочее – в специальный внутренний буфер программы. Следующие две кнопки ( Примечание. Действия по отмене и поиску касаются только окна редактирования текста.
2.2.3. Панель кнопок "Ритм"Кнопки этой панели предназначены для корректировки окна индикации ритмичности. Бо́льшая их часть повторяет вид и расцветку отображения ритмичности условными символами. Пункт главного меню "Правка" объединяет в себе ряд кнопок из панелей "Правка" и "Ритм". Некоторые из них дублируются в контекстном меню окна редактирования текста.
Кроме того, кнопки данной панели снабжены контекстным меню (см. последние четыре пункта меню следующего пункта, которые доступны из большинства контекстных меню главного окна программы RitmInMe).
2.2.4. Панель кнопок "Разное"Как следует из названия, кнопки этой панели предназначены для различных целей:
Первые три кнопки данной панели, а так же признак отображения панели регулятора чувствительности дублированы в главном меню (пункт "Опции").
2.2.5. Окно редактирования текстаОкно редактирования текста предназначено для отображения текста произведения, доступного для правки. Оно снабжено горизонтальным и вертикальным скролл-барами, используемыми, если текст не помещается в окне.
За вертикальным скролл-баром расположена панель характеристик строк. Её основным назначением является индикация (цветом) типа строк: законченная строка/незаконченная строка/проза. Эти поля могут так же содержать номера строк, а если информация в окне ритмичности отображается в виде слогов – то и 1) её дубля в виде условных символов, 2) схемы рифмовки, 3) гипотетического стихотворного размера. Если дважды кликнуть по полю этой панели левой кнопкой мыши, то тип строки изменится на противоположный. Для пустой строки это пара "законченная строка/проза", для непустой – "законченная строка / незаконченная строка".
Назначение действий, касающихся окна отображения ритмичности и подменю обновления его форматирования см. ниже. Примечание 1. Поскольку окно отображения ритмичности при проектировании данной программы предполагалось обязательным элементом, то его выключение реализовано лишь частично: в этом режиме не индицируется его заполнение. Таким образом при быстром наборе текста мигания в этом окне не отвлекают пользователя, а пространство этого окна можно перераспределить между окном редактирования текста и окном рецензирования.
Из текста окна редактирования тоже доступно контекстное меню. Кроме совпадающего с перечисленным выше, с его помощью можно
Примечание. В этом окне для функции "Сохранить как" можно использовать как сочетание клавиш "Alt-S", так и "Ctrl-Shift-S".
2.2.6. Окно отображения ритмичности
Конечно, можно было бы обойтись кнопками панели "Ритм" (или соответствующими им пунктами меню и "горячими" клавишами) и кратким отображением ритмичности на панели характеристик строк, но, как по мне, отлавливать машинные погрешности удобнее с индикацией ритма слогами, а уже анализировать стихи – имея перед глазами более компактное представление. Менять тип слога для наиболее используемых состояний (ударный / безударный) здесь можно одним кликом левой кнопки мышки. По клику правой кнопки мышки доступно контекстное меню, отчасти дублирующее кнопки панели "Ритм", а отчасти совпадающее с контекстным меню текста окна редактирования.
Типы строк Строки текста из окна редактирования отображаются в окне отображения ритмичности по-разному. Для индикации и корректировки их типа в программе выделена специальная панель с полями типа конца строк, снабженная контекстным меню. Предусмотрены следующие типы строк: Законченная строка. В окне отображения ритмичности поле индицируется как последовательность слогов или условных символов. Не влияет на другие строки. Самодостаточна – при написании произведения можно обойтись одним этим типом. Незаконченная строка. Индицируется так же, но влияет на последующую строку, сдвигая её содержимое в окне отображения ритмичности вправо. Предназначена для любителей писа́ть стихи "лесенкой". Проза. Если не задана опция "Стихотворный размер", то в окне отображения ритмичности индицируется пустая строка, иначе – линейка полей, позволяющих видеть и корректировать текущий стихотворный размер. Примечание. Если подряд идёт несколько строк прозы, то линейка отображается только в нижнем. Конец фрагмента. Это та же строка прозы, снабженная признаком разделения фрагментов произведения с различным стихотворным размером. На панели типа строки прозы и конца фрагмента индицируются одним и тем же цветом. В окне отображения ритмичности (при настройках по умолчанию) в строках прозы безударные слоги имеют серую окраску, а в строках конца фрагмента – оранжевую. Цвет ударных слогов разни́тся в зависимости от того, получен ли данный стихотворный размер статистически (темно-серый) или установлен (зафиксирован) вручную (голубой). Строки с признаком конца фрагмента при экспорте файла соответствуют концам таблиц. Корректировать текущий стихотворный размер можно посредством кликов по полям линейки ритмичности в строке прозы или выбором канонических стихотворных размеров в её контекстном меню. Примечание. В данном контекстном меню обозначения, проставленные справа от названий канонических стихотворных размеров, не являются "горячими клавишами". Форматирование ритмичности
Пункт контекстного меню "Обновить форматирование" включает в себя восемь подпунктов, разбитых на группы: Пункты (1-3) позволяют обновить форматирование (текущей строки, текущего фрагмента или всего текста). Пункт (4) предназначен для борьбы с несовершенством отображения информации в данной программе. Иногда возможность просто перерисовать экран позволяет избавиться от непонятных и неприятных артефактов. Пункты (5, 6) позволяют обновить статистику текущего фрагмента (если стихотворный ритм в нём не зафиксирован вручную) или всего текста. Пункты (7, 8) позволяют задать или отменить фиксацию стихотворного ритма текущего фрагмента или всего текста. Факт фиксации отображается птичкой слева от соответствующего пункта (и доступностью пунктов 5 или 6). Статистический алгоритм расстановки ударений по умолчанию работает для всех фрагментов текста. Стихотворный размер может быть зафиксирован пользователем вручную – кликами по линейке в строке прозы или через контекстные меню (которые позвляют так же выполнять обратные операции). Действие (фиксация ритма/отмена фиксации) определяется наличием "птички" возле соответствующего пункта меню. В любом случае при обращении к последним двум пунктам меню выполняется обновление статистики. Вот пример текста с различными стихотворными размерами: В строки 8 и 16 я проставил признаки конца фрагмента (при этом ритм определился статистически), а затем для вящей красоты (вернее, для демонстрации отображения фрагментов со статистическим определением стихотворного ритма и с его задания вручную) зафиксировал ритм второго фрагмента. В приведённом примере в основу оригинального ритма поэтесса положила четырёхстопный ямб. В первом фрагменте (строки 0-8) опущено ударение во второй стопе, во втором фрагменте (строки 9-16) – в третьей стопе. В результате отклонение от идеала во второй строке не влияет на восприятие произведения, а замена 12-й на, скажем, "Не лезет луч в мою иголку", хоть и улучшает ритмический рисунок, но снижает эмоциональный накал, получаемый за счет "слома" ритма. Слово "три" в 14-й строке полагается безударным – с числительными это случается на совершенно законном основании. Естественно, при использовании дольника эффективность линеек ритма явно падает, а для верлибра она и вообще ниже плинтуса (хотя общий рисунок ритмичности имеет смысл). Вот примеры: Дольник Верлибр
2.2.7. Окно рецензирования Работать с этим окном просто: по двойному клику мышкой в строке, не имеющей комментария, открывается поле ввода текста. Завершить работу с ним можно нажатием "Enter" (нормальное завершение) или "Esc" (отказ от редактирования). Для изменения уже́ существующего комментария достаточно кликнуть по нему мышкой. Контекстного меню окно не имеет, а поле ввода – стандартное контекстное меню редактирования от Windows.
3. РифмовникАбстрактный сферический поэт в вакууме творит рифмы исключительно под воздействием вдохновения и на основе своего богатейшего словарного запаса. Но в реальности – увы! – Муза непостоянна, словарный запас иногда заклинивает, да и склероз имеет привычку подкрадываться незаметно... А рифму вынь, да положь! Так что пришлось какой-никакой рифмовник к программе проверки ритма присобачить. Может, идеальную рифму и не даст, но из ступора поможет выйти (а там, глядишь, и активный словарный запас обогатит...) Кстати, гипотеза о схеме рифмовки для панели характеристик строк окна редактирования текста строится так же на основании алгоритма данного рифмовника.
3.1. ИспользованиеЗаполучить перечень возможных
рифм можно как наиболее естественным образом – двойным кликом мышки по
интересующему пользователя слову, так и традиционно – через меню или кнопку Здесь наиболее естественное поведение пользователя – ознакомиться со списком предлагаемых рифм и кликнуть по понравившемуся слову (при данных настройках – из третей колонки). В результате список рифм закрывается, а слово помещается в буфер обмена. Если же пользователя интересует подбор рифм как таковой, то слова для него можно задавать
После этого (при необходимости) откорректируйте позицию ударного слога (с помощью переключателя или кликом мышки) и нажмите кнопку "Применить". Естественно, предварительно можно наложить на выдачу некоторые ограничения, сменить вид представления и/или способ подбора рифмы. Кроме копирования одного из вариантов рифмы в буфер обмена, пользователю предоставляется возможность отпечатать список рифм или экспортировать его в файл.
3.2. Принципы построенияДля любопытствующих напишу немного теории. Основным при построении рифмовника явился способ оценки качества рифмы. Тут пришлось вспомнить, что когда-то занимался такими вещами, как теория оптимизации, теория штрафных функций, дельта-функции, построение индексов... В результате и появилась данная реализация. Индекс строился на базе номера ударного слога и обратного орфоэпического представления слов. В качестве штрафа для полной рифмы оценивается совпадение предударной части орфоэпического вида слова-претендента со словом-образцом, причем индекс выстраивается в обратном порядке. Штраф корректируется в зависимости от совпадения графического начертания и наличия/отсутствия твёрдого или мягкого знака. Если мы в алгоритме точной рифмы допускаем разную степень редукции гласных, то (при наличии вариаций в редукции) получаем бо́льший набор рифм. Это – не основная функция программы, но тоже довольно-таки интересная и имеющая значительное количество настроек. Группа переключателей "Вид" управляет видом списка предлагаемых рифм. Переключатели "№№ строк", "Штрафы", "Транскрипция" и "Часть речи" управляют видимостью первой, второй (кроме символа архаичности, который виден всегда), четвёртой и пятой колонок списка соответственно. Переключатель "Архаичности" управляет наличием в списке устаревших или простонародных словоформ и более уместен в группе "Состав". Но, поскольку там всё разнесено по частям речи (а архаичности могут случиться в любых из них), то отнесён к группе "Вид". Можно поиграться переключателем "Штраф (суммарно)", который добавляет к линейке штрафов ведущий символ, зависящий от общего количества совпадающих знаков в предударной части слова. в случае больших массивов рифм этот приём иногда позволяет выдернуть в начало списка более качественные рифмы. Группа радиокнопок "Тип" определяет способ формирования списка рифм:
Изменение состояния этой группы переключателей немедленно сказывается на состоянии списка рифм. Последующие переключатели требуют подтверждения нажатием кнопки "Применить". Группа переключателей "Ограничения" влияют на качественный и количественный состав списка рифм. Например, даже на 3-гигагерцевом двухъядерном процессоре формирование html-файла наиболее обширного списка точных рифм (сопровождаемое индикацией прогресс-бара из звёздочек, индицируемого рядом с образцом) занимает более 10-и секунд, а просматривать все эти тысячи вариантов утомительно и вряд ли целесообразно. Переключатель "Качество" (совместно со счетчиком) не допускает занесения в список строк с количеством ненулевых штрафных позиций больше заданного. Переключатель "Количество" (совместно со счетчиком) ограничивает список заданным количеством тысяч рифм. Группа переключателей "Состав" позволяет определить состав списка в разрезе частей речи, а после индикации списка рядом отображается приблизительный количественный состав этих групп. Приблизительный по той причине, что ряд слов могут входить одновременно в несколько групп (причем факт вхождения зависит от перечня отмеченных групп и расположения слов в орфографическом словаре), что вносит некоторую неоднозначность. Смысл колонок выдачи:
Очевидно, что данная система штрафов работает тем лучше, чем больше предударная часть слова-образца (чтобы было с чем сравнивать) и чем ближе ударный слог к концу слова (чтобы было что сравнивать).
4. Словари Доступ возможен из пункта
главного меню "Словари" и по кнопке Как складывался перечень используемых словарей? Для реализации основной функции данной программы достаточно словаря всех словоформ с ударениями. Для рифмовника – аналогичного словаря орфоэпических форм (транскрипции) этих словоформ. Но, поскольку эти словари с точки зрения программирования строятся как индексные файлы на базе орфографического словаря и справочников лексем и схем ударений, а мне хотелось предоставить пользователю возможность построения собственных словарей, то добавились и эти. Реализованы три уровня словарей: базовые, словари пользователя и словари произведения. При анализе словари всех форм просматриваются в обратном порядке, в результате чего описатель слова из словаря произведения имеет приоритет над словом из словаря пользователя, а они вместе – над базовым. Словари личных имён и географических названий по структуре соответствуют орфографическому, но в данный момент не используются (резерв на будущее). Сомнительна так же и судьба словаря аббревиатур: поведение у этих лингвистических образований весьма предсказуемое, использование в поэтическом творчестве – редкое, а обслуживать целый словарь только из-за подсказок под элементами окна отображения ритмичности вряд ли оправдано.
4.1. Словарь синонимов Н. АбрамоваСловарь синонимов – чисто справочный, он не задействован в технологии программы. Как входящий в начальную поставку, он отнесён к базовым и не подлежит корректировке пользователем. Теоретически не лишними были бы и современные словари синонимов и антонимов, толковый словарь... Но на практике руки дошли только до вековой давности словаря синонимов Н. Абрамова, который был несколько переработан для нужд данной программы:
Поскольку
статьи данного словаря ко́ротки, то для него введено два режима: быстрый
просмотр (по одной статье) и просмотр с максимальным заполнением страницы
браузера (как вы догадываетесь, этот помедленнее будет). Переключение между
режимами – через меню или кнопки Примечание. В режиме индикации страницы браузера с максимальным заполнением не удалось сделать листание PgDn/PgUp полностью симметричным, поскольку степень заполнения окна броузера оценивается программой по принципу "лучше перебдеть".
4.2. Работа со словарями, основанными на базе орфографического4.2.1. Просмотр словарейДалее изложение ведётся на примере базовых словарей для русского языка. Так, окно просмотра для орфографического словаря имеет 4 основных панели:
Размер панелей 2-4 можно
изменять согласно своим потребностям с помощью перетаскивания границ. Текущий
словарь можно развернуть на всю высоту экрана с помощью кнопки Пользователь выбирает
необходимый ему словарь в главном меню программы или дереве словарей или задаёт
выборку из контекстного меню. Вернуться в предыдущий словарь (или на главное
окно программы) можно кнопкой Перемещение по тексту словаря производится вручную или с помощью поиска. Окошко поиска инициализируется напрямую или контекстно (набором первого символа в панели текущего словаря). Поиск выполняется по ключу текущего словаря и результаты индицируются по мере набора текста. Если очередной символ неприемлем для данного словаря, то он не заносится в окно поиска и оно желтеет. Если набранный текст не найден в словаре, то окно краснеет. Орфографический словарь – самый сложный из входящих в базу данных данной программы. Он является основой для многих действий, его записи индицируются для иллюстрации работы других словарей. В самом простом варианте при просмотре элемента этого словаря мы видим таблицу его склонения/спряжения, словоформы в которой при помощи подсветки разделены на неизменную часть слова (базу) и изменяемое окончание. Подсвечен так же ударный символ. Исторически на первом месте в панели находится кнопка Следующие три кнопки служат для настройки степени подробности расшифровки информации о парадигме. Кнопка Примечание. Если ударение для всех словоформ одинаково, то строка ударений не отображается. Если же и все окончания пусты́ (как в случае неизменяемых слов), то "кирпичики" не отображаются как не имеющие смысла. Кнопка
Кнопка Ещё есть кнопка
4.2.2. Правка орфографического словаряПравка орфографического словаря – довольно-таки непростой процесс, поскольку затрагивает как собственно орфографический словарь, так и справочники лексем и схем ударений. Кроме того, орфографический словарь, по задумке автора программы, существует в трёх ипостасях:
Разделение орфографического словаря на базовый и пользовательские обусловлена громоздкостью базового словаря. По мере накопления пользовательскими словарями можно обмениваться или пересылать автору программы для пополнения базового словаря. Словарь данного произведения предназначен для того, чтобы не загрязнять словарь пользователя собственным словотворчеством либо чем-то малоупотребительным. Впрочем, вести или нет эти словари – решать пользователю. Но править можно только пользовательский словарь и словари произведений. Запускается правка
орфографического словаря по кнопке
На экране отображается форма правки со следующими атрибутами:
Примечание 1. В ходе редактирование включеное отображение исходников используемой лексемы и схемы ударений соответствует состоянию слова до редактирования и синхронизируется только после запоминания результатов редактирования. Примечание 2. Не все желаемые
действия удалось (или оказалось целесообразным) оформить через кнопки.
Некоторые имеются только в контекстных меню, вызываемых с кнопок по правой
кнопке мыши. Так, например, индикация кнопки Кроме кнопок, можно
пользоваться контекстными меню. Они привязаны ко всем элементам панели
управления, расположенным после кнопки отключения редактирования (
Поле правки окончания
активизируется расположенным справа от поля текста текущей словоформы
переключателем: Оригинальная часть контекстного меню прочих элементов позволяет отменить изменения по текущей словоформе, а так же:
Совпадающая часть контекстных меню позволяет
Примечание. Пометка "немедленно" в строке меню означает, что изменения будут внесены непосредственно в описатель слова без нажатия кнопки "Сохранить". Если пользователь сделал какие-то исправления в текущем слове, то они будут утеряны. Прочие пункты повторяют
функции кнопок: "Сохранить" ( Поскольку предусмотрена иерархическая система словарей "базовый / пользователя / произведения", то при корректирровке словарей лексем или схем ударений возникает неоднозначность – куда помещать результат. Причем ситуация усугубляется тем, что результатов может быть до 3-х: лексема, схема ударений и собственно слово. Со словом вроде-бы всё просто: результат можно заносить в корректируемый словарь (или в словарь, на который ссылается корректируемый). Но только как же свобода выбора? Поэтому пользователю задаётся прямой вопрос (иногда – в трёх экземплярах): что с этим делать? При корректировке орфографического словаря запоминается:
С его помощью можно:
Красными рамочками выделены варианты окончаний, отличные от исходных (исходные выведены на желтом фоне). Уровень сохранения (словарь базовый/пользователя/произведения) пользователь выбирает только при первом ответе. Детализировать же, заменять ли предмет вопроса (лексему/схему ударений/слово) или создать новый, приходится всегда. Естественно, программа позволит изменить что-либо только в том словаре, где помещается исходник. Если выбран словарь произведения, а поле справа от него пустое, то в него заносится имя словаря произведения по текущему файлу. Если имеющееся наименование оператора не устраивает, то можно отредактировать его или создать на базе имени одного из имеющихся файлов по кнопке ... (используется полный путь и имя файла, а расширение игнорируется). Зато на "Отказ" можно нажимать невозбранно: вы вернётесь к редактированию слова и (после правки) можете снова предпринять попытку сохранить изменения. Правда, если кнопка "Отказ" нажата при сохранении слова, по результатам корректировки которого мы уже́ согласились сохранить лексему и/или схему ударений, то будет задан вопрос – что с ними делать? Возможны варианты: таки сохранить или откат. Первое означает, что корректировали именно лексему и/или схему ударений, а сохранение слова не обязательно (скорректированная лексема и/или схема ударений и так на него повлияет). В принципе, в некоторых ситуациях такое решение программа могла бы принять и автоматически, но я не стал переусложнять код. К тому́ же, не хотелось накладывать жесткие рамки на место сохранения словаря. Следует заметить, что корректировка уже существующих лексем – занятие трудоёмкое и неблагодарное. Возможны неожиданные побочные эффекты, после корректировки лексемы следует проверить и все обслуживающие её схемы ударений... Впрочем, в текущей версии базы данных допустима некоторая вольность: если количество словоформ в варианте склонения слова больше, чем количество описанных в схеме ударений, то для неохваченных схемой используется последнее в варианте. Если же меньше, то избыточные подварианты ударений игнорируются.
4.2.3. Пополнение орфографического словаря
После нажатия этой клавиши показывается окно диалога, в котором пользователь может задать режим заполнения, тип и расположение словаря. В данном примере выбираем пополнение орфографического словаря пользователя. За этим следует стандартный диалог открытия текстового файла и запрос подсказки о месте ударения в слове.
На основании этих данных строится дерево вариантов, из которого пользователю предлагается (в меру своей грамотности) сделать выбор наиболее подходящего – такого, который нужно меньше всего править (более подробно о правке см. ниже). Вот первоначальный и конечный варианты: В данном случае алгоритм
сразу предложил самую подходящую лексему. Но, поскольку слова различаются по
длине, а исходная лексема имеет оригинальную схему ударений, для достижения
приемлемого результата пришлось сместить базовое ударение в слове на 3-й слог.
В принципе, того же можно достигнуть, если выставить все ударения в слове на
3-й слог (переключателем и кнопкой Колонка рейтинга строится по аналогии со штрафными коеффициентами в рифмовнике, т.е. на основе обратного словаря орфоэпических форм. Как показывает опыт импорта орфографического словаря В.В. Лопатина, для 80% случаев лексема с нулевым рейтингом является и наиболее подходящей. Ещё 15% случаев решаются несколькими кликами мышки. И в 5% приходится пускать в ход меры третьей степени – корректировать позиции ударений или искать подходящую лексему в их полном списке с помощью фильтрации, интуиции и (от крайности) грамматики. По окончанию корректировки
(как и при обычном редактировании словаря) нажимаем кнопку Если исходный текстовый файл содержит орфографический словарь (признаком чего программа считает наличие в строке символа "/" и свыше 5-и символов после него), то пополнение проходит быстро, без лишних вопросов и с индикацией прогресса процесса в адресной строке браузера. Правда, перед таким пополнением следует вручную выставить словарь-приёмник в настройках программы. По опыту импорта орфографического словаря В.В. Лопатина, отмечу, что алгоритм подбора сходных по звучанию словоформ работает очень хорошо. Если вы видите, что подобрано однокоренное слово, то лексему можно не проверять. В более сложных случаях в первую очередь следует обращать внимание:
О замеченных неудобствах. Форма пополнения словаря иногда как бы теряет управление. Один из вариантов – вы что-то делали с её встроенным браузером. Чтобы он отдал фокус, не потеряв текущего слова, следует кликнуть мышкой по "шапке" списка слов. Если не перерисовался список слов, следует кликнуть по текущей позиции дерева типов слов. От "заклинивания" переключения родов существительных мне помогал переход на ветку существительных вцелом. Впрочем, последняя пара ситуаций относится к "глюкам" и крайне редка. Для удобства работы нажатие на пробел соответстует занесению в словарь, а клавиша Esc – отказ от оного.
4.3. Словари всех форм Словарь всех словоформ состоит из строк вида "слово/описатели". Описатель в свою очередь состоит из номера ударного слога и ссылки на орфографический словарь (индекса). Если орфографический словарь не ведётся, то ссылка пустая. Поиск идёт по слову, сортировка – в алфавитном порядке. На экране слева мы имеем перечень слов со всеми вариантами ударений и индексами, справа – соответствующие им записи орфографического словаря. Вхождения текущего слова выделены желтым. Словарь всех орфоэпических форм слов имеет похожий вид: Словарь состоит из строк вида "код/описатели". Код формируется из номера ударного слога (с конца словоформы) и её инвертированного орфоэпического вида. Описатель – из ссылки на орфографический словарь (индекса) и номера варианта и подварианта окончания в лексеме. Поиск идёт по коду (что несколько затрудняет его применение), сортировка – в алфавитном порядке. На экране слева мы имеем перечень кодов с индексами и образцами словоформ, справа – соответствующие им записи орфографического словаря. Вхождения текущего кода выделены желтым.
4.4. Словари лексемКак видно из картинки, по лексемам хранится информация посложнее: Упорядочен словарь по двухбуквенному коду лексемы. Код имеет некоторую претензию на мнемоничность, которая реализуется на первых двух сотнях лексем каждого типа. Остальная информация в левой части носит вспомогательный характер: индекс в орфографическом словаре и соответствующий ему образец слова, использующий данную лексему + общее количество таких слов. Если номер описателя в слове-образце больше единицы, то он выводится за индексом через двоеточие (но с правой стороны такой описатель помещается на первое место). Для правой
части имеет смысл кнопка Поиск возможен по коду лексемы. При хранении вариантов в описателе лексемы используется некоторое кодирование:
4.5. Словари схем ударенийСловарь схем ударений имеет похожий вид: Упорядочен словарь по двухбуквенному коду схемы ударений. Остальная информация в левой части аналогична справочнику лексем: индекс в орфографическом словаре и соответствующий ему образец слова, использующий данную схему ударений + общее количество таких слов. Если номер описателя в слове-образце больше единицы, то он выводится за индексом через двоеточие (но с правой стороны такой описатель помещается на первое место). Для правой
части по кнопке Поиск возможен по коду схемы ударений.
4.6. Словари аббревиатурДорабатываются.
5. НастройкиНадеюсь, что с этой программой можно работать и с настройками по умолчанию. Но вкусы, привычки и физические параметры у всех разные... Поэтому настроек много. Даже слишком много. Я взял за правило для любого параметра, значение которого не имеет смысла прибивать гвоздями, создавать некоторый интерфейс для корректировки. Но вошедшего в настройки прошу не пугаться их количеству, а подумать, зачем он сюда зашёл.К тому же, это не всегда необходимо – наиболее интересные настройки проросли в контекстные меню... Оформлено всё это отдельным
окном, которое частично перекрывает исходное (чтобы видеть результаты некоторых
настроек), и разделено на несколько вкладок. Кнопка
5.1. Общие 5.1.1. Режим вводаПараметры этой вкладки определяют режим ввода в различных ситуациях. Переключатель "Восстанавливать состояние после загрузки" указывает, нужно ли программе автоматически открывать последний из редактированных файлов (в редакторе Multi-Edit такая возможность была, а в Word-e почему-то этим пренебрегли). Переключатель "Из HTM-файлов берётся только текст" предназначен для защиты привычного оформления программы RitmInMe. В противном случае при открытии HTM-файлов производится перенастройка шрифтов и цветового оформления (см. п.3.1.3). "Строки начинаются с большой буквы" – чисто-поэтическая опция (для самых ленивых и забывчивых).
5.1.2. Режим обработки и отображенияВстречаются творческие личности, которые в своих стихах употребляют однобуквенные сокращения и инициалы (буква + точка). А их при проверке ритмичности как-то читать надо! Переключатель "Обрабатываются однобуквенные сокращения и инициалы" означает, что эти буквы будут читаться как их названия – например, "и т.д." обрабатывается как " и тэ.дэ.". Переключатель "Обрабатываются аббревиатуры" задаёт режим, при котором аббревиатуры (а ими программа считает слова, в которых больше одной заглавной буквы) по умолчанию обрабатываются, подобно однобуквенным сокращениям с ударением на последнем "слоге". Например: "ЦК КПСС" обрабатывается как "ЦэКа́ КаПэЭсЭ́с". Это срабатывает, но не для всех. Скажем, "НИИ" следует читать отнюдь не как "Эн-И-И"... Поэтому используется дополнительный словарь (правда, на сегодняшний момент весьма ограниченный), который описывает произношение исключений из этого правила – аббревиатуры, полностью или частично читаемые, как обычные слова. Для полноты в этот словарь предполагалось занести и аббревиатуры с исторически-нестандартным (хотя и подчиняющимся правилу ударения на последнем "слоге") прочтением ("Эм-Фэ-Тэ-И́"). Слова, могущие произноситься с различным ударением, составляют основную часть не поддающейся автоматизации рутинной ручной работы при использовании данной программы. Алгоритм статистической простановки ударения облегчает ситуацию, но не на 100%. Всегда есть вероятность ошибки. Поэтому во время набора произведения переключатель "Отображать слоги с альтернативным ударением как безударные" включать не следует – так легче отлавливать ошибки. А при экспорте готового продукта это имеет смысл. Переключатель "Отображать слоги, нарушающие ритм, как обычные ударные" так же предназначен для защиты ранимой души поэта от тыканья носом в возможные спондеи (сверхсхемные ударения). "Служебные слова в русском языке произносятся безударно" – незыблемое правило и переключатель "Считать односложные союзы и предлоги безударными" стоит на страже его исполнения. Естественно, есть масса исключений... Но с ними программе разобраться трудненько. Приходится помогать ей ручками...
5.1.3. Режим сохранения и актуальностиПервый переключатель в это группе (“Интерпретировать первое нажатие кнопки "Сохранить" = "Сохранить как"”) позволяет отработать первое нажатие кнопки "Сохранить" для нового файла (или срабатывание таймера автосохранения) аналогично с командой "Сохранить как", т.е. с диалогом назначения имени файла. Последующий (“Предлагать просмотр после сохранения файла в режиме "Сохранить как"”) позволяет оперативно проконтролировать качество экспортированного. "Подтверждение перезаписи существующего файла" – естественная предосторожность при работе с данными, равно как и "Создавать копию (BAK-файл)" или "Автосохранение". А вот интервал автосохранения – дело вкуса. Хотя есть и противоположное мнение: подтверждение – лишний клик, BAK-файлами редко кто пользуется, а автосохранение способно сыграть злую шутку – если взять за основу какой-то файл, начать его редактировать и убежать на время от компьютера, не переименовав файл, то будет испорчен оригинал... Дай вам святой Коннектий работать за компом в здравом уме и твёрдой памяти! Но есть и объективные факторы – от длинноногих блондинок до нетрезвых сантехников. И потому совсем без программной защиты свою нетленку оставлять не след. А вот в отношении поддержания актуальности программы (и базы данных) мнения расходятся. Большинство, без сомнения, оставят "Проверять наличие новых версий программы и базы данных", но некоторые предпочтут работу с проверенной версией. На то и опция – у каждого свои резоны. А вот полезность списка ранее открывавшихся файлов вряд ли вызовет сомнение. Размер, естественно, по вкусу...
5.2. КнопкиВ настоящее время стандартным для работы с панелями инструментов является интерфейс перемещения объектов из списка используемых в список неиспользуемых и наоборот + список панелей + механизм их перетаскивания. В данной программе я обошелся простым списком "панели + кнопки": Функциональность та же. А те, кто предпочитает обходиться вовсе без кнопок (только меню), могут отключить их одним кликом мышки. Можно поиграться оформлением кнопок. По умолчанию фоном неактивной кнопки служит пушистый шарик. По наведении курсора мыши фон меняется на лавровый венок. Пользователь может поменять функции этих фоновых изображений или вообще отказаться от фона (правда, тогда некоторые кнопки выглядят бледновато).
5.3. РедактированиеЕщё раз повторюсь: не пугайтесь, что настроек так много! Если они вас заинтересовали, или вам невыносим внешний вид программы – идите последовательно по настройкам и пробуйте... К вкладке настроек редактирования прилагается фрагмент основного окна программы с тестовым заполнением, предназначенным для демонстрации результатов настроек его оформления (не всех, но большинства). Я попытался разделить параметры в соответствии со структурой окна редактирования, но в отношении панели конца строки это не удалось, поскольку часть её параметров зависит от настроек окна индикации ритмичности.
5.3.1. Окно исходного текстаНастраиваются:
Цвет или фон можно задать, вызвав стандартныйго диалог выбора цвета (дважды кликнув по соответствующему квадратику или по первому пункту его контекстного меню) или задав в виде шестнадцатеричного числа в формате RGB (красный-зелёный-синий) через второй пункт меню.
5.3.2. Панель полей типа строкиНастраиваются:
5.3.3. Окно отображения ритмичностиНастраиваются:
Для линеек стихотворного размера различаются цвета
В варианте отображения ритмичности слогами возможны дополнительные настройки:
Для обоих способов отображения ритмичности задаются цвета́ для различных типов слогов (а для условными символами – и сами эти символы).
5.3.4. Окно рецензированияНастраиваются:
5.4. Печать и экспортДанные настройки определяют вид результирующего документа, получаемого на печать или при сохранении в файл. Смысл этих настроек в том, чтобы иметь возможность на выходе получить документ, по виду и содержимому отличный от редактируемого:
Т.е. в некоторой степени реализован подход, обычный при работе с базами данных, когда данные и их обработка – это одно, а результирующая форма – несколько иное. Часть выдачи, связанная с ритмичностью, имеет ещё ряд настроек:
Некоторые особенности Колонка-аналог поля конца строки, как и колонка "Рецензирование", даже при наличии соответствующих отметок в настройках, формируются только в случае, если хотя бы в одной строке есть заказанная информация (не пусто). Настройка "Ориентация листа" имеет силу только для MS Word. Настройка "Запрет фрагментирования таблиц" имеет смысл только в случае, если в произведении проставлены границы фрагментов, но пользователь хочет получить документ, состоящий из одной таблицы. Обычно результирующий документ разбивается на части по количеству фрагментов. Для каждой части определяется своё количество колонок (в зависимости от стихотворного размера и наличия комментариев). Заданные границы правильно отображаются для htm-файлов, но для документов MS Word срабатывают не всегда удовлетворительно. Для файлов в формате txt имеют значение только настройки комплектности выдачи (включаемые данные и перекодировка). Настройки цветов, шрифтов, границ и ориентации листа игнорируются. Текст произведения хранится в htm-файле с некоторой избыточностью, что позволяет использовать этот файл для вставки на интернет-страницы с минимальными переделками. Но с одним ограничением: если пользователь не использует табуляцию. Хотя символы табуляции прекрасно импортируются в MS Word, а для htm-файлов перекодируются в "	", в броузерах эти коды не отображаются. Вариант с использованием тега "<pre>" не подходит, поскольку предполагает использование только моноширинных шрифтов. Решение предлагается следующее: сохранять файлы для использования в интернете не с расширением "htm", а с расширением "html". При этом производится перекодировка символов табуляции в последовательность пробелов ("&nbps;") согласно текущим настройкам.
5.5. Словари
Отключив "Заполнение словарей по мере поступления неопознанных слов", можно перейти в режим полностью ручной корректировки окна отображения ритмичности. Это представляется целесообразным при анализе текста чуждой пользователю тематики и содержащего слова, коими не хотелось бы засорять свои словари. Включать опцию "Обходиться без подтверждения действий при редактировании слов" могут только полностью уверенные в своих действиях и не подверженные усталости люди. Или те, которым исправить ошибку легче, чем постоянно подтверждать свои действия. Отключив переиндексацию "на лету", можно несколько ускорить пополнение словаря. Но обычного пользователя это не должно беспокоить – пополнять базовые словари ему не грозит. Некоторым нравится видеть строки в словарях пронумерованными. Две следующие группы переключателей обычно доступны и в ходе пополнения словарей. Трогать их пользователю имеет смысл, если страх как хочется вести собственное дополнение к орфографическим словарям, или же иметь отдельный словарь всех форм для конкретного произведения. Расположение словаря произведения следует указать в следующем после этих двух групп переключателей поле ввода. Настройки окна расшифровки относятся к орфографическому словарю и определяют степень его попугаистости (цвета́ различных элементов), а так же шрифты шапки (т.е. пояснительных надписей), собственно словоформ и их орфоэпического вида (транскрипции). Самым расцвеченным элементом является словоформа, в которой можно задать цвет базовой части, ударной гласной и окончания. Причем окончание окрашивается в разные цвета в зависимости от того, является ли такая словоформа общеупотребительной или архаической. |