В начало

Ritm

   
 

In

 
   

Me

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, представляющей собой вольную вариацию на тему всем известного Блокнота, отягощенную некоторым дополнительным сервисом, долженствующим, с одной стороны, помогать отыскивать прегрешения супротив ритмичности в уже́ написанных поэтических произведениях, а с другой – облегчать написание свежей нетленки.

Просьба к ранимым поэтическим натурам, всё-таки решившим попробовать эту дополнительную оснастку там, где наши предшественники обходились одним гусиным пером: смело пролистывайте в этом описании длинноты, интересные одним занудам, не тратьте своё время на словари и орфоэпические формы, не обращайте внимания на непонятные пункты в меню и прочие тонкие настройки – должно работать и в конфигурации по умолчанию. Это описание - для тех, кому нужно более глубоко разобраться в каком-нибудь вопросе. Не спешите читать эту нуднятину - может, вам хватит краткого описания и дружелюбного интерфейса программы. Особо обращайте внимание на то, что вам предлагают контекстные меню в разных частях экрана программы.

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

С уважением

Tom d`Cat

АКА

Зигуля Сергей Иванович


В начало На главную

Благодарности

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-овского макроса:

  • работает не слишком быстро;
  • "вешается" на больших текстах;
  • макросы вызывают нездоровый интерес у антивирусов;
  • Microsoft гонит новые версии Word-a, к которым не хочется подстраиваться;
  • реализация полноценной работы со словарями на Бейсике представлялась затруднительной.

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

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

Встречающиеся ниже в тексте фразы типа "будет реализовано" следует понимать в сослагательном наклонении ("то ли будет, то ли нет").

Так же приношу извинения за вкусовщину в оформлении приводимых примеров. Ну нравится мне шрифт Monotype Corsiva, текст "белым по синему" и отображение ритма слогами. Стандартный вид "а-ля Windows" заложен в начальных настройках, а на отображение ритма условными символами легко переключиться. Ну и мелкие несоответствия программы описанию... Куда без них? То пунктик в меню добавится, то расположение или вид элементов поменяется... Хотя торжественно обещаю бороться и к соответствию стемиться.


В началоНа главную

1. Установка программы

Программа RitmInMe, разработанная на языке Delphi 7, не требует установки. Достаточно распаковать в произвольный каталог предлагаемый архив. Подкаталоги имеют следующее назначение:

ABC

поставляемые базовые словари и создаваемые по ходу работы словари пользователя; конфигурационные файлы;

TMP

временные файлы программы (свои файлы там лучше не хранить, поскольку каталог чистится программой по маскам);

DOC

для файлов с анализируемыми стихами; рекомендуемо, но не обязательно – просто мне не нравится всё бросать в "Мои документы";

EXAMPLES  

примеры моего анализа; если не интересны – можно стереть, программа по ним плакать не будет.

В началоНа главную

2. Главное окно

Главное окно программы RitmInMe в режиме индикации максимального числа элементов имеет следующий вид:

Перечислим наиболее крупные элементы:


  1. Наименование программы с именем открытого файла.
  2. Главное меню.
  3. Панели кнопок (до четырёх).
  4. Окно редактирования текста с горизонтальным и вертикальным скролл-барами, строкой статуса (4а) (индикаторами положения курсора, режима "Вставка/Замена") и панелью полей характеристик строк (4b).
  5. Окно индикации ритмичности с линейкой стоп (текущий слог обрамлён красной рамкой).
  6. Окно рецензирования.

Правая граница окна редактирования, левая и правая границы окна индикации ритмичности, левая граница окна рецензирования могут быть использованы для пропорционального изменения их размеров (с некоторыми ограничениями – как и всего главного окна программы). Окна индикации и рецензирования могут отключаться.

Управляющие элементы окна представлены главным меню, которое отчасти дублируется кнопками, отчасти – контекстным меню. При написании программы я пытался придерживаться общей идеологии Windows: если что-то хотите с чем-то сделать – кликните по этому объекту правой кнопкой мыши и посмотрите возможности контекстного меню.

Собственно, более или менее полным аналогом "Блокнота" является окно редактирования. Информация в других окнах привязывается к его строкам и отображается в соответствии с их типом.

В началоНа главную

2.1. Общая схема работы с программой

Использование программы незамысловато: ввести стихотворный текст, подкорректировать его и сохранить в каком-либо приемлемом формате.

Исходный текст может быть

  • введён в окно редактирования с клавиатуры;
  • вставлен из буфера обмена;
  • прочитан из файла типа txt, htm, rtf, doc и docx (последние – при наличии в системе соответствующей версии MS Office); в любом случае (кроме htm-файлов, созданных данной программой) из файла берётся только текст.

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

Находясь в окне исходного текста, пользователь может (двойным кликом по интересующему слову) получить доступ к рифмовнику (см. ниже), а кликом по полю типа строки перевести её в статус продолжения (стихи "лесенкой") или вернуть статус законченнной строки. Можно задать и прозу (текст, не подлежащий анализу ритмичности), но это уже́ через контекстное меню.

Ручная правка окна отображения ритмичности необходима, поскольку на основании одних лишь словарей программа не может дать однозначное заключение о простановке ударений и следовательно – о ритмичности предложенного текста. Это происходит из-за того, что

  • часть словоформ в русском языке может иметь при одинаковом написании разное ударение (за́мок/замо́к);
  • служебные слова могут и вовсе не иметь такового в одной позиции предложения и быть ударными в соседней.

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

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

Слова, отсутствующие в словарях всех словоформ, в окне отображения ритмичности подчёркиваются и отображаются безударными. Если это не опечатка и слово содержит ударение, которое пользователь выставляет в окне отображения ритмичности, то по при настройках по умолчанию слово просто пополняет пользовательский словарь всех словоформ (аналог Normal.Dot в MS Word), в результате чего пользователю не приходится править его мно гократно.

При экспорте в txt, rtf, doc и docx формате данные, необходимые для дальнейшей правки отображения ритмичности и рецензии, теряются. Поэтому желающие иметь такую возможность должны хранить исходник для редактирования в формате htm.

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

В началоНа главную

2.2. Назначение отдельных элементов управления

2.2.1. Панель кнопок "Файл"

Кнопки  имеют стандартное значение – "Новый"(Ctrl-N), "Открыть"(Ctrl-O), "Сохранить"(Ctrl-S) и "Печатать"(Ctrl-P). Некоторым отклонением от стандарта является жесткая регламентация типа файла ввода/вывода.

Пункт главного меню "Файл" содержит, кроме вышеперечисленных возможностей (и краткой справки по "горячим" клавишам) список недавно открывавшихся файлов – по умолчанию до 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. Панель кнопок "Правка"

Кнопки этой панели так же особо не блещут оригинальностью.

Первые три кнопки ( ) реализуют работу с буфером обмена: "Копировать" (Ctrl-C), "Вырезать" (Ctrl-X) и "Вставить" (Ctrl-V). В главном меню эту группу дополняют пункты "Выделить всё"(Ctrl-A) и "Вставить из файла"(Alt-V).

Особенностью работы с буфером обмена программы RitmInMe является необходимость копировать не только текст произведения, но и соответствующие ему строки окна индикации ритмичности и окна рецензирования. Поэтому в буфер обмена Windows копируется только текст (который может использоваться в других программах обычным образом), а прочее – в специальный внутренний буфер программы.

Следующие две кнопки ( ) реализуют команды "Отмена" (Ctrl-Z) и "Отмена отмены" (Ctrl-Y), а следующие ( ) – поиск: "Найти" (Ctrl-F) и "Заменить" (Ctrl-R)

Примечание.  Действия по отмене и поиску касаются только окна редактирования текста.

В началоНа главную

2.2.3. Панель кнопок "Ритм"

Кнопки этой панели предназначены для корректировки окна индикации ритмичности. Бо́льшая их часть повторяет вид и расцветку отображения ритмичности условными символами. Пункт главного меню "Правка" объединяет в себе ряд кнопок из панелей "Правка" и "Ритм". Некоторые из них дублируются в контекстном меню окна редактирования текста.

Ударный слог (на своём месте).

Безударный слог (на своём месте).

Ударный слог не на своём месте (спондей).

Безударный слог не на месте (пиррихий).

Безударный слог (альтернатива ударному).

Перерисовать экран.

Отображение панели регулятора чувствительности анализатора статистики включено/отключено (индицируется цветом).

Подбор рифмы к текущему слову (см. раздел 4).

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

В началоНа главную

2.2.4. Панель кнопок "Разное"

Как следует из названия, кнопки этой панели предназначены для различных целей:

Выбор языка (на перспективу).

Настройка (см. раздел 5).

Обновление программы и баз данных (на перспективу).

Справка (на перспективу).

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

В началоНа главную

2.2.5. Окно редактирования текста

Окно редактирования текста предназначено для отображения текста произведения, доступного для правки. Оно снабжено горизонтальным и вертикальным скролл-барами, используемыми, если текст не помещается в окне.

В строке статуса внизу окна индицируется позиция курсора в строке и номер текущей строки (соответствующий ему слог индицируется в окне отображения ритмичности в красной рамке), общее количество строк текста, а так же режим редактирования ("Вставка/Замена").

За вертикальным скролл-баром расположена панель характеристик строк. Её основным назначением является индикация (цветом) типа строк: законченная строка/незаконченная строка/проза. Эти поля могут так же содержать номера строк, а если информация в окне ритмичности отображается в виде слогов – то и 1) её дубля в виде условных символов, 2) схемы рифмовки, 3) гипотетического стихотворного размера. Если дважды кликнуть по полю этой панели левой кнопкой мыши, то тип строки изменится на противоположный. Для пустой строки это пара "законченная строка/проза", для непустой – "законченная строка / незаконченная строка".

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

  • изменить тип строки (четыре верхних пункта меню с затемнённым текущим состоянием);
  • копировать строку из этой панели в буфер обмена;
  • настроить вид этой панели, включив/выключив нумерацию строк, дубль ритма символами, схему рифмовки и гипотетический стихотворный размер; для последнего имеется возможность полюбопытствовать, на каком основании такая гипотеза построена или получить статистику стихотворного размера по всему произведению;
  • настроить вид окна отображения ритмичности: включить/выключить его, задать индикацию ритма условными символами или слогами, индикацию линеек стихотворного размера в строках прозы;
  • включить/выключить окно рецензирования.

Назначение действий, касающихся окна отображения ритмичности и подменю обновления его форматирования см. ниже.

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

Примечание 2. Ести пункты меню "Окно отображения ритмичности" и "Окно рецензирования" предназначены для их включения/выключения ( и отоббражения состояния) то строка "Панель характеристик строк" лишена этих функций. По клику на неё пользователь может либов включить все отключенные опции этой панели, либо (если отключенных нет) выключить их (но не всю панель).

Из текста окна редактирования тоже доступно контекстное меню. Кроме совпадающего с перечисленным выше, с его помощью можно

  • подобрать рифму к текущему слову (если оно определено) – см. раздел 3;
  • найти текущую словоформу в словаре всех словоформ (в том, в котором она есть) – см. п. 4.3;
  • выполнить некоторые действия, повторяющее раздел главного меню "файл".

Примечание. В этом окне для функции "Сохранить как" можно использовать как сочетание клавиш "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. Использование

Заполучить перечень возможных рифм можно как наиболее естественным образом – двойным кликом мышки по интересующему пользователя слову, так и традиционно – через меню или кнопку . В результате (немного подумав для приличия) программа выдаёт на экран что-то вроде вот этого:

Здесь наиболее естественное поведение пользователя – ознакомиться со списком предлагаемых рифм и кликнуть по понравившемуся слову (при данных настройках – из третей колонки). В результате список рифм закрывается, а слово помещается в буфер обмена.

Если же пользователя интересует подбор рифм как таковой, то слова для него можно задавать

  • активируя двойным кликом мышки редактирование образца в верхней части экрана; завершать редактирование рекомендуется нажатием клавиши Enter;
  • двойным кликом мышки по одному из слов в левой части экрана.

После этого (при необходимости) откорректируйте позицию ударного слога (с помощью переключателя или кликом мышки) и нажмите кнопку "Применить".

Естественно, предварительно можно наложить на выдачу некоторые ограничения, сменить вид представления и/или способ подбора рифмы.

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

В началоНа главную

3.2. Принципы построения

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

Индекс строился на базе номера ударного слога и обратного орфоэпического представления слов. В качестве штрафа для полной рифмы оценивается совпадение предударной части орфоэпического вида слова-претендента со словом-образцом, причем индекс выстраивается в обратном порядке. Штраф корректируется в зависимости от совпадения графического начертания и наличия/отсутствия твёрдого или мягкого знака. Если мы в алгоритме точной рифмы допускаем разную степень редукции гласных, то (при наличии вариаций в редукции) получаем бо́льший набор рифм.

Это – не основная функция программы, но тоже довольно-таки интересная и имеющая значительное количество настроек.

 – позволяет изменять № ударного слога (переключателем или кликом по букве) или редактировать текст слова-образца (по двойному клику мышкой).

Группа переключателей "Вид" управляет видом списка предлагаемых рифм. Переключатели "№№ строк", "Штрафы", "Транскрипция" и "Часть речи" управляют видимостью первой, второй (кроме символа архаичности, который виден всегда), четвёртой и пятой колонок списка соответственно. Переключатель "Архаичности" управляет наличием в списке устаревших или простонародных словоформ и более уместен в группе "Состав". Но, поскольку там всё разнесено по частям речи (а архаичности могут случиться в любых из них), то отнесён к группе "Вид". Можно поиграться переключателем "Штраф (суммарно)", который добавляет к линейке штрафов ведущий символ, зависящий от общего количества совпадающих знаков в предударной части слова. в случае больших массивов рифм этот приём иногда позволяет выдернуть в начало списка более качественные рифмы.

Группа радиокнопок "Тип" определяет способ формирования списка рифм:

  • "Точная рифма" – по совпадению послеударной части орфоэпического представления слова;
  • "Точная рифма (с редукцией)" – аналогична предыдущей, но совпадающими считаются и разные степени редукции гласных;
  • "Созвучия" – по аналогии послеударной части орфоэпического представления слова;
  • "Сложная рифма" – по совпадению орфоэпического представления ряда слов.

Изменение состояния этой группы переключателей немедленно сказывается на состоянии списка рифм. Последующие переключатели требуют подтверждения нажатием кнопки "Применить".

Группа переключателей "Ограничения" влияют на качественный и количественный состав списка рифм. Например, даже на 3-гигагерцевом двухъядерном процессоре формирование html-файла наиболее обширного списка точных рифм (сопровождаемое индикацией прогресс-бара из звёздочек, индицируемого рядом с образцом) занимает более 10-и секунд, а просматривать все эти тысячи вариантов утомительно и вряд ли целесообразно. Переключатель "Качество" (совместно со счетчиком) не допускает занесения в список строк с количеством ненулевых штрафных позиций больше заданного. Переключатель "Количество" (совместно со счетчиком) ограничивает список заданным количеством тысяч рифм.

Группа переключателей "Состав" позволяет определить состав списка в разрезе частей речи, а после индикации списка рядом отображается приблизительный количественный состав этих групп. Приблизительный по той причине, что ряд слов могут входить одновременно в несколько групп (причем факт вхождения зависит от перечня отмеченных групп и расположения слов в орфографическом словаре), что вносит некоторую неоднозначность.

Смысл колонок выдачи:

1

№ строки.

2

Штраф, посимвольно:

  • первые символы в количестве, равном количеству символов до ударной позиции в орфоэпическом виде образца – штрафы за несовпадение соответствующих позиций орфоэпического вида слова-претендента;
  • штраф за несовпадение графического вида послеударной части слова;
  • штраф за архаичность ("*" ) или пробел.

3

Слово (ссылка).

4

Орфоэпический вид слова. В данной программе, кроме обычных русских букв, используются следующие обозначения:
":"      – удлинение предшествующего звука «двоеточие»;
"'"      – мягкость предшествующего звука «апостроф»;
"аъ"   – паро́м [паъром];
"ъ"
    – садово́д ъдаъвот] «ер»;
"ь"     – щавеля́ ьв'иэл'а] «ерь»;
"иэ"  – во́ли [вол'иэ];
"ыэ"   – жена́ [жыэна]
"j"      – я́р [jар]
«йот».

5

Части речи.

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

В началоНа главную

4. Словари

Словари для данной программы – ещё более необязательная к использованию функция, чем рифмовник. Но, раз в ходе настройки программы удалось привести их хоть к какомо-то удобоваримому виду – оставляю их в надежде, что кто-то всё-таки будет создавать свои словари или воспользуется словарём синонимов.

Доступ возможен из пункта главного меню "Словари" и по кнопке , а словарь всех форм для конкретного слова – из контекстного меню окна редактирования текста.

Как складывался перечень используемых словарей? Для реализации основной функции данной программы достаточно словаря всех словоформ с ударениями. Для рифмовника – аналогичного словаря орфоэпических форм (транскрипции) этих словоформ. Но, поскольку эти словари с точки зрения программирования строятся как индексные файлы на базе орфографического словаря и справочников лексем и схем ударений, а мне хотелось предоставить пользователю возможность построения собственных словарей, то добавились и эти.

Реализованы три уровня словарей: базовые, словари пользователя и словари произведения. При анализе словари всех форм просматриваются в обратном порядке, в результате чего описатель слова из словаря произведения имеет приоритет над словом из словаря пользователя, а они вместе – над базовым.

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

Сомнительна так же и судьба словаря аббревиатур: поведение у этих лингвистических образований весьма предсказуемое, использование в поэтическом творчестве – редкое, а обслуживать целый словарь только из-за подсказок под элементами окна отображения ритмичности вряд ли оправдано.

В началоНа главную

4.1. Словарь синонимов Н. Абрамова

Словарь синонимов – чисто справочный, он не задействован в технологии программы. Как входящий в начальную поставку, он отнесён к базовым и не подлежит корректировке пользователем. Теоретически не лишними были бы и современные словари синонимов и антонимов, толковый словарь... Но на практике руки дошли только до вековой давности словаря синонимов Н. Абрамова, который был несколько переработан для нужд данной программы:

  • убраны статьи, разъясняющие окончания слов;
  • различные статьи, касающиеся одного слова или начинающиеся с одного и того же слова, объединены в одну статью с подстатьями;
  • произведено минимальное кодирование, убраны повторы;
  • по возможности унифицирован стиль цитирования (добавлены кавычки, авторство указано в скобках);
  • реализован механизм ссылок на слова, следующие после указаний "см.", "ср." и "прот.", а так же на следующее и предыдущее слово в словаре.

Поскольку статьи данного словаря ко́ротки, то для него введено два режима: быстрый просмотр (по одной статье) и просмотр с максимальным заполнением страницы браузера (как вы догадываетесь, этот помедленнее будет). Переключение между режимами – через меню или кнопки  / .

Примечание.  В режиме индикации страницы браузера с максимальным заполнением не удалось сделать листание PgDn/PgUp полностью симметричным, поскольку степень заполнения окна броузера оценивается программой по принципу "лучше перебдеть".


В начало На главную

4.2. Работа со словарями, основанными на базе орфографического

4.2.1. Просмотр словарей

Далее изложение ведётся на примере базовых словарей для русского языка. Так, окно просмотра для орфографического словаря имеет 4 основных панели:  

  1. инструменты;
  2. текущий словарь;
  3. дерево словарей;
  4. браузер.

Размер панелей 2-4 можно изменять согласно своим потребностям с помощью перетаскивания границ. Текущий словарь можно развернуть на всю высоту экрана с помощью кнопки .

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

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

Орфографический словарь – самый сложный из входящих в базу данных данной программы. Он является основой для многих действий, его записи индицируются для иллюстрации работы других словарей. В самом простом варианте при просмотре элемента этого словаря мы видим таблицу его склонения/спряжения, словоформы в которой при помощи подсветки разделены на неизменную часть слова (базу) и изменяемое окончание. Подсвечен так же ударный символ.

Меню панели текущего словаря (см. очередной рисунок) и кнопки панели инструментов отчасти дублируют друг друга. Рассмотрим действие кнопок.

Исторически на первом месте в панели находится кнопка  – "горшок с золотом", предназначенная для пополнения словаря из внешнего источника (см. п.).

Следующие три кнопки служат для настройки степени подробности расшифровки информации о парадигме.

Кнопка  /  – "кирпичики" – служит для отображения исходников используемой лексемы и схемы ударений (в случае, если последняя не статична). Если эта кнопка зелёная, то на экране под строчкой с номером строки в словаре, информацией о коде лексемы и ударении отображается таблица из трёх строк, первая из которых – номера словоформ, вторая – их окончания, третья – ударения. Номера словоформ при этом индицируются и в нижней таблице.

Примечание.  Если ударение для всех словоформ одинаково, то строка ударений не отображается. Если же и все окончания пусты́ (как в случае неизменяемых слов), то "кирпичики" не отображаются как не имеющие смысла.

Кнопка  /  – "способ кладки" – служит для отображения сокращенных окончаний или полных слов.

Например

Кнопка  /  – "звучание" – служит для отображения орфоэпической транскрипции звучания словоформ.

Ещё есть кнопка  /  – "снежинки" – служит для регулировки степени заполнения экрана в словаре синонимов Н.Абрамова. и, соответственно, видима только при просмотре этого словаря.

В началоНа главную

4.2.2. Правка орфографического словаря

Правка орфографического словаря – довольно-таки непростой процесс, поскольку затрагивает как собственно орфографический словарь, так и справочники лексем и схем ударений. Кроме того, орфографический словарь, по задумке автора программы, существует в трёх ипостасях:

  • базовый – поставляемый в составе программы;
  • пользовательский (файл ru20.txt– имена файлов пользовательского словаря с префиксом "ru" для русского языка) – должен пополняться пользователем программы общеупотребительными словами, не вошедшими в базовый словарь; располагается в подкаталоге \RitmInMe\ABC;
  • словарь данного произведения (файл <имя файла произведения>.orf) – должен пополняться пользователем программы словами, специфическими для данного произведения и вряд ли представляющими ценность вне его контекста. Может располагаться где угодно, но лучше рядом с редактируемым файлом, либо в подкаталоге \RitmInMe\ABC.

Разделение орфографического словаря на базовый и пользовательские обусловлена громоздкостью базового словаря. По мере накопления пользовательскими словарями можно обмениваться или пересылать автору программы для пополнения базового словаря. Словарь данного произведения предназначен для того, чтобы не загрязнять словарь пользователя собственным словотворчеством либо чем-то малоупотребительным. Впрочем, вести или нет эти словари – решать пользователю. Но править можно только пользовательский словарь и словари произведений.

Запускается правка орфографического словаря по кнопке  или соответствующему пункту контекстного меню.

На экране отображается форма правки со следующими атрибутами:

  1. кнопка выхода из режима правки без сохранения;
  2. кнопка общего отката (восстановление данных до редактирования);
  3. кнопка вставки результатов редактирования в орфографический словарь;
  4. кнопка удаления строки из орфографического словаря; при этом происходит так же удаление ссылок на это слово из словарей лексем и ударений и удаление принадлежащих ему словоформ из словарей всех форм; в привилегированном режиме возможно (через контекстное меню этой кнопки) удаление одного описателя слова (если описателей в слове несколько); поскольку такое действие требует переформирования словарей всех форм и крайне маловероятно, то во фриварном режиме оно недоступно;
  5. кнопка сохранения результатов редактирования;
  6. тип слова; при попытке корректировки запускается пункт контекстного меню "Изменить тип лексемы (немедленно) " – см.ниже;
  7. род слова (имеет смысл для существительных и местоимений);
  8. № окончания;
  9. № варианта окончания;
  10. № ударного слога;
  11. установить все ударения в словоформах (расположенных после текущей и имеющих не меньше, чем текущая, слогов) равными заданному в (10);
  12. изменить базовое ударение слова (см. примечание к п. 2.3.3.3); работает только в случае использования схемы ударений;
  13. запретить текущее окончание (или отменить запрет);
  14. перезаполнить список окончаний слова на основании текущего образца;
  15. переключатель режима редактирования (ударные слоги/окончания);
  16. поле текста текущей словоформы (дублирует одну из словоформ, индицируемых в окре браузера); ударный слог отображается красным цветом;
  17. поле редактирования варианта окончания;
  18. поле длины базы слова; это подготовительное действие; чтобы оно возымело эффект, следует воспользоваться пунктом контекстного меню "Занести новую длину базы (немедленно)" – см.ниже;
  19. кнопка выбора варианта окончания кликом мышки (вместо перебора переключателями (8) и (9));
  20. рамка текущей словоформы;
  21. признак исправления: ударный слог, отличный от начального – зелёным цветом (если словоформа стала безударной – весь текст зелёным); исправленное окончание – словоформа подчеркнута.

Примечание 1. В ходе редактирование включеное отображение исходников используемой лексемы и схемы ударений соответствует состоянию слова до редактирования и синхронизируется только после запоминания результатов редактирования.

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

Кроме кнопок, можно пользоваться контекстными меню. Они привязаны ко всем элементам панели управления, расположенным после кнопки отключения редактирования ( ). Меню имеет две разновидности: для поля правки окончания и прочих элементов:

Поле правки окончания активизируется расположенным справа от поля текста текущей словоформы переключателем:  (при неактивном переключателе в поле текста можно кликом править позицию ударного слога). Как следует из подсказок в меню, завершить правку окончания можно по Enter (добавлю – или просто выходом из поля), отказаться от корректировки – по Esc, отменить правку без выхода из поля – по Ctrl-Z.

Оригинальная часть контекстного меню прочих элементов позволяет отменить изменения по текущей словоформе, а так же:

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

Совпадающая часть контекстных меню позволяет

  • удалить один из описателей слова (если их несколько);
  • изменить тип лексемы, базируясь на их полном списке; это особенно актуально, если неудовлетворительно сработал механизм поиска подходящих лексем по звучанию слова;
  • установить новое значение длины базы слова.

Примечание.  Пометка "немедленно" в строке меню означает, что изменения будут внесены непосредственно в описатель слова без нажатия кнопки "Сохранить". Если пользователь сделал какие-то исправления в текущем слове, то они будут утеряны.

Прочие пункты повторяют функции кнопок: "Сохранить" ( ), "Прекратить редактирование" ( ) и "Отмена исправлений" ( ). А по пункту "Настройка словарей" запускается форма настроек (см. п.5.5).

Поскольку предусмотрена иерархическая система словарей "базовый / пользователя / произведения", то при корректирровке словарей лексем или схем ударений возникает неоднозначность – куда помещать результат. Причем ситуация усугубляется тем, что результатов может быть до 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-файлов перекодируются в "&#9;", в броузерах эти коды не отображаются. Вариант с использованием тега "<pre>" не подходит, поскольку предполагает использование только моноширинных шрифтов. Решение предлагается следующее: сохранять файлы для использования в интернете не с расширением "htm", а с расширением "html". При этом производится перекодировка символов табуляции в последовательность пробелов ("&nbps;") согласно текущим настройкам.

В началоНа главную

5.5. Словари

Данный раздел задаёт внешний вид и режим пополнения словарей.

Отключив "Заполнение словарей по мере поступления неопознанных слов", можно перейти в режим полностью ручной корректировки окна отображения ритмичности. Это представляется целесообразным при анализе текста чуждой пользователю тематики и содержащего слова, коими не хотелось бы засорять свои словари.

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

Отключив переиндексацию "на лету", можно несколько ускорить пополнение словаря. Но обычного пользователя это не должно беспокоить – пополнять базовые словари ему не грозит.

Некоторым нравится видеть строки в словарях пронумерованными.

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

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

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