title: "R Markdown 安装与配置" author: "hungerzs" date: "2016年6月8日" output: html_document: default pdf_document:
includes:
in_header: header.tex
keep_tex: yes
latex_engine: xelatex
knitr::opts_chunk$set(echo = TRUE)
本文档由R Markdown文件生成。R Markdown 是一种简单的标记语法,可以转换成HTML, PDF, and MS Word文档。 更多细节参考!
1.通过 Pandoc 将 Markdown 转化成 LaTex,再由强大的 LaTex 转换成 HTML、PDF、Word,理论上来说借助 LaTex 可以生成学术论文、期刊杂志、数据报告等规范格式的文档; 2.RMarkdown是R和Markd的结合体,可以在 Markdown代码中直接插入R代码块,并直接执行 R 语言代码,将结果数据和图形插入文档。这对于科技论文的写作是非常方便的。
可以通过 RStudio 中的新建按钮创建 R Markdown 文件,此时可能提示安装 rmarkdown 包: install.packages(rmarkdown) 在R控制台安装组件。 安装完成后,新建文档R Markdown文件,从弹出的对话框选择文档标题、作者以及将要输出的文档格式。 点击Knit按钮编译生成文档,结果文档包含文档内容和R代码块的输出结果。 R代码块可以像这样嵌入文档:
summary(cars)
其中·是反引号,位于键盘的Esc键下方。
第一次按 Kint PDF(或 Kint HTML)按钮编译时可能出现错误:
Knit PDF : pandoc document conversion failed with error 43
可以通过安装 github 上最新的版本解决:
install.packages("devtools") # 如果以前没有安装 devtools 包
devtools::install_github("rstudio/rmarkdown")
第二个问题当是文档中有中文的情况,可能提示:
! Package inputenc Error: Unicode char \u8
:年 not set up for use with LaTeX.
Try running pandoc with --latex-engine=xelatex.
如果有中文,LaTex 引擎需要选择为 xelatex,可以通过下图的方式进行更改:
或者直接在文档头信息中加入:
output:
pdf_document:
latex_engine: xelatex
这样就可以正常输出为 PDF 文档了,但是会发现所有的中文全部都是空白,这个主要是 LaTex 的配置问题,中文需要中文字体来渲染,可以通过在文件头中引入 LaTex 文件进行配置:
output:
pdf_document:
includes:
in_header: header.tex
latex_engine: xelatex
其中 header.tex 可以是:
\usepackage{xeCJK}
\setCJKmainfont{楷体} % 字体可以更换
\setmainfont{Georgia} % 設定英文字型
\setromanfont{Georgia} % 字型
\setmonofont{Courier New}
可以这样嵌入图表:
plot(pressure)
注意 echo = FALSE
阻止在页面上显示代码,而只显示输出结果.