Ubuntu24.04上のRで、knitrで日本語のPDFを出力するための設定方法をお伝えします。Rでの作業は実際にはRStudioを用いています。

環境

今回の作業環境を確認しておきます。

Ubuntuのバージョン


cat /etc/lsb-release

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04.1 LTS"

Ubuntuの設定

Ubuntuに日本語のTex環境をインストールします。


sudo apt install texlive texlive-lang-japanese

次に、R markdownファイルをPDFに出力するための実行エンジンとなるxetexをインストールします。


sudo apt install texlive-xetex

RStudioの設定

RStudioを立ち上げた後、次のコマンドで knitr パッケージをインストールします。すでにインストールしてあれば、次のコマンドを実行する必要はありません。また、PDF出力の際に他に必要なパッケージをインストールするよう催促された場合は、そのパッケージもインストールする必要があります。


install.packages("knitr")

文章の日本語化

サンプルとして、次のRMarkdownをPDFしてみます。


---
title: "サンプル"
author: "山田 太郎"
date: "2024年09月24日"
output:
  pdf_document:
    latex_engine: xelatex
    number_sections: true
    toc: true
---

# 最初

これはサンプルです。

## 次

これは次のサンプルです。

すると、次のようになり、タイトルなどのすべての文章が日本語として表示できていないことが確認できます。

タイトルなどのすべての文章を日本語として表示させるためには、header-includesに次の2つを含めます。


---
title: "サンプル"
author: "山田 太郎"
date: "2024年09月24日"
output:
  pdf_document:
    latex_engine: xelatex
    number_sections: true
    toc: true
header-includes:
- \usepackage{zxjatype} 
- \usepackage[noto]{zxjafont} 
---

# 最初

これはサンプルです。

## 次

これは次のサンプルです。

すると、次のようになり、タイトルなどのすべての文章が日本語として表示されます。

グラフの日本語化

サンプルとして、次のRMarkdownをPDFしてみます。


---
title: "サンプル"
author: "山田 太郎"
date: "2024年09月24日"
output:
  pdf_document:
    latex_engine: xelatex
header-includes:
- \usepackage{zxjatype} 
- \usepackage[noto]{zxjafont} 
---

```{r}
plot(x = iris$Sepal.Length, y = iris$Sepal.Width, xlab = 'がく片の長さ', ylab = 'がく片の幅')
```

すると、次のようになり、x軸とy軸のラベルが正しく日本語表示されていないことが確認できます。

x軸とy軸のラベルが正しく日本語表示させるために、4行追加します。


---
title: "サンプル"
author: "山田 太郎"
date: "2024年09月24日"
output:
  pdf_document:
    latex_engine: xelatex
header-includes:
- \usepackage{zxjatype} 
- \usepackage[noto]{zxjafont} 
---

```{r, include=FALSE}
library(knitr)
knitr::opts_chunk$set(dev="cairo_pdf", dev.args=list(family="Noto Sans CJK JP"))
```

```{r}
plot(x = iris$Sepal.Length, y = iris$Sepal.Width, xlab = 'がく片の長さ', ylab = 'がく片の幅')
```

すると、次のようになり、x軸とy軸のラベルが正しく日本語表示させることができます。

R×Ubuntu24.04 knitrで日本語のPDFを出力するための設定