16 製本した文書を配布する
16.1 Wepページのホスティング
HTML ファイルは様々な配布方法がある. もちろん自分でサーバを立てても良い. 特に簡単なのは以下の2点である.
- github pages を利用する
- bookdown.org に投稿する
- の詳細は github.com の公式ドキュメントを見るのが一番良いだろう.
rmdja
では,bookdown
の機能である_bookdown.yml
に文書ファイルの出力場所を指定するオプションをそのまま使えるため,docs
ディレクトリに出力するよう設定すればあとはリモートリポジトリにプッシュし, pages を公開するよう設定するだけである.
既にbookdownで作成した文書を公開している例は多数ある. 例えば既に何度も言及した公式解説サイトはそれじたいが bookdown
で作られているし, “R for Data Science” (Wickham and Grolemund 2016)31は, 内容の良さも含め一見に値する. また, “Hands-On Data Visualization: Interactive Storytelling from Spreadsheets to Code” (Dougherty and Ilyankou forthcoming) という本32が来年出るらしい. そして面白いことにこれは R の本ではなく Google スプレッドシートとかの Web 上のサービスの利用法を紹介する文書である.
これらはいずれもソースコードまで公開されている. もちろんここでいうソースコードとは, 本文中のプログラムだけでなく文書を生成する Rmd
ファイルなども含める.
それ以外にも有名無名の多くのドキュメントが公開されているが, 一方で日本語はまだまだ少ない. 内容が豊富で, かつ Rmd
のソースコードまで公開されている例として以下が見つかった.
さらに以下2つは私が作成したものである.
- 『三國志で学ぶデータ分析 (Japan.R 2019)』35 (Japan.R 2019 の資料)
- 『経済学と反事実分析 接触篇 Economics and Counterfactual Analysis: A Contact』36 (Tokyo.R 第83回の資料)
特に私の2作品は PDF のレイアウトにも注意を払っているが, 当時はまだ rmdja
を作成しておらず kazutan 氏作の bookdown_ja_template
をさらに改良した kenjimyzk 氏のテンプレート を元にワンオフで作成したフォーマットを使用しているためあまりスマートでない書き方が見られる.
また, HTML 形式の文書には PDF など他のファイル形式のダウンロードリンクを設置することができる. これは _bookdown.yml
で表示を指定できる.
16.2 (WIP) 入稿するには
国内の印刷所で PDF 入稿する際のスタンダードは何だろうか? 紙媒体でやったことがないので全くわからない. ver. 0.3 時点での対応を紹介する. なおこれらの対応は, 『Bookdownによる技術系同人誌執筆』というブログ記事で言及されていた, 入稿に必要なPDFのスタイルだそうである (印刷所ごとに対応は違うと思われる).
また, 現在は Re:View という電子・紙媒体書籍作成ソフトがあり, 既に出版での使用実績も増えつつあるらしい. R Markdown, ひいては rmdja
のモチベーションの1つは, R コードを文書に埋め込むことで結果の再現性を確保する, というものである. 再現性というと抽象的だが, 冒頭に書いたようにコードの埋め込みによってグラフや計算結果の修正差し替え時のミスが減ることはここまで読んだ方は納得いただけるのではないのだろうか. しかし, 文書に R コードの埋め込みが必要なく, 単純に DTP ツールとしての完成度を評価するのなら, Re:View のほうが確実に信頼できる.
16.2.1 トンボの表示
_output.yml
で
rmdja::pdf_book_ja:
tombow:true
とするとPDFにトンボ (trimming mark) を表示する. これは gentombow.sty
によるものである. しかし私はこの出力が適切なのか判断することができない.
16.2.2 (TODO) 隠しノンブルとヘッダ・フッタのカスタマイズ
対応中
16.2.3 フォントの埋め込み
少なくとも PDF ではフォントを埋め込みそこなったり, Type 3 フォントが設定されないようにしている. ただし Python 等を利用して描いたグラフを埋め込む場合, 個別に設定が必要な場合もあり, 完全な保証はできない.
TODO: https://teastat.blogspot.com/2019/01/bookdown.html の記述のうち, まだ対応してないものがある.