Skribe support indexes. One may accumulate all entries inside one unique index or dispatch them amongst user declared indexes. Indexes may be monolithic or split. They only differ in the way they are rendered by the back-ends. For a split index a sectioning based on the specific (e.g., "the first one") character of index entries is deployed.
The function
make-index
declares a new index.
(
make-index
ident
)
ident
A string, the name the index (currently unused).For instance, the following Skribe expression declares an index named *index1*:
Ex. 26: Creation of a new index
This example produces no output but enables entries to be added to that
index. In general it is convenient to declare indexes
before
the call to the
document
function.
The function
default-index
returns the default index
that pre-exists to all execution.
(
default-index
)
The function
index
adds a new entry into one existing
index and sets a mark in the text where the index will point to. It is
an error to add an entry into an index that is not already declared.
(
index [
:url
] [
:shape
] [
:index
] [
:note
] [
:class
"index"
] [
:ident
]
name
)
name
The name of the entry. This must be a string.
The following expressions add entries to the index
*index1*
:
[ The identifier ,( code "Foo" ),( index :index *index1* "Foo" ) is a usually used as an example. When two identifiers have to used, frequently the second choice is ,( code "Bar" ),( index :index *index1* "Bar" :shape ( it "Bar" )). When three are needed, some use ,( code "Baz" ) ,( index :index *index1* "Baz" :shape ( it "Baz" )). This illustrates how to use identifier ,( index :index *index1* "Foo" :note "How to use Foo" ) ,( index :index *index1* "Foo" :note "How not to use Foo" ) ,( index :index *index1* "Fooz" ) ... ]
Foo
is a usually
used as an example. When two identifiers have to used, frequently the
second choice is
Bar
.
When three are needed, some use
Baz
.
This illustrates how to use identifier
...There is no output associated with these expressions.
The function
the-index
displays indexes in the produced
document.
(
the-index [
:column
1
] [
:header-limit
50
] [
:char-offset
0
] [
:split
] [
:class
"the-index"
] [
:ident
]
index...
)
index...
The indexes to be displayed. If index
is provided, the global index default-index
is printed.
If the engine custom
index-page-ref
is true when a
index is rendered then, page reference framework is used instead of
a direct reference framework.
... produces:
Bar | |
Baz | |
Foo | |
... | How to use Foo |
... | How not to use Foo |
Fooz |
See the Skribe [ ?mark global index: ./index.skb:127:21: ] for a real life index example.