14 製本方法の詳細

冒頭のチュートリアルで行った製本 (ビルド) の仕組みをもう少し詳しく解説する.

bookdown-demo を念頭に置いた解説. rmdja も基本的に同じ.

  • index.Rmd: デフォルトで最初に読み込まれるRmd ファイル (名前を変える機能もあるが, 現時点では不具合が起こりやすいのでおすすめしない)
  • それ以外の Rmd ファイル: 連結して読み込むことが可能
  • _output.yml: マルチメディア展開のための設定. PDF, HTML, EPUB それぞれの設定を書く
  • _bookdown.yml: bookdown のレイアウト設定
  • その他の設定ファイル: その他製本に必要なもの, 画像ファイル, .css ファイル, .bib

_output.yaml, _bookdown.ymlindex.Rmd のヘッダに書くこともできるが, 長くなりすぎるので分割できる. bookdown::render_book() 関数は, ルートディレクトリのこれらを自動で読み込んでくれる.

14.1 ファイル構成

これらのファイルの中身を解説する.

14.1.1 _output.yml

本来の YAML の output: 以下の記述をこの _output.yml ファイルに書くことができる. output: を複数書くとrmarkdown::render_site() やビルドツールでそれぞれの形式に一括作成してくれる.

output:
  bookdown::gitbook:
    lib_dir: assets
    split_by: section
    config:
      toolbar:
        position: static
  bookdown::pdf_book:
    keep_tex: yes
  bookdown::html_book:
    css: toc.css
documentclass: book

詳しくは BKD “Ch. 3 Output Formats” の章を.

14.1.2 _bookdown.yml

_bookdown.ymlindex.Rmd の YAML ヘッダの bookdown: 以下に対応する内容を書くことができる. 例えばどの Rmd ファイルを読み込むかとか, LaTeX のときだけ, HTML のときだけ読み込むような設定も可能.

https://ill-identified.hatenablog.com/entry/2020/09/05/202403

詳しくは, BKD Ch. 4.4 Configuration

Build ペーンから文書をビルドするには, index.Rmd のYAML ヘッダに site: bookdown::bookdown_site を書く必要がある. さらに, index.Rmd をプロジェクトディレクトリのルートに置いていない場合は, ツールバーの Build -> Configure Build Tools... から index.Rmd を置いているディレクトリを site ディレクトリとする設定が必要になる(図 14.1, 14.2).

Build ペーンの手動設定

図 14.1: Build ペーンの手動設定

Build ペーンの手動設定

図 14.2: Build ペーンの手動設定

または, bookdown::render_book("index.Rmd", "rmdja::pdf_book_ja") などでも実行できるから, コマンドラインからも実行できる. 同時製本は rmarkdown::render_site().