cionysus 我用ggplot2画图,图形的标签等含有中文,这些图形在R中生成没有问题,但是在knitr包下,用xetex生成pdf文档时,中文部分编译出错: conversion failure on '本地' in 'mbcsToSbcs': dot substituted for <9c> 。。。 最后生成的图形凡是有中文字体的地方都用点号代替了。 请问这个问题该如何解决? 我的系统是ubuntu12.04,中文字体用的文泉驿。
yihui PDF设备的问题,与TeX无关。 用cairo_pdf设备至少应该可以把图画出来,尽管警告仍然存在,可以用warning=FALSE去掉。总之,<<dev='cairo_pdf', warning=FALSE>>= 中文问题是个烦人的问题,需要你有很好的耐心去研究一系列问题,包括文本的编码(Linux下基本不存在这个问题)、图形设备的编码、字体。ctex的文档,?ps.options帮助、Paul Murrell若干年前在R News上发的关于图形设备字体的文章,等等,都需要读很多遍。
cionysus 回复 第3楼 的 谢益辉:感谢回复! 我去用cario_pdf试一下。 我现在用的是削足适履的做法,把图形中里的中文全部改成英文。 ctex好像要用window下的字体,所以我现在已经不用ctex了,改用xetex加文泉驿,不过这个组合下好像存在问题,比如我之前在论坛也问过的,在这个组合下,生成的散点图的点在pdf文档中全部变成了字母p。
CWhy 回复 第5楼 的 谢益辉: dev='tikz'用xelatex换个字体就可以了 <bbcode> options( tikzDefaultEngine = "xetex", tikzXelatexPackages = c( getOption( "tikzXelatexPackages" ), "\\usepackage{libertine}" ) ) </bbcode> 搞了好久。。。都是一开始作死想用希腊字母。。。