提问人:Malta 提问时间:1/18/2016 最后编辑:scoaMalta 更新时间:1/19/2016 访问量:1727
如何使用 Pander 将网格添加到表格中?
how to add grid to table with pander?
问:
我正在使用 R、knitr 和 pander,但我找不到允许我用 pander 在桌子上打印网格的选项。 我试过了:
pander(tableToPrint, style='grid')
但它什么也没做,无论是这个选项还是“multiline”、“rmarkdown”......我总是得到一条水平线,然后是列名,另一条水平线,我的所有数据和一条水平线。我希望每条线之间都有一条水平线。另一种选择是交替使用行颜色。
答:
6赞
scoa
1/19/2016
#1
有一个古老的答案给出了在乳胶中做到这一点的诀窍,但需要对 pandoc 进行一些调整。需要将以下内容添加到乳胶代码中:
\catcode`@=11
\let \savecr \@tabularcr
\def\@tabularcr{\savecr\hline}
\catcode`@=12
但是,如果您通过 header-includes 添加它,则不起作用,可能是因为它在模板中为时已晚。因此,解决方案是创建一个新模板(或使用您常用的模板),并在顶部添加前面的代码,紧跟在 .然后:pandoc -D latex > template.tex
\documentclass
---
title: "Untitled"
output:
pdf_document:
keep_tex: yes
template: "template.tex"
---
在每一行生成行。那么问题来了,顶线和底线翻了一番。
这对于 docx 输出是不可能的。Pandoc 的 docx 模板允许很少的自定义,并且只允许段落样式。
为了完整起见,html解决方案更加简单:
---
title: "Untitled"
output: html_document
---
<style>
th, td {
border-bottom: 2px solid black;
}
</style>
评论
0赞
Malta
1/19/2016
好的,我要切换到html,然后:)。您表示“颜色”行的行,但在基本的 html 输出中,我已经得到了行。
评论
pander
仅将选项传递给 Markdown 文件,但随后由 pandoc 转换为 HTML、LaTeX/PDF 等。如果你想在输出中有水平线,你必须调整模板,但解决方案很大程度上取决于你的输出格式是什么。那么,它是什么?