一、引言
R markdown可以撰写包含R代码、运算结果及可视化图片的专业的分析报告,而且可以knit为网页或者文本(word或者pdf)。但是如果包含中文字符且需要将文本knit为pdf时,就需要一些配置才能在最终的pdf文件中正确显示中文。下面我记录下来我的配置过程(折腾了一整天)供需要者参考。
二、具体步骤
1.安装CTeX、R和RStudio
1.1 安装CTeX
CTeX官方下载:下载地址,建议安装Complete版。
或者直接下载我为亲们准备好的安装包下载地址 ,提取码:r8jy。
双击运行安装.exe程序,按默认设置至安装结束。
1.2 R和RStudio的安装
R和RStudio的安装就不说了,基本操作。需要注意的是,在RStudio中检查是否与CTeX关联。在RStudio中键入
Sys.which('xelatex')
若有如下显示则表示成功,这一步很重要!!!
## "C:\\PROGRA~2\\ctex\\MiKTeX\\miktex\\bin\\xelatex.exe"
2.配置RStudio
2.1 安装R markdown相关包
install.packages(c('rmarkdown', 'knitr', 'caTools'))
2.2 设置默认编码方式为 UTF-8
- 打开RStudio,选择菜单 Tools → Global Options…。
- 在 Option 界面选择 code 选项卡,然后主窗口选择 Saving 选项卡。
- 点击 Default text encoding下方的 Change 按钮,在弹出的窗口中选择 UTF-8 (图1)。
-
点击 OK 保存并退出。
2.3 设置编译引擎
- 打开 RStudio,选择菜单 Tools → Global Options…。
- 在 Option 界面选择 Sweave 选项卡。
- Typeset LaTeX into PDF using: 这一项右侧的下拉菜单中选择 XeLaTeX,保存退出(图2)。
3.配置CTeX的运行环境
3.1 创建R markdown
File → New file → R markdow。title和author随便写,但是建议写英文,output format选择pdf。(图3)
之后就会看到如下界面,注意认识下YAML区,后面会用到(图4)。
将创建的R markdown文件保存一个文件夹,注意路径建议不要出现中文。这样就会生成一个后缀为Rmd的文件。
3.2 创建header文件
在上述保存Rmd文件的文件夹里,新建一个记事本文件。里面写
\usepackage{ctex}
然后把这个记事本的后缀.txt改成.tex,当然要先装好CTeX。
3.3 修改R markdown文件的YAML
将上图的YAML区代码替换为如下代码
title: "使用forestplot绘制亚组分析森林图"
author: "Snown123"
date: "2020年5月3日"
output:
pdf_document:
includes:
in_header: header.tex
latex_engine: xelatex
至此,我们就给R markdown配置好了调用CTex正确输出含有中文的PDF文档所有步骤。
Let's have a TRY.