![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
OverviewBoost , Boost.AutoIndex , Boost.AutoIndex
|
![]() |
Note |
---|---|
Это поведение может быть изменено таким образом, что создается только одна запись индекса (используя поисковый термин в качестве ключа и не используя название раздела, за исключением подзаписи поискового термина). |
Например, в Boost. Математика имени классаStudents_t_distribution
имеет основную запись, в которой перечислены все разделы, в которых имя класса отображается:
Затем эти разделы также имеют первичные записи, в которых перечислены все поисковые термины, содержащиеся в этих разделах:
Конечно, эти автоматические индексные записи могут быть не совсем тем, что вы ищете: часто вы получите несколько ложных записей, несколько отсутствующих записей и несколько записей, где имя раздела, используемое в качестве индексной записи, не идеально. Таким образом, AutoIndex предоставляет некоторые мощные правила, основанные на регулярном выражении, которые позволяют добавлять, удалять, ограничивать или переписывать записи. Обычно всего нескольких строк в файле скрипта AutoIndex достаточно, чтобы адаптировать вывод к ожиданиям автора (и, таким образом, надеюсь, ожидания пользователя индекса тоже!).
AutoIndex также поддерживает несколько индексов (как и Docbook), и поскольку он знает, какие поисковые термины являютсяфункцией,классом,макросомилитипдефом, он может добавить необходимые атрибуты к XML, чтобы вы могли иметь отдельные индексы для каждого из этих различных типов. Эти специализированные индексы содержат только записи для функции,класса,макросаилитипдефаимен,названий разделовникогда не используются здесь в качестве основных терминов индекса, в отличие от основного индекса «включает все».
Наконец, в то время как таблицы стилей Docbook XSL создают хорошие индексы в комплекте с номерами страниц для вывода PDF, индексы HTML выглядят хуже для сравнения, поскольку они используют заголовки разделов вместо номеров страниц ... но поскольку AutoIndex использует заголовки разделов в качестве записей индекса, это приводит к большому количеству повторений, поэтому в качестве альтернативного AutoIndex можно поручить построить сам индекс. Это быстрее, чем использование таблиц стилей XSL, и теперь каждая запись индекса является гиперссылкой на соответствующий раздел:
При генерации внутренних индексов в начале каждого индекса также есть полезная навигационная панель:
Наконец, вы можете выбрать, какой тип контейнера XML обертывает внутренне сгенерированный индекс - это по умолчанию<раздел>...< />
, но вы можете использовать либо параметры командной строки, либо Boost. Создайте функции Jamfile, чтобы выбрать альтернативную обертку - например,приложениеилиглавабудет хорошим выбором, независимо от того, что лучше всего подходит для потока документа. Вы даже можете настроить обертку контейнера на типиндекспри условии, что вы отключите генерацию индекса таблицами стилей XSL, например, установив следующие требования к сборке в Jamfile:
<format>html:<auto-index-internal>on # Use internally generated indexes. <auto-index-type>index # Use <index>...</index> as the XML wrapper. <format>html:<xsl:param>generate.index=0 # Don't let the XSL stylesheets generate indexes.
Статья Overview раздела Boost.AutoIndex Boost.AutoIndex может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Boost.AutoIndex ::
реклама |