我在R图中使用expression()
以获得斜体文本。但似乎我不能在ASCII字符之外的expression
内使用Unicode符号。有什么方法可以解决这个问题吗?我的目标是在我的R条形图中使用各种标签fi
连字(连同斜体文字)。
我正在使用R for Windows 3.0.2。
CairoPDF(file = "Ligature1.pdf")
plot.new()
text(x =.5, y = .5, labels = "fi", family = "Times New Roman")
dev.off()
CairoPDF(file = "Ligature2.pdf")
plot.new()
text(x =.5, y = .5, labels = expression(paste(italic(m), "u", "fi", italic(m), sep = "")), family = "Times New Roman")
dev.off()
答案 0 :(得分:3)
你要求解决方法。这就是全部。斜体部分需要expression
,但“fi”部分不需要,因此请单独打印。
plot.new()
offset1 = strwidth(expression(paste(italic(m), "u")), units="figure")
text(x =.5, y = .5, labels = expression(paste(italic(m), "u", sep="")))
text(x =.5+offset1, y = .5, labels ="fi")
offset2 = strwidth("fi ")
text(x =.5+offset1+offset2, y = .5, labels = expression(italic(m)))
但请注意,“fi”的间距不太正确,所以当我在屏幕上计算宽度时,我作弊并计算了“fi”的宽度(带有额外的空白)。没有额外的间距,第二个italic(m)
重叠了“fi”。
不漂亮,但它会在Windows下产生所需的结果。