전자책에서 차례를 규정하는, 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 등이 편집에 유익합니다.
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장' 같은 세부 섹션들을 볼 수 있도록 펼쳐지거나 접히는 것입니다.
시길 도구에서 차례 편집
전자책을 제작할 때는 일반적으로 '차례 편집' 도구를 사용합니다. 메뉴의 '도구 > 차례'를 선택하면 차례를 만드는 작은 메뉴와 편집하는 메뉴가 있습니다. 이것을 이용하면 다른 편집기를 사용하지 않고 차례를 편집할 수 있습니다.
정리
시길로 전자첵을 만들 때 마지막 과정에서 진행되는 차례 만들기는 시길 도구 메뉴에서 제공됩니다. 자세한 설정은 직접 코드를 접근하여 수정할 수 있습니다.
'컴퓨터 활용 > 노년에 즐기는 코딩' 카테고리의 다른 글
[수요강좌] 구글북 파트너 센터에서 결제 프로필 설정 (42) | 2024.06.05 |
---|---|
[EPUB2] EPUB 전자책의 핵심 파일 중 하나, content.opf (42) | 2024.04.13 |
[EPUB2] 전자책 등록과 국립중앙도서관에 납본 (37) | 2024.04.10 |
[파이썬과 데이터분석] 주피터 노트북에 코드 작성하기 (35) | 2024.04.10 |
[파이썬과 데이터분석] 주피터 노트북 확장자가 'ipynb'가 된 사연 (39) | 2024.04.09 |
댓글