美文网首页
Rmarkdown&Latex的深渊巨坑

Rmarkdown&Latex的深渊巨坑

作者: 兔子不会武 | 来源:发表于2022-02-11 18:14 被阅读0次

表格的行加背景颜色,结果出现黑色的背景

比如要给表格的行加上背景颜色,发现,如果用下面【第一种方法】,第一行会变黑(如下图)。原因在于,编译出来的tex的源代码里面, \rowcolor{lightred!50}\midrule前面,就导致了这个问题。用下面代码的第二种方法就能避免这个问题。

image.png
\definecolor{lightred}{rgb}{1, 0.70, 0.70}

# \\rowcolor{lightred!50}命令的意思是:颜色为\definecolor{colorname}定义的名为lightred的颜色,透明度为50%

# 第一种方法  
xtable::print.xtable(
    tbl,
    include.rownames = FALSE, 
    add.to.row = list(pos = list(c(0, 4, 5)), command = '\\rowcolor{lightred!50} ', # 注意!latex命令后面要加上空格,否则编译出来的tex文件里面没有空格,会报错
    hline.after = c(-1,0,nrow(tbl)) # 这个参数是函数默认的,作用是在某行下加一条横线,即 \midrule,\toprule,\bottomrule 的来源
)

# 第二种方法
xtable::print.xtable(
    tbl,
    include.rownames = FALSE, 
    add.to.row = list(pos = list(c(-1, 0, 4, 5, nrow(tbl))), 
    command = c("\\toprule ",  "\\midrule \\rowcolor{lightred!50} ", "\\rowcolor{lightred!50} ", "\\rowcolor{lightred!50} ",  "\\bottomrule " ),
    hline.after = NULL # 这个参数是在某行下加一条横线,即 \midrule 的来源
)

相关文章

网友评论

      本文标题:Rmarkdown&Latex的深渊巨坑

      本文链接:https://www.haomeiwen.com/subject/nhhzkrtx.html