색인은 자동적으로 생성될 수 있습니다. 색인이 자동으로 생성되려면 문서에 적절한 마크업이 되어 있어야 합니다.
이런 마크업들을 외부 프로그램들이 처리하여 색인을 만들게 됩니다. 이런 프로그램들 중의 하나가 collateindex.pl이라는 스크립트입니다. 이 프로그램을 사용하여 색인을 만드는 방법에 대해서는 C.1절를 보기 바랍니다.
색인들은 계층을 이루며 포개어집니다. 예 4-6에서 색인을 위한 마크업이 어떻게 작성되는지 볼 수 있습니다.
예 4-6. 색인을 만들기 위한 마크업
<indexterm> <primary>첫번째 계층</primary> <secondary>두번째 계층</secondary> <tertiary>세번째 계층</tertiary> </indexterm> |
특정한 장,절 기타 다른 곳을 지정하여서 색인을 만들 수도 있습니다. 이것은 zone 속성을 사용하면 가능합니다.
예 4-7. zone 속성의 사용
<section id="encoding-index"> <title>색인 넣기</title> <indexterm zone="encoding-index"> <primary>편집</primary> <secondary>색인</secondary> </indexterm> <para> 색인은 자동적으로 생성될 수 있습니다. 색인이 자동으로 생성되려면 문서상에 적절한 마크업이 되어 있어야 합니다. </para> |
마크업에 속성 영역이 사용되었다면 그 색인 마크업은 문서의 어느 곳에 있어도 상관이 없습니다.
그러나 색인 마크업들을 알아보기 쉽도록 관리하려면, 색인이 참조하는 해당 부분 아래에 색인 마크업을 해두는 것이 좋습니다.
예 4-8. startofrange와 endofrange을 속성으로 사용하는 방법
<para> 글을 쓰다 보면 이렇게 <indexterm class="startofrange" id="example-band-index"> <primary>examples</primary> <secondary>index</secondary> </indexterm> 많은 양의 단락을 전부 지정하여 색인화할 필요가 있게 됩니다. </para> <para> 이럴 때는 원하는 단락의 앞부분에서 startofrange 속성을 사용하여 색인을 합니다. </para> <para> 그리고 단락의 끝에서 endofrange 속성을 사용한 마크업을 붙이면 됩니다 <indexterm startref="example-band-index" class="endofrange">. </para> |