单击 rmarkdown::beamer_presentation 时突出显示 kable 表的表条目

问题描述

在用 LaTex beamer presentation 生成rmarkdown::beamer_presentation 中,有没有办法在点击时突出显示 kableExtra 表格的特定单元格的内容

highlights upon clicking

MWE

---
output:
  bookdown::pdf_book:
    base_format: rmarkdown::beamer_presentation
    latex_engine: xelatex
    slide_level: 2
---

```{r}
library(dplyr)
library(kableExtra)
```

## Table
```{r table,echo = FALSE}
my_df <- mtcars[1:4,1:2]
my_table <- kable(my_df,booktabs = T,caption = "Table caption")
my_table
```

解决方法

建议的解决方案使用 kableExtrarow_spec/column_spec/cell_spec functionality,为此必须加载多个 LaTex 包(例如,通过 header-includes: ...)。

enter image description here

解决方案只剩下一件小事:表编号增加
也就是说,第一帧上的表格编号为“1”,第二帧上的表格编号为“2”。
为了让事情看起来像添加的颜色是两个框架之间的唯一区别,理想情况下,两个表格的编号应该相同。

要根据需要为行/列/单元格着色,另请参阅 rmarkdown cookbook 以了解有关如何使用 row_spec/column_spec/cell_spec 的详细信息。

---
output:
  bookdown::pdf_book:
    base_format: rmarkdown::beamer_presentation
    latex_engine: xelatex
    slide_level: 2
header-includes:
  - \usepackage{booktabs} 
  - \usepackage{array}          
  - \usepackage{multirow}   
  - \usepackage{wrapfig}    
  - \usepackage{float}
  - \usepackage{colortbl}    
  - \usepackage{pdflscape}
  - \usepackage{tabu}
  - \usepackage{threeparttable} 
  - \usepackage{threeparttablex}
  - \usepackage[normalem]{ulem}
  - \usepackage{makecell}
---

```{r include=FALSE}
library(dplyr)
library(kableExtra)
```

## Table
```{r table,echo = FALSE}
my_df <- mtcars[1:4,1:2]
my_table <- kable(my_df,booktabs = T,caption = "Table caption")
my_table
```

## Table {.noframenumbering}
<!-- Add "{.noframenumbering}" such that the frame number is the same on both frames -->
```{r table-with-colored-cell,echo = FALSE}
special_cell <- c(rep(F,3),T)
colors_of_column_with_special_cell <- c(rep("black","red")

my_table %>% 
  column_spec(2,strikeout = special_cell,bold = special_cell,color = colors_of_column_with_special_cell)
```

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...