• R Markdown クックブック
  • はじめに
    • 本書の読み方
    • 本書の構成
    • ソフトウェア情報と表記のルール
    • 謝辞
  • 著者について
    • Yihui Xie
    • Christophe Dervieux
    • Emily Riederer
  • 翻訳者情報 (About Translators)
    • 片桐智志 (Katagiri, Satoshi)
    • 翻訳協力者への謝辞
  • 1 インストール方法
    • 1.1 RStudio IDE にバンドルされていないバージョンの Pandoc を使う
    • 1.2 PDF レポートの作成に LaTeX (TinyTeX) をインストールする
    • 1.3 足りない LaTeX パッケージをインストールする
  • 2 コンセプトについての概論
    • 2.1 レンダリング時に何が起こっているのか
    • 2.2 R Markdown の解剖学
      • 2.2.1 YAML メタデータ
      • 2.2.2 ナラティブ
      • 2.2.3 コードチャンク
      • 2.2.4 文書の本文
    • 2.3 結果を変えるために変更できるのはなにか?
  • 3 基本
    • 3.1 コードチャンクとインライン R コード
    • 3.2 RStudio のビジュアルエディタで R Markdown を書く
    • 3.3 R スクリプトをレポートにレンダリングする
    • 3.4 Markdown から R script への変換
    • 3.5 R Markdown Notebook
  • 4 文書の要素
    • 4.1 改ページ (改段) を挿入する
    • 4.2 文書タイトルを動的に設定する
    • 4.3 R コード内で文書メタデータにアクセスする
    • 4.4 番号のない節
    • 4.5 参考文献と引用
      • 4.5.1 引用スタイルの変更
      • 4.5.2 引用していない文献を参考文献に追加する
      • 4.5.3 全てのアイテムを参考文献に掲載する
      • 4.5.4 参考文献の後に補遺を掲載する (*)
    • 4.6 R パッケージの引用を生成する
    • 4.7 文書内の相互参照
    • 4.8 日付を自動的に更新する
    • 4.9 文書に複数の著者を表記する
    • 4.10 図のキャプションへの付番
    • 4.11 単語をコンマ区切りで結合する
    • 4.12 複数の改行コードを維持する
    • 4.13 モデルを数式に変換する
    • 4.14 複数の R プロットからアニメーションを作成する
    • 4.15 ダイアグラムを作成する
      • 4.15.1 基本的なダイアグラム
      • 4.15.2 図にパラメータを追加する
      • 4.15.3 その他のダイアグラム作成パッケージ
    • 4.16 特殊文字をエスケープする
    • 4.17 テキストのコメントアウト
    • 4.18 目次から見出しを省略する
    • 4.19 全てのコードを補遺に置く (*)
    • 4.20 Pandoc の Lua フィルタから操作する (*)
  • 5 書式
    • 5.1 フォント色
      • 5.1.1 生の HTML/LaTeX コードを書く関数を使う
      • 5.1.2 Lua フィルタを使う (*)
    • 5.2 テキストをインデントする
    • 5.3 テキスト出力の幅を制御する
    • 5.4 グラフ・画像のサイズを制御する
    • 5.5 図のアラインメント
    • 5.6 コードチャンクをそのまま (verbatim) 表示
      • 5.6.1 インライン R コードをそのまま表示
    • 5.7 コードブロックに行番号を表示する (*)
    • 5.8 多段組み (*)
  • 6 LaTeX 出力
    • 6.1 プリアンブルに LaTeX コードを追加する
    • 6.2 LaTeX 出力の Pandoc オプション
    • 6.3 表紙ページにロゴを置く
    • 6.4 LaTeX パッケージを追加で読み込む
      • 6.4.1 LaTeX パッケージを読み込む
      • 6.4.2 パッケージの例
    • 6.5 図の位置を制御する
      • 6.5.1 フロート環境
      • 6.5.2 図がフロートするのを防ぐ
      • 6.5.3 フロートを後回しに強制する
      • 6.5.4 LaTeX 配置ルールを調整する (*)
    • 6.6 LaTeX で複数の図をまとめる
    • 6.7 Unicode 文字を含む文書をレンダリングする
    • 6.8 LaTeX のコードフラグメントを生成する
    • 6.9 カスタムヘッダとフッタ (*)
    • 6.10 Pandoc の LaTeX テンプレートをカスタマイズする (*)
    • 6.11 生の LaTeX コードを書く
    • 6.12 ハードコア LaTeX ユーザーのために (*)
  • 7 HTML 出力
    • 7.1 カスタム CSS を適用する
    • 7.2 セクションヘッダを中央揃えにする
    • 7.3 コードチャンクのスタイルを変更する
    • 7.4 コードブロックをスクロール可能にする (*)
    • 7.5 全コードブロックを折りたたみ, かついくつかは表示する
    • 7.6 内容をタブブラウジングさせる
    • 7.7 Rmd ソースファイルを HTML に埋め込む
    • 7.8 HTML 出力に好きなファイルを埋め込む
    • 7.9 カスタム HTML テンプレートを使う (*)
    • 7.10 既存の HTML ファイルの内容を読み込む (*)
    • 7.11 ブラウザアイコンをカスタマイズする
    • 7.12 折りたたみ要素 <details> を使う
    • 7.13 HTML 出力を Web で共有する
      • 7.13.1 R 特化のサービス
      • 7.13.2 Static website services
    • 7.14 HTML ページのアクセシビリティを向上させる
    • 7.15 ハードコア HTML ユーザー向けの話 (*)
  • 8 Word
    • 8.1 カスタム Word テンプレート
    • 8.2 R Markdown と Word 間の双方向ワークフロー
    • 8.3 個別の要素にスタイルを設定する
  • 9 複数の出力フォーマット
    • 9.1 LaTeX か HTML か
    • 9.2 HTML ウィジェットを表示する
    • 9.3 Web ページの埋め込み
    • 9.4 複数の図を横並びに
    • 9.5 生のコードを書く (*)
    • 9.6 カスタムブロック (*)
      • 9.6.1 構文
      • 9.6.2 影付きブロックを追加する
      • 9.6.3 アイコンを加える
  • 10 表
    • 10.1 knitr::kable() 関数
      • 10.1.1 サポートする表形式
      • 10.1.2 列名を変更する
      • 10.1.3 列のアラインメントを指定する
      • 10.1.4 表にキャプションを追加する
      • 10.1.5 数値列を整形する
      • 10.1.6 欠損値を表示する
      • 10.1.7 特殊文字をエスケープする
      • 10.1.8 複数の表を横に並べる
      • 10.1.9 for ループから複数の表を作成する (*)
      • 10.1.10 LaTeX の表をカスタマイズする (*)
      • 10.1.11 HTML の表をカスタマイズする (*)
    • 10.2 kableExtra パッケージ
      • 10.2.1 フォントサイズを設定する
      • 10.2.2 特定の行・列のスタイルを設定する
      • 10.2.3 行・列をグループ化する
      • 10.2.4 LaTeX で表を縮小する
    • 10.3 その他の表作成パッケージ
  • 11 チャンクオプション
    • 11.1 チャンクオプションに変数を使う
    • 11.2 エラーが起こっても中止しない
    • 11.3 同じグラフを複数の出力フォーマットに
    • 11.4 時間のかかるチャンクをキャッシュする
    • 11.5 複数の出力フォーマットに対してチャンクをキャッシュする
    • 11.6 巨大オブジェクトをキャッシュする
    • 11.7 コード, テキスト出力, メッセージ, グラフを隠す
    • 11.8 チャンクの出力を全て隠す
    • 11.9 テキスト出力をソースコードとまとめる
    • 11.10 R のソースコードを整形する
    • 11.11 テキストを生の Markdown として出力する (*)
    • 11.12 テキストの先頭のハッシュ記号を消す
    • 11.13 テキスト出力ブロックに属性を与える (*)
    • 11.14 グラフに後処理をかける (*)
    • 11.15 高品質なグラフィック (*)
    • 11.16 低水準作図関数で1つづつグラフを作る (*)
    • 11.17 チャンク内のオブジェクト表示をカスタマイズする (*)
    • 11.18 オプションフック (*)
  • 12 出力フック (*)
    • 12.1 ソースコードを検閲する
    • 12.2 ソースコード内に行番号を追加する
    • 12.3 スクロール可能なテキスト出力
    • 12.4 テキスト出力を中断する
    • 12.5 HTML5 フォーマットで図を出力する
  • 13 チャンクフック (*)
    • 13.1 グラフをクロップする
    • 13.2 PNG のグラフを最適化する
    • 13.3 チャンクの実行時間をレポートする
    • 13.4 出力にチャンクヘッダを表示する
    • 13.5 rgl によるインタラクティブな3次元グラフを埋め込む
  • 14 その他の knitr の小ワザ
    • 14.1 コードチャンクを再利用する
      • 14.1.1 チャンクを別の場所にも埋め込む (*)
      • 14.1.2 別のチャンクで同一のチャンクラベルを使う
      • 14.1.3 参照ラベルを使う (*)
    • 14.2 オブジェクトが作られる前に使用する (*)
    • 14.3 knit 処理を打ち切る
    • 14.4 どこにでもグラフを生成し, 表示させる
    • 14.5 以前のコードチャンクのグラフを修正する
    • 14.6 グループ化したチャンクオプションを保存し再利用する (*)
    • 14.7 Rmd ソースの生成に knitr::knit_expand() を使う
    • 14.8 コードチャンクにラベルの重複を許可する (*)
    • 14.9 より透明性のあるキャッシュの仕組み
      • 14.9.1 コードの変更によってキャッシュを無効化する
      • 14.9.2 グローバル変数の変更によってキャッシュを無効化する
      • 14.9.3 キャッシュの複数のコピーを保持する
      • 14.9.4 knitr のキャッシュ機能との比較
  • 15 その他の言語
    • 15.1 カスタム言語エンジンを登録する (*)
    • 15.2 Python コードの実行と双方向処理
    • 15.3 asis エンジンでコンテンツを条件付きで実行する
    • 15.4 シェルスクリプトを実行する
    • 15.5 D3 で可視化する
    • 15.6 cat エンジンでチャンクをファイルに書き出す
      • 15.6.1 CSS ファイルへ書き込む
      • 15.6.2 LaTeX コードをプリアンブルに含める
      • 15.6.3 YAML データをファイルに書き込みつつ表示する
    • 15.7 SAS コードを実行する
    • 15.8 Stata コードを実行する
    • 15.9 Asymptote でグラフィックを作成する
      • 15.9.1 R でデータを生成し Asymptote に読み込ませる
    • 15.10 Sass/SCSS で HTML ページをスタイリングする
  • 16 プロジェクトを管理する
    • 16.1 外部の R スクリプトを実行する
    • 16.2 外部スクリプトをチャンク内で読み込む
    • 16.3 外部スクリプトから複数のコードチャンクを読み込む (*)
    • 16.4 子文書 (*)
    • 16.5 グラフ画像ファイルを残す
    • 16.6 R コードチャンク用の作業ディレクトリ
    • 16.7 R パッケージのビネット
    • 16.8 R パッケージの R Markdown テンプレート
      • 16.8.1 テンプレートのユースケースTemplate use-cases
      • 16.8.2 テンプレートの準備
    • 16.9 bookdown で本や長いレポートを書く
    • 16.10 blogdown でウェブサイトを構築する
  • 17 ワークフロー
    • 17.1 RStudio のキーボード・ショートカットを使う
    • 17.2 R Markdown のスペルチェック
    • 17.3 rmarkdown::render() で R Markdown をレンダリングする
    • 17.4 パラメータ化されたレポート
    • 17.5 Knit ボタンをカスタマイズする (*)
    • 17.6 trackdown で Google ドライブの Rmd 文書を共同編集する
      • 17.6.1 trackdown の作業工程
    • 17.7 workflowr で R Markdown プロジェクトを研究用サイトでまとめる
    • 17.8 R Markdown から Eメールを送信する Send emails based on R Markdown
  • 参考文献
  • Published with bookdown

