目前我正在使用“无原则”(机会主义)的方式制作我的无花果来正确获取 Unicode 字符。例如:
<<ClassFig>>=
pdf('figs/figA.pdf', h=6, w=6, encoding='CP1250')
plot(x, y, xlab='rečenica')
dev.off()
@
现在,我想知道如何正确指定片段(或全局设置,如 opts_chunk$set())以查看我需要的 Uncode 字符。例如:
<<ParadigmFig, fig.height=7, fig.width=15, out.width='1\\textwidth'>>=
plot(x, y, xlab='rečenica')
@
目前,如果我使用第二个正确的变体,我会得到点而不是规范。特点。
最佳答案
尝试使用 cairo_pdf()
生成此图.
cairo_pdf('test.pdf', family="Helvetica")
plot(1:10, (1:10)^2, xlab=enc2utf8("ąśćźół"))
dev.off()
更改字体可能很重要
family
其中一个知道区域字符(我在上面使用波兰字母)。对于 OS X,this list可能会给您有关字体系列选择的提示。现在让我们设置
knitr
使用这些设置。在文档开头创建一个未缓存的代码块,并调用:library("knitr")
library("tikzDevice")
opts_chunk$set(
dev='cairo_pdf',
dev.args=list(family='DejaVu Sans')
#out.width='5in',
#fig.width=5,
#fig.height=5/sqrt(2),
#fig.path='figures-knitr/',
#fig.align='center',
)
(我已经注释掉了这里没有意义的选项,但有一天你可能也会感兴趣)。您可以找到有关 block 选项的更多详细信息 here .
这是一个示例
.Rnw
(至少在我的 Linux 上)产生正确结果的文件:\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[T1,plmath]{polski}
\usepackage[polish]{babel}
\begin{document}
<<cache=FALSE,echo=FALSE,message=FALSE>>=
options(Encoding="UTF-8")
library("knitr")
library("tikzDevice")
opts_chunk$set(
dev='cairo_pdf',
dev.args=list(family='Helvetica')
#out.width='5in',
#fig.width=5,
#fig.height=5/sqrt(2),
#fig.path='figures-knitr/',
#fig.align='center',
)
@
<<>>=
plot(1:10, (1:10)^2, xlab="ąśćźół")
@
\end{document}
关于r - 在 knitr R-figure 片段中获取 Unicode 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23314034/