如何在利用 RStudio 的 LaTeX 预览的同时使用 kable 在 HTML 中显示 LaTeX?
How can I use kable to display LaTeX in HTML while taking advantage of RStudio's LaTeX preview?
我想利用 Rmarkdown 和 RStudio 的 $\LaTeX$ 预览来生成 HTML
使用 kable
和 kableExtra
的表格。
- 要使用
kable
,必须创建一个包含要显示的内容的数据框
- 编写我想在字符串中显示的 $\LaTeX$(如下所示:
"$\LaTeX$"
)令人困惑,并且不允许我预览 $\LaTeX$
我发现我发现一个方便的替代方法是创建一个单独的 .Rmd
文件,其中每一行包含我想要生成的 table 的单个单元格,例如文件 "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
中读取包含 table 个条目的换行分隔文件
- Returns 一个数据框,按行将这些条目存储在
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"))
...产生这个输出:
我想利用 Rmarkdown 和 RStudio 的 $\LaTeX$ 预览来生成 HTML
使用 kable
和 kableExtra
的表格。
- 要使用
kable
,必须创建一个包含要显示的内容的数据框 - 编写我想在字符串中显示的 $\LaTeX$(如下所示:
"$\LaTeX$"
)令人困惑,并且不允许我预览 $\LaTeX$
我发现我发现一个方便的替代方法是创建一个单独的 .Rmd
文件,其中每一行包含我想要生成的 table 的单个单元格,例如文件 "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
中读取包含 table 个条目的换行分隔文件
- Returns 一个数据框,按行将这些条目存储在
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"))
...产生这个输出: