我尝试编译YiHui的BIG5 example(中文内容的针织衫)。我使用了Mac OSX Snowleopard,最新的RStudio,pdfLatex(与XeLatex的结果相同)。这是原始.Rnw
的摘录\begin{document}
\title{knitr與繁體中文文檔}
\author{謝益輝}
測試,咳咳。以下代碼靠譜嗎?
<<test>>=
1+1 # 太簡單了
'引號能用嗎?'
rnorm(5)
(function(){
paste('這裡是字符串')
})()
@
使用系统默认编码“ UTF-8”,得到的pdf为
1+1 #
## [1] 2
''
## [1] ""
rnorm(5)
## [1] -0.4290 1.8835 -0.7045 -0.9232 1.5433
(function(){ paste('') })()
## [1] ""
如您所见,中文只是空白。然后,我用BIG5编码保存了.Rnw并再次编译。生成的pdf变为:
AyyCHUNXaH
1+1 # F
## [1] 2
'H'
## [1] "H"
rnorm(5)
## [1] -0.27859 -0.79428 -0.76903 0.40313 -0.07851
(function(){ paste('oOr') })()
## [1] "oOr"
这次,中文变成了一些随机字母。
我还能做什么?完全是新手编码/语言环境。
您必须为XeLaTeX设置中文字体,在我的示例中我没有这样做,因为我不知道我应该为繁体中文使用什么字体,并且在不同操作系统上提供可移植的解决方案并不容易,因为我不知道可用的字体。您可以看一下xeCJK包。
嗨,您可以在下面尝试这些代码。
Sys.setlocale(category="LC_ALL",locale="en_US.UTF-8")
但是,它不能保证随机字母问题不会消失,因为我的R安装也有同样的问题。我的操作系统是中文。当我将操作系统更改为MAC时,此问题已完全解决。希望能帮助到你。