Служебные тэги и команды
Тэг {{…}}
Назначение: Разметка служебных комментариев.
Использование: В любом месте DSL.
Особенности: Зона действия данного тэга может распространяться на несколько строк. Если среди этих строк окажутся заголовки (например, когда открывающая пара скобок располагается в одной карточке, а закрывающая – в другой), то они будут проигнорированы при компилировании.
Одиночные фигурные скобки воспринимаются как литералы.
В зоне комментариев не работают любые конструкции языка DSL.
В зоне комментариев не действует даже команда экранирования. Так, например, протест компилятора не вызовет запись {{comment\}}, но вызовет запись {{comment}\}.
При пересечении зон действий какого-либо тэга и комментария, приоритет отдаётся последней. Так, например, при записи <<word {{ word>> comment}}[/m], компилятор сообщит о недопустимом использовании [ внутри ссылки. Объясняется это тем, что тэг ссылки, расположенный левее, в порядке очереди начинает обрабатываться первым, но его закрывающий дескриптор поглощается тэгом комментария, у которого больший приоритет, в результате чего тэг ссылки остаётся незакрытым, и последующие символы «попадают» в зону его действия.
Служебные комментарии отображаются только в исходном файле DSL. При компилировании они игнорируются и в конечный словарь LSD не записываются.
Служебные комментарии :: Запись в DSL
{{ Simple English-Russian dictionary (use LS.COM screen driver to read russian text below) }} order порядок temperature {{ headword }} температура {{ entry }} global information structure {{ phrase as a headword }} глобальная информационная структура
История: Тэг, по-видимому, используется в Lingvo начиная с самых первых версий. Первое упоминание о нём встречается в демонстрационном, пользовательском словарике к Lingvo 4.
Команда (…)
Назначение: Обработка альтернативной части заголовка.
Использование: Только в заголовках. В теле статей круглые скобки воспринимаются литерально и дополнительными функциями не обладают.
Общее описание: В печатных словарях при помощи круглых скобок принято обозначать факультативную (необязательную) часть заголовка или варианты морфологических/грамматических форм слова/словосочетания. DSL следует этому применению и программно реализует его следующим образом. Круглые скобки в DSL создают несколько вариантов одного заголовка. Так, например, запись (пре)вращать(ся) преобразуется в четыре отдельных заголовка: вращать, вращаться, превращать, превращаться. Все эти варианты будут показаны в списке заголовков главного окна без скобок, а при обращении к одному из них, откроется словарная карточка, в заглавии которой отобразится исходное написание из DSL со скобками. Наглядные примеры см. в главе Заголовок статьи.
Замечание: Чтобы предотвратить специальную обработку круглых скобок в заголовках, их нужно экранировать: \(…\). При такой записи заголовок не будет преобразовываться, но литерально отобразится со скобками как в словарной карточке, так и в общем списке заголовков.
История: Команда, по-видимому, используется в Lingvo начиная с самых первых версий. Первое упоминание о ней встречается в демонстрационном, пользовательском словарике к Lingvo 4.
Команда {…}
Назначение: Обработка несортируемой части заголовка.
Использование: Только в заголовках. В теле статей одинарные фигурные скобки воспринимаются литерально и дополнительными функциями не обладают.
Общее описание: Часть заголовка, заключённая в одинарные фигурные скобки:
- не отображается в списке заголовков главного окна;
- игнорируется при сортировке списка заголовков главного окна;
- не учитывается при поиске перевода слов;
- отображается в заглавии словарной карточки, если только это не тэг DSL.
Фигурные скобки используются в случаях, когда часть заголовка необходимо скрыть при его отображении в списке заголовков главного окна, или применить к заголовку дополнительное форматирование при его отображении в словарной карточке. Дополнительные сведения и наглядные примеры см. в главе Заголовок статьи.
Замечание: Чтобы предотвратить специальную обработку фигурных скобок в заголовках, их нужно экранировать: \{…\}. При такой записи заголовок вместе со скобками отобразится без сокращений как в словарной карточке, так и в общем списке заголовков.
История: Команда, по-видимому, используется в Lingvo начиная с самых первых версий. Первое упоминание о ней встречается в демонстрационном, пользовательском словарике к Lingvo 4.
Команда ~
Назначение: Указание места вставки копии заголовочного слова, т.н. клонирование заголовков.
Использование: Только в теле словарных статей.
Общее описание: При компилировании DSL все знаки тильды в теле статей заменяются на копию заголовочного слова.
Использование тильды :: Запись в DSL
дом [m1]Здание, строение, предназначенное для жилья.[/m] [m2][*]Деревянный ~. Каменный ~. Жилой ~.[/*][/m]
Использование тильды :: Вид в словарной карточке
Замечания: Чтобы предотвратить специальную обработку тильды и литерально отобразить её в словарной карточке, нужно её экранировать: \~.
Если перед тильдой поставить перевёртыш (команду изменения регистра) ^~, регистр первой буквы в клоне заголовка изменится на противоположный. Подробнее об этом см. в главе Команда ^.
История: Команда, по-видимому, используется в Lingvo начиная с самых первых версий. Первое упоминание о ней встречается в демонстрационном, пользовательском словарике к Lingvo 4.
Команда \
Назначение: Экранирование метасимволов.
Использование: В теле словарных статей и в заголовках.
Общее описание: Применение обратной косой черты отменяет дополнительные функции у метасимволов, преобразуя их в литералы. Подробности см. в главе Метасимволы и литералы.
Замечание: Для того, чтобы литерально отобразить саму обратную косую черту, нужно её удвоить: \\.
Команда #
Назначение: Указатель директивы предварительной обработки (команды препроцессора).
Использование: В первых строках файлов основного текста, аббревиатур или аннотаций словаря DSL.
Синтаксис: Команда должна располагаться только в начале строки (на первой позиции в строке). Наличие перед командой пробела, табуляции или любого другого символа приведёт к ошибке при компилировании.
Команда может быть употреблена только в сочетании с определённым набором ключевых слов. Её употребление с любыми другими словами вызовет протест компилятора Unknown pre-processor keyword.
Общее описание: См. в разделе Директивы предварительной обработки.
Замечание: Чтобы предотвратить специальную обработку команды и литерально отобразить символ решётки в словарной карточке, нужно его экранировать: \#.
История: В DSL Lingvo 6 команда появляется без упоминания в документации. В справочном руководстве 8.0 обнародуется её полное описание с примерами использования.