首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RMarkdown -表格中使用kable的不同字体类型?

RMarkdown -表格中使用kable的不同字体类型?
EN

Stack Overflow用户
提问于 2019-02-16 13:49:47
回答 1查看 2.7K关注 0票数 0

我正在使用RMarkdown来制作pdf文件。可以使用kable_styling更改表格中的字体类型吗?如果没有,你能推荐其他的套餐吗?

代码语言:javascript
运行
复制
library(dplyr)
library(kableExtra)

kable(mtcars, align = "c", booktabs = TRUE) %>% 
  kable_styling(font_size = 12) %>% 
  row_spec(0, bold = T, color = "white", background = "gray")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-18 00:55:30

这有点棘手,因为在LaTeX中更改字体是棘手的。我没有Segoe UI字体(这是Windows字体,对吧?),但这里有一些我可以在MacOS中使用不同字体更改的字体。

首先,您需要使用xelatex LaTeX引擎。(您可能可以使用pdflatex完成此操作,但命令会有所不同,我不知道它们是什么。)

其次,您需要定义一个命令来切换到您想要的字体。在下面的代码中,我将其命名为\comicfont,并将其设置为切换到Comic Sans MS.。

第三和第四,您需要定义以这种字体生成表格的环境。您需要两个环境,具体取决于您希望表格是内联(ctable)还是带有标题的浮动(capctable)。

然后,当您希望表使用新字体时,可以将table.envir设置为适当环境的名称。对于内联表,它在kable_styling()中设置;对于浮动表,它在kable中设置。下面是一个适用于我的示例:

代码语言:javascript
运行
复制
---
title: 'Untitled'
output: 
  pdf_document:
    latex_engine: xelatex
header-includes:
  - \newfontfamily\comicfont[Path=/Library/Fonts/]{Comic Sans MS}
  - \newenvironment{ctable}{\comicfont }{}
  - \newenvironment{capctable}[1][t]{\begin{table}[#1]\centering\comicfont}{\end{table}}
---

```{r}
library(knitr)
library(kableExtra)
kable(head(mtcars), booktabs=TRUE, align = "c") %>% 
  kable_styling(table.envir="ctable", font_size=12) %>%
  row_spec(0, bold = T, color = "white", background = "gray")
kable(head(mtcars), booktabs=TRUE, align = "c", 
      caption = "This table floats", table.envir = "capctable") %>% 
  kable_styling(font_size=12) %>%
  row_spec(0, bold = T, color = "white", background = "gray")
```

这篇文章https://tex.stackexchange.com/a/63975给出了一个关于Windows的例子,可能会对你有所帮助。

编辑后添加:kable_stylingtable.envir参数是一个非常新的参数;您应该确保安装了最新版本的kableExtra

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54720299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档