【问题标题】:How can I use kable to display LaTeX in HTML while taking advantage of RStudio's LaTeX preview?如何在利用 RStudio 的 LaTeX 预览的同时使用 kable 在 HTML 中显示 LaTeX?
【发布时间】:2020-08-21 01:02:35
【问题描述】:

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

  • 要使用kable,必须创建一个包含要显示的内容的数据框
  • 编写我想在字符串中显示的 $\LaTeX$(例如:"$\\LaTeX$")令人困惑,不允许我预览 $\LaTeX$

【问题讨论】:

    标签: html latex r-markdown kable kableextra


    【解决方案1】:

    我发现我发现一个方便的替代方法是创建一个单独的 .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"))
    

    ...产生这个输出:

    【讨论】:

      猜你喜欢
      • 2016-01-27
      • 2010-11-26
      • 1970-01-01
      • 2023-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-03
      相关资源
      最近更新 更多