|
用rmarkdown,knitr做中文PDF报告,原来以为点歌按钮那么简单,但使用后遇到中文显示不出来的问题。后来终于解决了。
1、首先要安装Rstudio,knitr包,还有pandoc
2、在Rstudio里写好一个Rmd文件后,做好Rstudio的设置,包括Tools-Goldblo option-Sweave里Weave Rnw files using "knitr",Typeset LaTeX into PDF using: "XeLaTeX",还有Rmarkdown里的设置,output format选PDF,Advanced里的LaTeX Engine:xelatex 等,其他的设置可以根据自己需要
一般上面的设置做好后,编译是不会有问题的,但生成的PDF文件中中文就是显示不出来,后来发现问题是默认TEX模板导致生成的TEX文件缺少了中文的支持,所以要进行下面的步骤
3、在pandoc里,导出默认的模板,在命令行输入 pandoc -D latex>template.tex
4、打开上面的模板,找到一行 % if luatex or xelatex,在下面的\ifxetex 和\else 下分别都加上两行,\usepackage{xecjk} \setCJKmainfont{SimSun}
为了导入xecjk包和设置汉字字体,字体可以更换。保存这个模板,暂定名称为mytemplate.tex
5、把这个文件置于要转换的Rmd文件同一目录下
6、修改Rmd文件的头,类似下面的
---
title: "AAA"
author: "AAA"
date: "2015.7.22."
output:
pdf_document:
template: mytemplate.tex %这个位置要加上这句,使用刚才制作的模板
keep_tex: yes
latex_engine: xelatex
number_sections: yes
toc: yes
---
其他设置按自己需要,添加目录、字体尺寸等,详情可参考http://rmarkdown.rstudio.com/pdf_document_format.html
这样编译基本就没问题了
|