相关疑难解决方法(0)

Knitr:Markdown文档中LaTeX环境中的R代码

我在Markdown中有一个文档,它包含R代码Knitr.对于渲染方程式,我使用LaTeX,只需在文本中编写命令即可.说我有以下LaTeX代码:

\begin{displaymath}
\mathbf{X} = \begin{bmatrix}
2 & 12\\ 
3 & 17\\ 
5 & 10\\ 
7 & 18\\ 
9 & 13\\
\end{bmatrix}
\end{displaymath}
Run Code Online (Sandbox Code Playgroud)

当我将所有内容转换为PDF(然后完整的工作流程为:RMD - > knitr - > MD - > pandoc - > TeX - > pandoc - > PDF)时,这给我一个很好的数学矩阵表示(方括号).

现在,假设我们希望从R对象(一些R矩阵)即时生成所述矩阵x.在这篇文章中,我们建立了如何生成所需的LaTeX代码(该matrix2latex()函数在那里定义).现在的问题是如何Knitr评估它.我尝试了以下代码:

\begin{displaymath}
\mathbf{X} = `r matrix2latex(x)`
\end{displaymath} 
Run Code Online (Sandbox Code Playgroud)

但它只是产生R输出所在的空白区域(实际为NULL).我很惊讶这已经没有被问过了(至少我自己的搜索没有产生任何结果).任何想法如何使这项工作?

编辑:

正如所建议的那样,重写函数没有cat().以下是该函数的工作版本以供将来参考:

m2l <- function(matr) {

    printmrow <- function(x) {

        ret <- paste(paste(x,collapse = " & "),"\\\\")
        sprintf(ret)
    } …
Run Code Online (Sandbox Code Playgroud)

markdown latex r pandoc knitr

9
推荐指数
1
解决办法
2204
查看次数

标签 统计

knitr ×1

latex ×1

markdown ×1

pandoc ×1

r ×1