8.3 個別の要素にスタイルを設定する

Markdown のシンプルさにより, Word 文書全体に対してグローバルなスタイル設定ができます (8.1節参照) が, ある単語に色を着けたりある段落の中央揃えなど, 個別の要素に直接スタイルを設定することはできません.

David Gohel は, R 上で Office 文書で作業するのをより簡単にするという努力を続ける中で, 2018 年に officedown パッケージ (Gohel and Ross 2021)の開発を始めました. これは officer (Gohel 2021b) パッケージの機能のいくつかを R Markdown に持ち込むのが目的です. 本書の執筆時点ではこのパッケージの初期のバージョンが CRAN で公開されていますが, まだ実験的です. CRAN あるいは GitHub どちらからでもインストールできます.

# CRAN からインストール
install.packages("officedown")

# GitHub からインストール
remotes::install_github("davidgohel/officedown")

パッケージがインストールされたら, R Markdown 文書内で読み込む必要があります. 例えばこのように.

```{r, setup, include=FALSE}
library(officedown)
```

officedown パッケージには rdocx_document という出力フォーマットがあります. これはデフォルトでは rmarkdown::word_document を基礎にして, 表やグラフにスタイル付けする機能が追加されています.

officedown パッケージは officer パッケージを介して特定の Word 要素にスタイルを適用することを可能にします. 例えば officer::fp_text() 関数でスタイルを作成し, インライン R コードの ftext() でテキストの一部にそのスタイルを適用できます.

---
title: officedown でテキストにスタイルを適用する
output:
  officedown::rdocx_document: default
---

```{r}
library(officedown)
library(officer)
ft <- fp_text(color = 'red', bold = TRUE)
```

# テスト

**officedown** パッケージは `r ftext('すごい', ft)`!

officer の関数とは別に, officedown パッケージは特殊な HTML コメントを使って officer のタスクが実現できます. 例えば officer::block_pour_docx() は外部の Word 文書を現在の文書にインポートするのに用いますが, 代わりに R Markdown 上で HTML コメントを使うこともできます.

<!---BLOCK_POUR_DOCX{file: 'my-file.docx'}--->

これはインライン R コードで以下のように書くのと等価です.

`r block_pour_docx(file = 'my-file.docx')`

officedownofficer パッケージで他にできることとして, 以下のようなものがあります.

  • 改ページの挿入

  • 多段組みレイアウトの配置

  • 段落設定の変更

  • 目次の挿入

  • あるセクションのページの向きを変える (縦向きか横向きか)

officedown についてもっと学ぶには, 公式ドキュメント https://davidgohel.github.io/officedown/ をご覧ください.

:::.infobox .memo data-latex=“{memo}”}

訳注

翻訳者は officedown のテンプレートを日本語化した簡易的なパッケージを作成しています.

https://github.com/Gedevan-Aleksizde/wordja :::

参考文献

———. 2021b. Officer: Manipulation of Microsoft Word and PowerPoint Documents. https://CRAN.R-project.org/package=officer.
Gohel, David, and Noam Ross. 2021. Officedown: Enhanced r Markdown Format for Word and PowerPoint. https://CRAN.R-project.org/package=officedown.