【问题标题】:Render LaTeX tables in HTML using r-markdown使用 r-markdown 在 HTML 中渲染 LaTeX 表格
【发布时间】:2016-07-15 02:03:57
【问题描述】:

我正在尝试在 RMD 文件中呈现下表:

\begin{table}[]
\centering
\caption{My caption}
\label{my-label}
\begin{tabular}{|l|}
\hline
 \\ \hline
\end{tabular}
\end{table}

到目前为止还没有成功。 rmarkdown 无法将 LaTeX 环境(方程式除外)编译为 HTML 有什么根本原因吗?

【问题讨论】:

    标签: r latex knitr r-markdown


    【解决方案1】:

    在 Markdown 文档中,预期的输入标记语言是 (r)markdown。您不应该期望pandoc 自动识别任意混合的标记语言。 LaTeX 数学标记只能在 markdown 文档中使用,因为有一个 rmarkdown extension 来处理这个问题。

    但是,仍然可以使用 rmarkdown 文档中问题中所示的 LaTeX 表格。我在this answer 中演示了“逆”(RNW 文档中的降价表)。请注意,这是一种相当实验性的方法,在其他情况下可能会失败。

    tex2markdown 函数背后的想法在here 中解释。

    ---
    output: html_document
    ---
    
    # My document
    
    This is `rmarkdown`.
    
    This table is converted from LaTeX:
    ```{r, results = "asis", echo = FALSE, message = FALSE}
    library(knitr)
    
    tex2markdown <- function(texstring) {
      writeLines(text = texstring,
                 con = myfile <- tempfile(fileext = ".tex"))
      texfile <- pandoc(input = myfile, format = "html")
      cat(readLines(texfile), sep = "\n")
      unlink(c(myfile, texfile))
    }
    
    textable <- "
    \\begin{table}[]
    \\centering
    \\caption{Food order}
    \\begin{tabular}{| l | l |}
    \\hline
     Hamburgers & 3 \\\\ 
     Hot dogs & 2 \\\\ \\hline
    \\end{tabular}
    \\end{table}
    "
    
    tex2markdown(textable)
    ```
    
    --- 
    
    Time for *lunch*.
    

    并非所有 LaTeX 功能都可以转换为 HTML,但对于简单的任务,这应该可以。请注意,反斜杠需要通过额外的反斜杠进行转义。

    这主要是一个概念证明。对于生产,在 RNW 文档中使用 LaTeX 表,在 RMD 文档中使用 markdown 表!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 2020-07-29
      相关资源
      最近更新 更多