有没有办法制作没有线条/边框的pdf电缆?

时间:2018-12-20 12:07:50

标签: r r-markdown kable kableextra

我正在开发一个闪亮的应用程序,该应用程序会生成并发送包含已处理数据的pdf报告。问题是我无法使表布局看起来像客户希望的那样。

客户希望表格除了最后一行的顶部以外没有其他行/边框,这在kable和/或kableExtra中可能吗?请不要包含其他软件包,因为我知道xtable。

for first, second in combinations(data_dictionary.items(), r=2):
    intersection = set(first[1]) & set(second[1])
    if intersection:
        sum1 = extract_sum(first[0], sum_dict)
        sum2 = extract_sum(second[0], sum_dict)
        if sum1 < sum2:
            early =first[0]
            late = second[0]
        else:
            early = second[0]
            late = first[0]

        filename.write('%d , %d , %s' % (early, late, list(intersection)))
        filename.write('\n')

2 个答案:

答案 0 :(得分:2)

我认为kable的意思是超级简单,因此在设计上缺少这样的功能。也就是说,我想出了一个荒唐而痛苦的解决方案。要点是,我将边框颜色设置为白色(假设您的页面是白色),然后在需要时将线条颜色切换为非白色(在我的示例中为红色),然后再重新设置为白色。

最初,将以下内容添加到您的YAML标头中:

header-includes:
  - \usepackage{colortbl}

下一步,在文档中添加:

\arrayrulecolor{white}

要渲染表格,请使用:

library(tidyverse)
library(knitr)
library(kableExtra)

table.tbl <- tibble(var1 = c("entry 1", "entry 2", "entry 3", "entry 4"),
                var2 = c(2000, 1000, 3000, 200),
                var3 = c(3000, 2000, 4000, 100))
table.tbl %>% 
  kable(format = "latex") %>%
  row_spec((table.tbl %>% 
             nrow()-1), extra_latex_after = "\\arrayrulecolor{red}") %>% 
  row_spec((table.tbl %>% 
             nrow()), extra_latex_after = "\\arrayrulecolor{white}")

给予

enter image description here

答案 1 :(得分:0)

此技巧也适用于本机降价表,例如

\arrayrulecolor{white}

    ||
    |--:| 
    |Cool left aligned quote | 
    | |