html - 如何在利用 RStudio 的 LaTeX 预览的同时使用 kable 在 HTML 中显示 LaTeX?
问题描述
我想利用 Rmarkdown 和 RStudio 的 $\LaTeX$ 预览来使用和生成HTML
表格。kable
kableExtra
- 要使用
kable
一个必须创建一个包含要显示的内容的数据框 - 编写我想在字符串中显示的 $\LaTeX$(像这样
"$\\LaTeX$"
:)令人困惑,并且不允许我预览 $\LaTeX$
解决方案
我发现我发现一个方便的替代方法是创建一个单独的.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"))
...产生这个输出: