Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
52.rtf
Скачиваний:
2
Добавлен:
27.09.2019
Размер:
162.11 Кб
Скачать

Утилиты whatis и apropos

Самая краткая часть страницы руководства - однострочное поле NAME - тоже играет очень важную роль в системе информационной поддержки. Дело в том, что при установке руководства в систему содержимое этого поля добавляется в файл whatis, лежащий в базовом каталоге. Текстовый файл whatis - оглавление всей системы руководств, находящейся в соответствующем каталоге. Если поискать некоторое слово в этом файле, мы увидим только те заголовки руководств, в которых оно встречается. Поиском ключевых слов в whatis занимаются утилита whatis(1) и apropos(1), которая ищет не целое слово, а просто подстроку в строке.

Вообще говоря, в поле, формирующее поиск, надо было бы складывать ключевые слова. Но ключевые слова (в чистом виде) - информация не для человека, а для машины, а с другой стороны, толковое и внятное краткое описание будет содержать как раз ключевые слова (только не все, в первую очередь - без синонимов). Поэтому, чтобы не нарушать У (правило human writeable), для поиска используется поле NAME. Работоспособной такая система будет при строгом соблюдении О: только поместив в это полезначимый текст, а не что попало, мы можем рассчитывать, что пользователь, если потребуется, найдет наше руководство. Поле NAMEвместе с полем SEE ALSO задают довольно простой, но эффективный алгоритм работы с manpages.

Система info

Альтернатива manpages - гипертекстовая система info(1). Info - часть системы документирования texinfo, разработанной GNU. У texinfo есть масса преимуществ передroff. Во-первых, из texinfo-документации можно изготавливать не только info-файлы, но и документы в формате HTML и XML, и даже настоящие книжки в формате TeX. Во-вторых, формат texinfo более новый, в нем существенно больше средств разметки, индексирования текста, организации таблиц и т. п. В-третьих, в отличие от maninfo - система документирования, в которой на уровне просмотра реализован переход по гипертекстовымссылкам.

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

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

Ссылка - один из двух видов гипертекстовых ссылок в info. При просмотре документации утилитой info достаточно переместить текстовый курсор при помощи клавиши Tab к нужному пункту меню и нажать enter, чтобы перейти к соответствующему узлу, т. е. проследовать по ссылке. Другой вид гипертекстовых ссылок называется перекрестными ссылками. Перекрестные ссылки возникают в тексте узла и указывают на какой-нибудь другой узел документа вне всякой иерархии. В книге перекрестная ссылка обычно возникает в случаях наподобие "эта тема подробнее рассматривается в гл. 3, разд. 7".

Индекс - сводное меню, содержащее ссылки на узлы, в описании которых помечено, что они этому меню принадлежат. Иными словами, индекс не надо писать вручную, он собирается при изготовлении info-файла из texinfo-документации. Несколько индексов в info-странице всегда определено, например, concept index - список всех сущностей, упоминающихся в документе.

Такая структура делает texinfo-документ пригодным для создания разветвленной и подробной документации: учебника, статьи, содержащей научные и исторические сведения, полного описания некоторой прикладной системы и т. д. Авторы texinfo-документа - сами разработчики этой системы, чаще всего независимой от какой-либо операционной среды. Под этим углом зрения можно рассматривать сообщество GNU, в котором документирование при помощи texinfo считается стандартом. Однако именно по причине независимости включать info-страницы в общее информационное пространство определенной ОС бывает затруднительно.

Тем самым texinfo занимает иную экологическую нишу, нежели man: документирование больших, сложных и замкнутых проектов. Для того чтобы поместить такую документацию в общий внутрисистемный информационный контекст, не нужно перелопачивать ее всю, в руководстве достаточно указать только основные принципы работы с установленным пакетом и поместить внешнюю ссылку на info-страницу, содержащую полную документацию. При этом страницу руководства сможет написать уже не разработчик прикладной системы, а тот, кто отвечает за включение ее в виде пакета в конкретную операционную среду (package maintainer).

Многим пользователям, незнакомым с текстовым редактором GNU Emacs, набор клавиш, управляющих утилитой info, представляется несколько неестественным. Можно использовать пакет pinfo, который занимается тем же, что и info, но навигация в нем устроена более привычным образом.

К сожалению, авторы небольших программных продуктов частенько ленятся писать документацию в формате info, отделываясь простыми текстами или html-файлами. Кроме того, система и многие пакеты содержат разнообразную неклассифицируемую документацию (статьи, вопросники, howto и пр.). Все это следует искать в каталоге /usr/share/doc/имя-пакета (в случае BSD - еще и в /usr/local/share/doc/имя-пакета, в некоторых системах - /opt/имя-пакета/share/doc, см. главу 13). Но будьте настороже: если вы нашли в пакете только текстовую документацию, но не увидели ни man-, ни info-страниц, значит, автор пакета мог и еще где-нибудь полениться довести свое детище до ума. Отсутствие документации в общей схеме нарушает связность информационного пространства системы и противоречит тем самым И.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]