luc*_*ano 17 markdown r pandoc knitr pander
我正在使用knitr并pander在markdown文件中创建一个表.我正在使用内部的Pandoc将降价文件转换为PDF.
这段代码:
library(knitr)
```{r myTable, echo=FALSE, message=FALSE, results='asis', comment=""}
library(pander)
pandoc.table(head(iris))
```
Run Code Online (Sandbox Code Playgroud)
然后在R中运行此函数:
knitsPDF <- function(name) {
knit(paste0(name, ".Rmd"), encoding = "utf-8")
callformat <-"pandoc -V geometry:margin=1in %s.md -o %s.pdf"
system(sprintf(callformat, name, name))
}
knitsPDF(name) # insert file name of .Rmd file
Run Code Online (Sandbox Code Playgroud)
在PDF文件中生成此表:

我怎样才能1.减少表格中列的宽度?2.减小表的字体大小?
dar*_*zig 23
如果您不希望根据宽度将表拆分为多个部分,则可以直接在split.tables参数中指定,pandoc.table或者通常在table.split.tablein中指定panderOptions.例如:
> pandoc.table(head(iris), split.table = Inf)
-------------------------------------------------------------------
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
-------------- ------------- -------------- ------------- ---------
5.1 3.5 1.4 0.2 setosa
4.9 3 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa
-------------------------------------------------------------------
> panderOptions('table.split.table', 300)
> pander(head(iris))
-------------------------------------------------------------------
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
-------------- ------------- -------------- ------------- ---------
5.1 3.5 1.4 0.2 setosa
4.9 3 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa
-------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
关于fontsize:Pandoc的markdown没有任何特殊的语法,所以你可以使用LaTeX标记为你的pdf.例如,只需\footnotesize在表格之前发出指令.有关详细信息,请参阅可能的字体大小:http://en.wikibooks.org/wiki/LaTeX/Fonts#Sizing_text