簡體   English   中英

R tikzdevice:如何使用無襯線字體

[英]R tikzdevice: How to use sans serif font

我在R中使用ggplot創建繪圖,使用tikzdevice保存它們,然后使用latex將它們編譯到更大的文檔中。

當我創建一個非常簡單的 plot 時,例如

require(ggplot2)
require(tikzDevice)

tikz("test.tikz", height = 4, width = 4)
ggplot(data = data.frame(x = c(1:3), y = c(1:3)), aes(x=x, y=y)) +
geom_point() +
theme(text = element_text(family = "sans", face = "bold"))
dev.off()

雖然我可以使用theme中的element_text選項更改大小和字體,但更改字體系列不起作用。 即導出的tikz不包含 sans-serif 命令。

如何使用 sans-serif 字體導出圖形(尤其是軸標簽)?

tikz()將 output latex 代碼。 fonts 將是此 latex 文檔中指定的那些(這很好,因為這會產生一致的外觀)。

使用 sans-serif 字體創建一個獨立的圖形,然后可以通過pdflatex test.tikz進行渲染,可以這樣實現:

require(ggplot2)
require(tikzDevice)
options(tikzLatexPackages = 
      c(getOption("tikzLatexPackages"), 
        "\\renewcommand{\\familydefault}{\\sfdefault}\n")
      )

tikz("test.tikz", height = 4, width = 4, standAlone = TRUE)
   ggplot(data = data.frame(x = c(1:3), y = c(1:3)), aes(x=x, y=y)) +
   geom_point()
dev.off()

我們通過options傳遞寫入序言的附加文本。 我們需要向默認選項添加新選項而不是覆蓋它們,這就是我們與getOption("tikzLatexPackages")連接的原因。 另請注意,您必須在 R 字符串中轉義\

第二個重要部分是設置standAlone = TRUE ,如果我們想自己渲染圖形而不是讓它成為更大文檔的一部分。

如何在 latex 文檔中設置 fonts 我仍然覺得有些神秘。 我的解決方案建立在這個問題上。 但是您可以通過options傳遞其他 latex 命令,以不同的方式設置 fonts。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM