3.4 단일 문서

때로는 책 대신에 하나의 긴 기사나 보고서를 쓰고 싶을 수도 있습니다. 일반적으로 특정 출력 형식으로 rmarkdown::render()를 호출합니다. 누락된 주요 기능은 그림/표/방정식 등의 자동 번호 매기기와 그림/표/방정식/섹션 상호 참조 등입니다. bookdown에서 이러한 기능을 추출하여 여러 Rmd 파일 책을 준비하지 않고도 사용할 수 있습니다.

이를 위해 html_document2(), tufte_html2(), pdf_document2(), word_document2(), tufte_handout2()그리고 tufte_book2() 함수가 설계되어 있습니다. bookdown::html_document2와 같은 출력 형식으로 R Markdown 문서를 렌더링하면 그림/표 번호를 얻고 2에 설명된 구문을 사용하여 단일 HTML 페이지에서 상호 참조할 수 있습니다.

다음은 단일 Rmd 파일의 YAML 메타 데이터에 있는 이러한 출력 형식의 몇 가지 예입니다 (이 형식 을_output.yml 파일에 추가할 수도 있습니다다).

output:
  bookdown::html_document2: default
  bookdown::pdf_document2:
    keep_tex: true
  bookdown::word_document2:
    toc: true

위의 HTML 및 PDF 출력 형식 함수는 기본적으로 base_format 인수를 변경했다는 의미에서 출력 형식 bookdown::html_bookbookdown::pdf_book의 래퍼입니다. 예를 들어 pdf_document2의 소스 코드를 살펴볼 수 있습니다.

bookdown::pdf_document2
## function (...) 
## {
##     pdf_book(..., base_format = rmarkdown::pdf_document)
## }
## <bytecode: 0x7f92f3dcc0a8>
## <environment: namespace:bookdown>

이 사실을 알고 나면 적절한 base_format을 사용하여 동일한 아이디어를 다른 출력 형식에 적용할 수 있습니다. 예를 들어 YAML 메타 데이터를 사용하여 bookdown 기능을 rticles 패키지 (Allaire, Xie, Foundation, et al. 2020)jss_article 형식으로 이식할 수 있습니다. :

output:
  bookdown::pdf_book:
    base_format: rticles::jss_article

그러면 2 장에서 소개한 모든 기능을 사용할 수 있습니다.

gitbook () 형식은 주로 책용으로 설계되었지만 실제로는 단일 R Markdown 문서에도 적용할 수 있습니다. 유일한 차이점은 단일 페이지 출력에는 검색 버튼이 없다는 것입니다. 웹 브라우저의 검색 도구를 사용하여 텍스트를 찾을 수 있기 때문입니다 (예 : ‘Ctrl + F’ 또는 ‘Command + F’ 누르기).

단일 출력 페이지만 생성하도록 split_by 옵션을 none으로 설정할 수도 있습니다. 이 경우 탐색할 다른 페이지가 없기 때문에 탐색 버튼이 없습니다. 원하는 경우 여러 페이지로 된 HTML 파일을 생성할 수도 있습니다. 사용할 수 있는 또 다른 옵션은 단일 출력 페이지 일 때 self_contained = TRUE입니다.