본문 바로가기
컴퓨터 활용/노년에 즐기는 코딩

[EPUB2] 전자책에서 차례를 규정하는, toc.ncx

by easyfly 2024. 4. 12.
반응형

전자책에서 차례를 규정하는, toc.ncx

EPUB 전자책 포맷의 일부로, "NCX"는 "Navigation Control file for XML"의 약자입니다. NCX 파일은 전자책의 목차를 정의하는 데 사용되며, 이를 통해 독자가 책 내의 특정 부분으로 쉽게 이동할 수 있게 합니다. 'toc'는 'Topic of content'의 머리말입니다.

 

NCX 파일의 기본 구조

  • docTitle: 책의 제목을 정의합니다.
  • docAuthor: 저자의 이름을 정의합니다.
  • navMap: 실제 목차 정보를 포함하며, 사용자가 책 내에서 이동할 수 있는 주요 포인트를 나타냅니다. 각 포인트는 다음과 같은 요소를 포함할 수 있습니다.
    • navPoint: 책의 특정 섹션으로 이동하는 데 사용되는 단일 목차 항목입니다. 이는 중첩될 수 있어서 하위 항목을 가질 수 있습니다.
    • navLable: 항목의 이름을 나타냅니다. 사용자에게 보이는 텍스트입니다.
    • content: 해당 navPoint가 가리키는 실제 파일의 위치입니다.

NCX 파일은 EPUB 2 표준의 일부로 사용되며, EPUB 3에서는 대체로 HTML 파일로 작성된 목차가 사용되지만 여전히 많은 EPUB 리더들이 NCX 파일을 사용하여 목차를 표시합니다. 파일은 XML 형식을 잘 이해할 수 있는 편집기를 사용하면 좋습니다. VSCode 등이 편집에 유익합니다.

VSCode에서 편집 중인 'toc.ncx' 파일

 

NCX 파일의 계층화

목차가 접었다 펴졌다 하는 기능, 즉 collapsible 구조는 navPoint 요소들을 중첩시켜서 구현됩니다. navPoint는 계층적인 구조를 가질 수 있으며, 한 navPoint 내에 다른 navPoint가 포함될 수 있어서 세부적인 절이나 장을 나타내는 데 사용됩니다.

 

예를 들어, '1부'를 나타내는 navPoint 안에 여러 개의 섹션을 나타내는 자식 navPoint들을 중첩시키면, 전자책 리더기에서 이를 '1부'라는 한 항목으로 보여줄 때 접었다 펴는 기능을 제공할 수 있습니다. 각각의 navPoint에는 고유한 id와 순서를 나타내는 playOrder 속성이 있으며, 이는 목차의 순서를 정의하는 데 사용됩니다.

<navMap>
  <navPoint id="part1" playOrder="1">
    <navLabel>
      <text>1부 제목</text>
    </navLabel>
    <content src="part1.xhtml"/>
    <navPoint id="section1-1" playOrder="2">
      <navLabel>
        <text>1부 1장 제목</text>
      </navLabel>
      <content src="section1-1.xhtml"/>
    </navPoint>
    <navPoint id="section1-2" playOrder="3">
      <navLabel>
        <text>1부 2장 제목</text>
      </navLabel>
      <content src="section1-2.xhtml"/>
    </navPoint>
    <!-- 기타 섹션 -->
  </navPoint>
  <!-- 기타 부분 -->
</navMap>

 

위의 구조에서 navPoint 요소들은 '1부' 아래에 위치한 '1장', '2장' 등을 나타내며, 전자책 리더기는 이 구조를 이용해 사용자에게 펼치거나 접을 수 있는 목차를 보여줍니다. 사용자가 '1부'를 클릭하면 '1장', '2장' 같은 세부 섹션들을 볼 수 있도록 펼쳐지거나 접히는 것입니다.

 

시길 도구에서 차례 편집

전자책을 제작할 때는 일반적으로 '차례 편집' 도구를 사용합니다. 메뉴의 '도구 > 차례'를 선택하면 차례를 만드는 작은 메뉴와 편집하는 메뉴가 있습니다. 이것을 이용하면 다른 편집기를 사용하지 않고 차례를 편집할 수 있습니다.

시길의 차례 편집

정리

시길로 전자첵을 만들 때 마지막 과정에서 진행되는 차례 만들기는 시길 도구 메뉴에서 제공됩니다. 자세한 설정은 직접 코드를 접근하여 수정할 수 있습니다.

반응형

댓글