首页 > 解决方案 > 如何在利用 RStudio 的 LaTeX 预览的同时使用 kable 在 HTML 中显示 LaTeX?

问题描述

我想利用 Rmarkdown 和 RStudio 的 $\LaTeX$ 预览来使用和生成HTML表格。kablekableExtra

标签: htmllatexr-markdownkablekableextra

解决方案


我发现我发现一个方便的替代方法是创建一个单独的.Rmd文件,其中每一行包含我要生成的表格的单个单元格,例如文件"LaTeX.table.Rmd"

Row 1
$\text{Row 1}$
$\alpha^2$
Row 2
$\text{Row 1}$ 

Row 3

$\gamma^2$

$\text{Row 4}$
$\delta^2$

通过在文件中编辑和存储这些信息.Rmd,我可以从 RStudio 的 $\LaTeX$ 预览中受益

read.latex.kable(filename, ncols, colnames)然后我写了这个函数

  • 从以下位置读取表条目的换行分隔文件filename
  • 返回一个数据框,该数据框在列中按行存储这些条目ncol,根据colnames
read.latex.kable <- function(filename, ncol, colnames){
  as.data.frame(
    matrix(
      read.delim(file = filename, sep="\n", header=FALSE, blank.lines.skip = FALSE)[[1]],
      dimnames=list(NULL, colnames), ncol=ncol, byrow = T)
  )
}

现在这些命令

library(tidyverse)
library(kableExtra)

kable(read.latex.kable("LaTeX.table.Rmd", 3, colnames=LETTERS[1:3]), escape=FALSE) %>%
  kable_styling(full_width = FALSE, protect_latex = TRUE, bootstrap_options = c("striped", "bordered"))

...产生这个输出:

包含 LaTeX 格式字符的 HTML 表格


推荐阅读