Rmarkdown&Latex的深渊巨坑

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

比如要给表格的行加上背景颜色,发现,如果用下面【第一种方法】,第一行会变黑(如下图)。原因在于,编译出来的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 的来源
)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容