使用pandoc.table()减少表的单元格宽度和字体大小

luc*_*ano 17 markdown r pandoc knitr pander

我正在使用knitrpander在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

  • 在表格后面添加 `\normalsize` (表格标题后一个空行)可以使表格后面的字体大小正常(如果表格使用 `\footnotesize`)。 (2认同)