RStudioでドキュメントを作成して最終的にPDFに落とすには、TeXが必要だ。
かつてこれに挑んだことがあるが、システムが重くなり旨く行かなかった。
今回、UbuntuがBionicBeaverにUpgradeされたことにより、環境を改めて構築したことから、再挑戦することにした。
sudo apt install texlive
最初はこれだけで良いはずだったが、エラーが出てしまう。例によりエラーメッセージで検索すると、
sudo apt-get install texlive-latex-extra
も必要だった。
コチラを参照。
Add TeX path to R Studio - Ubuntu
それでもヘッダ部分に日本語を入力するとコンパイルエラーが生じる。
さらに、日本語フォントなどを入れてもだめで、こちらを参照して、以下の追加処理をする。
sudo apt install texlive-lang-japanese
う〜まだエラーが出る。(´・ω・`)
そもそも、RStudioではpdflatexとxelatexとが選択できるようになっているが、いろいろと調べてみると日本語環境はxelatexしかないとあったので、それを設定しているとエラーになる。
参考までに、hello.texを書いて、コンパイルして、evinceで表示してみても、日本語は出てこない。
hello.tex
\documentclass{article}
\usepackage{hyperref}
\begin{document}
こんにちは \LaTeX
\url{https://linuxconfig/org}
\end{document}
残念ながら「こんにちは」の部分は表示されない。(´・ω・`)
xelatexはTexLiveにバンドルされていると信じていたのだが、xetexをインストールしないと使えないことに気がついた。
sudo apt install xetex
それでもだめなので、texstudioをインストール。でもこれは不要だった。
*** 2019年7月6日追記 ***
上のstackoverflowの記事によれば、TexLiveをアップデート(今回は2018から2019へ)すると、TexLiveのパスが変わるので、自分でパスを指定する必要がある。
sudo nano /etc/environment
** adding this code :/usr/local/texlive/2017/bin/x86_64-linux.
source /etc/envronment
その上でUbuntuをリブートする。PATHはOSレベルだから。
さらに、RStudioで指定するLaTeXはxelatexでよいが、knitrで選択するコマンドは、Knit To PDFであってKnit To Beamerではない。Beamerを指定すると、デフォルトではpdfLatexエンジンを指定することになるようだが、latex_engine: xelatexを指定しても一応読み込みはしてくれるがスタイルが旨くハマらずエラーになる。
RMDファイルのYAMLヘッダにはとりあえず以下のおまじないを入れている。
output:
pdf_document:
latex_engine: xelatex
ioslides_presentation: default
header-includes:
- \usepackage{bookmark}
- \usepackage{xltxtra}
- \usepackage{zxjatype}
- \usepackage[ipa]{zxjafont}
単純にスライドをPDFにしたければ、HTMLで出力したものをブラウザ(IEはだめ)で開き印刷>PDFファイル、すればよい。