R-Markdown:修改 PDF 的默认 table 输出

R-Markdown: Modify the default table output for PDF

这真的是我,真的很困惑,无法在任何地方找到任何关于此的文档。

以下适用于 Rstudio 中使用的 Rmd。

这么说 table:

Table Header  | Second Header
------------- | -------------
Table Cell    | Cell 2
Cell 3        | Cell 4 

当它被编译为 latex(或 pdf)时 输出是这样的

但我想要的更多是这样的:

或者像这样

即包括垂直线或水平线。

现在,当我将其编译为 html 时,我可以通过包含我自己的 css 文件来修复一些样式。我可以用 LaTEX 输出做些什么吗?

我不知道如何单独使用 markdown 来做到这一点,它可能涉及创建某种模板。我从来没有寻求过这样的解决方案,所以我真的不能说它是否可行。我一直在寻求其他解决方案,这些解决方案将为我生成必要的 HTML LaTeX 代码。下面的代码是一个有效的 RMD,它将编织到 PDF 和 HTML 文件。

---
title: "Untitled"
output:
  pdf_document: null
  html_document: null
header-includes:
- \usepackage{amssymb}
- \usepackage{arydshln}
- \usepackage{caption}
- \usepackage{graphicx}
- \usepackage{hhline}
- \usepackage{longtable}
- \usepackage{multirow}
- \usepackage[dvipsnames,table]{xcolor}
---

```{r}
library(pixiedust)
options(pixie_float = FALSE)

DF <- data.frame(table_header = c("Table Cell", "Cell 3"),
                 second_header = c("Cell 2", "Cell 4"),
                 stringsAsFactors = FALSE)

Base <- 
  dust(DF) %>%
  medley_bw() %>% mimics the default bordering of standard markdown table
  sprinkle_colnames("Table Header", "Second Header") %>%
  sprinkle_table(pad = 3) # padding for HTML tables

# print the table with vertical line between columns
Base %>%
  sprinkle_table(cols = 1,
                 border = "right")

# print the table with horizontal line between rows
Base %>%
  sprinkle(rows = 1,
           border = "bottom")
```

生成的表格具有以下外观

另一种可能性:

library(huxtable)
ht <- hux(c('Table Header', 'Table Cell', 'Cell 3'), c('Second Header', 'Cell 2' , 'Cell 4'))
top_border(ht) <- 1
bold(ht)[1,] <- TRUE
right_border(ht)[,1] <- TRUE