2

我有一个 .xlsx 文件,其中一些单元格有粗体数字,一些有斜体数字。我正在使用 read_xlsx 将 .xlsx 文件读入 R 中,然后使用 kable 向它显示以下代码:

knitr::kable(spreadsheet, format="latex", booktabs = T) %>% 
kable_styling(latex_options = c("striped"))

当它们出现在从 .Rmd 文件生成的 .pdf 中时,我无法从 .xlsx 中获取粗体和斜体数字以保持粗体和斜体。我该怎么做呢?

4

1 回答 1

1

在回答您的问题时,您无法维护格式,但您可以复制它。

运行该read_xlsx()函数时,它会从单元格中提取数据,但不保留任何格式。因此,任何粗体字体都不会自动转移到 R。

实现您想要的最简单的方法是在将数据加载到 R 之后添加粗体文本。kableExtra非常适合做这些事情。这是一个示例,使用column_specrow_spec函数更改单元格的格式:

```{r}
library(kableExtra)

knitr::kable(iris[1:5,], format = "latex", booktab = TRUE) %>%
  column_spec(1, bold = T) %>%
  row_spec(0, bold = T, color = "red")

```

在此处输入图像描述

您可以自定义许多属性(运行?row_spec以加载帮助程序):

  • 字体大小
  • 结盟
  • 文字角度
  • 文字颜色
  • 背景色

如果您需要对特定单元格的单元格格式进行更精细的调整,您可以研究该cell_spec函数。

在此处查看自定义 LaTeX 表格的完整指南:https ://haozhu233.github.io/kableExtra/awesome_table_in_pdf.pdf

于 2017-11-16T14:22:45.583 回答