R传奇中的小型股?

时间:2011-06-16 09:30:23

标签: r text smallcaps

这是一个简单的问题。

我正在尝试用R小文字中的文字写一个带有文字的图例。

我可以使用tikzDevice编写绘图并在LaTex中手动将绘图更改为小型大写,但是我想知道R本身是否可以

感谢。

这是我目前使用的R代码:

legend("bottomright", inset=.05, c(expression(Delta*ZRT1), expression(Delta*ZRT2)), lty=1:2, pch=1:2)

这是我试图进入R传奇的LaTex表达式:

\Delta Z\textsc{rt\oldstylenums{1}}

2 个答案:

答案 0 :(得分:4)

Unicode标准确实在IPA扩展中定义了许多“小资本”字符。 例如,使用这个Smallcaps Generator:http://fsymbols.com/generators/smallcaps/

plot(1L:10, main="Aʙᴄᴅᴇғɢʜɪᴊᴋʟᴍɴᴏᴘǫʀsᴛᴜᴠᴡxʏᴢ")
legend("bottomright", expression(\Delta Zʀᴛ1")

enter image description here

从Unicode 5.1开始,唯一缺少允许以小写字母Unicode字符表示完整拉丁字母的字符是Q和X的小资本版本。 另见:http://en.wikipedia.org/wiki/Small_caps#Unicode

答案 1 :(得分:0)

Smallcaps Generator生成的小写字母不适用于所有字体。例如,Linux Libertine系列(Libertine,Biolinum)在Unicode专用区(E000-F8FF)中具有小写字母和旧样式编号,如here (last page)所示。

以下示例图使用从小型大写字母生成器组装的轴标签,以及从专用区域组装的small_capssmall_nums字符串。第一个图使用Times New Roman,它使用生成的小写字母,但在私人使用区域中没有对应的字形。第二个图使用Linux Libertine O,它没有IPA扩展中的所有Unicode字符。

library(ggplot2)

x <- 1L:10
y <- 1L:10
df <- data.frame(x,y)

# assemble strings from Libertine's private use area.
small_caps <- "S\UE05D\UE051\UE05C\UE05C C\UE051\UE060\UE063"
small_nums <- "\UE020\UE021\UE022\UE023\UE024\UE025\UE026\UE027\UE028\UE029"

font <- "Times New Roman"
ggplot(df) +
  geom_point(aes(x = x, y = y)) +
  labs(x = paste("Sᴍᴀʟʟ Cᴀᴘs /", small_caps),
       y = paste("Oʟᴅ Sᴛʏʟᴇ", small_nums)) +
  theme(text = element_text(family = font)) +
  annotate("text", x = 2, y = 9, label = font)

font <- "Linux Libertine O"
ggplot(df) +
  geom_point(aes(x = x, y = y)) +
  labs(x = paste("Sᴍᴀʟʟ Cᴀᴘs /", small_caps),
       y = paste("Oʟᴅ Sᴛʏʟᴇ", small_nums)) +
  theme(text = element_text(family = font)) +
  annotate("text", x = 2, y = 9, label = font)

reprex package(v0.2.1)于2018-12-08创建