この記事は
https://miyazakikenji.wordpress.com/2017/02/20/bookdown_ja_template/
を転記したものです.
bookdown
bookdown で日本語の PDF ファイルを出力できるテンプレートを作成しました.
基本的には
をフォークしたものです. kazutan さんは主に html ファイルにおいていろいろ貢献しています. わたしの貢献は日本語 PDF を作るための設定です.
主な違いは以下です:
- lualatex でなく xelatex にしている.
- IPA font でなく IPAex font にしている
- pdf で bxjsbook を使用していている
- 日本語付きの図表の例を示している.
- 日本語の索引と参考文献の例を示している.
使い方は全く同じで, 先のサイトや index.Rmd にかかれています. ここでは色々補足をします.
bxjsbook
PDF のためのスタイルファイルで bxjsbook を使いました. これについて
が参考になりました. ただ, このままだとなぜかコードの内の日本語が明朝体になってしまいます. 原因不明なので, 冗長ですが preamble.tex
に
\usepackage[ipa]{zxjafont}
をつけています.
また bxjsbook だと上手く章立てできないので,
pandoc_args: --chapters
を pandoc の引数にしております. ただこれは最新の pandoc だと機能が古いと怒られ
pandoc_args: --top-level-division=chapter
とするようにいわれますが, 現在の windows の RStudio に同封の pandoc ではバージョンが古いため後者は設定できません.
texlive 2016
texlive 2016 が導入されているのが前提になっています. 現在の最新版 2016 でないとスタイルファイル bxjsbook
やユニコードに対応した索引作成ソフト upmendex
が使えません.
Ubuntu で apt-get install
でインストールした場合だと上手く動きません. これを機にこちらでインストールすることをオススメします:
jeconunicode.bst
bibtex のスタイルファイルは
にある jcon.bst
のユニコード版 jecon_unicode.bst
を使います. 最近第7版が出版された有名な「LaTeX2 ε美文書作成入門」技術評論社で bibtex の章の最後の文章で natbib
に対応した日本語パッケージがないといっていますが, それは間違いです.
この武田さんの jcon.bst
でバッチリ natbib
に対応して 著者 (年) という社会科学で標準的に使われる表記で参考文献が作れます.
なお現在 texlive 20126 での upbibtex にバグがあるために一部機能がうまくいかないのですが, バグが直り, texlive 2017 で反映されるようです.
あと YAML がうまく jecon_unicode.bst
を読み込んでくれないので jeconunicode.bst
にファイル名を変更してフォルダにおいています.
さらにこのファイルは自分用に少しだけ修正しております (Pull Request 中).
ipaex
日本語のフォントを R で表記するために IPAex フォントを使用しています.
古い IPA フォントとの違いは欧米フォントがプロポーシャルになってることです.
以下からダウンロードしてください。
作図の際, 日本語フォントを含めた各種のフォントを作図に用いると警告が出る場合があります.
警告無しで使用するために extrafont
というパッケージを用います. まず最初に
install.packages("extrafont")
extrafont::font_import(prompt=FALSE)
として読み込みます. 実際に使えるフォントは
extrafont::fonts()
で確認できます. その上でセッションごとに
extrafont::loadfonts(quiet=TRUE)
と実行するとよいでしょう.
R での日本語付きの作図について, いろいろ情報が錯綜し, 私自身いろいろ試行錯誤しました.
現時点の結論として, html 出力では png
をデバイスとし, pdf 出力では cairo_pdf
をデバイスとし, grDevices
の設定を直接いじるのでなく, グラフィクパッケージごとにフォントファミリーを指定するのがよい考えております. そのために IPA フォントは事前にインストールするのが不可欠で, 環境依存になっていまいますが…
まとめ
以上 bookdown で日本語の pdf を作成するための紹介をしました. この bookdown が広まれば, 編集者にチェックをまかせていた参考文献や索引づくりが自分でできるようになり, ますます出版の敷居が下がってくるのではないでしょうか.
http://www.kyoritsu-pub.co.jp/series/205/
をみると, 「RStudio による Reproducible Research」高橋康介著が予定されています. きっと「ドキュメント・プレゼンテーション生成」の続編で, bookdown が言及されていると思いますので楽しみです.
現在, OS や環境依存を避けるための Docker 環境を構築することを模索しています. それが上手くいけばまた報告させていただきます.