4.5. 색인 넣기

색인은 자동적으로 생성될 수 있습니다. 색인이 자동으로 생성되려면 문서에 적절한 마크업이 되어 있어야 합니다.

이런 마크업들을 외부 프로그램들이 처리하여 색인을 만들게 됩니다. 이런 프로그램들 중의 하나가 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. startofrangeendofrange을 속성으로 사용하는 방법


       <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>