【发布时间】:2016-06-05 15:31:36
【问题描述】:
我在 Markdown 中有一堆相当大的表格,是我手动创建的。我在 Rmd 文档中使用它们。由于我需要对 LaTeX 进行更多控制,因此我使用的是 Rnw 文档。如何将我的降价表放入 Sweave 文件中?
下面是一个最小的例子(不工作):
\documentclass{article}
\begin{document}
\SweaveOpts{concordance=TRUE}
% my markdown table
col1 | col2 | col3
------|:---:|:---:
row1 | cell1 | cell2
row2 | cell3 | cell4
row3 | cell5 | cell6
\end{document}
我尝试转换文档中的表格,只是将表格粘贴到 Sweave 文档中的 markdown 中,并在 LaTeX 中呈现。我的尝试产生错误,但我更接近:
\documentclass{article}
\begin{document}
\SweaveOpts{concordance=TRUE}
<<texifytable, echo=FALSE, results=tex>>=
mytab = sprintf("col1 | col2 | col3
------|:---:|:---:
row1 | cell1 | cell2
row2 | cell3 | cell4
row3 | cell5 | cell6")
system2("pandoc", args = c("-f markdown","-t latex"),
stdout = TRUE, input = mytab)
@
\end{document}
【问题讨论】:
-
如果使用 LaTeX,那么您必须先将手动创建的降价表转换为 TeX,例如通过
pandoc,因为pdflatex不知道降价。 -
感谢@daroczig 的回答 好的,我认为可以从 Rnw 文件中调用 pandoc/pander 将表格从 markdown 转换为 TeX。
-
其实你可以尝试用 pandoc 的 markdown reader 和 latex writer
pandoc myfile.tex -f markdown -t latex -o myfile_transformed.tex来解析它。 Pandoc 应该不变地传递所有乳胶命令,并转换表格。 (这显然只适用于你的第一个例子)
标签: r latex markdown knitr sweave