3.3 E-Books

현재 bookdown은 EPUB 및 MOBI의 두 가지 전자 책 형식을 제공합니다. 이러한 형식의 책은 스마트 폰, 태블릿 또는 Kindle과 같은 특수 전자 책과 같은 장치에서 읽을 수 있습니다.

3.3.1 EPUB

EPUB 책을 만들려면 epub_book() 형식을 사용할 수 있습니다. rmarkdown::html_document()와 공통된 몇 가지 옵션이 있습니다.

epub_book(fig_width = 5, fig_height = 4, dev = "png", 
  fig_caption = TRUE, number_sections = TRUE, toc = FALSE, 
  toc_depth = 3, stylesheet = NULL, cover_image = NULL, 
  metadata = NULL, chapter_level = 1, epub_version = c("epub3", 
    "epub"), md_extensions = NULL, pandoc_args = NULL, 
  template = "default")

e-book 리더가 책에서 목차를 자동으로 알아낼 수 있기 때문에 toc 옵션이 꺼져 있으므로 목차에 몇 페이지를 추가 할 필요가 없습니다. EPUB에 특정한 몇 가지 옵션이 있습니다.

  • stylesheet : HTML 출력 형식의 css 옵션과 유사하며 CSS를 사용하여 요소의 모양을 사용자가 지정할 수 있습니다.
  • cover_image : 책 표지의 이미지 경로입니다.
  • metadata : 책의 메타 데이터에 대한 XML 파일의 경로입니다 (자세한 내용은 Pandoc 문서 참조).
  • chapter_level : 내부적으로 EPUB 책은 일련의 “chapter” 파일이며, 이 옵션은 책이 이러한 파일로 분할되는 수준을 결정합니다. 이는 섹션 3.1에서 언급한 HTML 출력 형식의 split_by 인수와 유사하지만 EPUB 책은 단일 파일이며 이러한 “chapter” 파일은 직접 볼 수 없습니다. 기본 수준은 첫 번째 수준이며 2로 설정하면 책이 내부적으로 섹션 파일 별로 구성되어 독자가 책을 더 빨리 로드할 수 있음을 의미합니다.
  • epub_version : EPUB의 버전 3 또는 2입니다.

EPUB 책은 본질적으로 HTML 페이지의 모음입니다. 예를 들어 CSS 규칙을 해당 요소에 적용하고, 이미지를 포함하고, (MathML이 부분적으로 지원되기 때문에) 수식을 삽입할 수 있습니다. 2에 언급된 그림/표 캡션, 상호 참조, 맞춤 블록 및 인용도 EPUB에서 작동합니다. 이 책의 EPUB 출력을 HTML 출력과 비교할 수 있으며 유일한 차이점은 시각적인 모양이라는 것을 알 수 있습니다.

Calibre(https://www.calibre-ebook.com), Apple의 iBooks, Google Play Books를 비롯한 여러 종류의 EPUB 리더를 사용할 수 있습니다.

3.3.2 MOBI

MOBI 전자 책은 Amazon의 Kindle 기기에서 읽을 수 있습니다. Pandoc은 기본적으로 MOBI 출력을 지원하지 않지만 타사 도구를 사용하여 EPUB를 MOBI로 변환할 수 있습니다. 가능한 도구 중 하나는 Calibre입니다. Calibre는 오픈 소스로 무료이며 더 많은 형식 간의 변환을 지원합니다. 예를 들어 HTML을 EPUB으로, Word 문서를 MOBI로 변환할 수 있습니다. bookdown의 함수 calibre()는 Calibre의 명령 줄 유틸리티 ebook-convert의 래퍼 함수입니다. 환경 변수 PATH를 통해 실행 가능한 ebook-convert를 찾을 수 있는지 확인해야 합니다. macOS를 사용하는 경우 brew cask install calibre 명령을 통해 Homebrew(https://brew.sh)와 함께 Calibre를 설치할 수 있으므로 PATH와 관련되는 부분은 걱정할 필요가 없습니다.