R Markdown クックブック

6.3 表紙ページにロゴを置く

LaTeX パッケージの titling は表題ブロックを画像に変更するのに使えます. 以下は R ロゴ (logo.jpg) を表紙に配置する方法の全容を示したものです. 画像は LaTeX のサポートする形式 (例えば jpg, png, pdf) ならなんでも使えます.

---
title: LaTeX のタイトルにロゴを追加する
author: Michael Harper
date: 2018/12/7
output:
  pdf_document:
    latex_engine: lualatex
documentclass: ltjsarticle
header-includes:
  - \usepackage{titling}
  - \pretitle{\begin{center}
    \includegraphics[width=2in,height=2in]{logo.jpg}\LARGE\\}
  - \posttitle{\end{center}}
---

<!-- 改ページを含めることもできます. これで文書を強制的に2ページ目から始めさせます. -->

\newpage

ここからあなたのレポート

```{r, include=FALSE}
# R ロゴをカレントディレクトリにコピー
file.copy(file.path(R.home("doc"), "html", "logo.jpg"), '.')
```

図6.1 がこの出力例です.

LaTeX の表紙ページにロゴを追加する

図 6.1: LaTeX の表紙ページにロゴを追加する

LaTeX パッケージ (titling) を特に要求しない代替方法として, Markdown 構文を使って title フィールドに画像を挿入する方法があります. 例えばこのように.

title: |
  ![](logo.jpg){width=1in}  
  LaTeX のタイトルにロゴを追加する

この場合, 最初の例にあった YAML フロントマターの header-includes フィールドは不要になります. 例からは見えませんが, ![](logo.jpg){width=1in} の末尾にスペースが2つあることに注意してください. これは Markdown では改行を意味します(4.12節参照). 改行がない場合画像とタイトルは同じ行に現れてしまい, あなたの意図するものではないはずです.