19

我正在使用knitrandpander在降价文件中制作表格。我正在使用 R 中的 Pandoc 将降价文件转换为 PDF。

这段代码:

library(knitr)

```{r myTable, echo=FALSE, message=FALSE, results='asis', comment=""}

library(pander)
pandoc.table(head(iris))

``` 

然后在 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

在 PDF 文件中生成此表:

在此处输入图像描述

我怎样才能 1. 减少表格中列的宽度?2. 减小表格的字体大小?

4

2 回答 2

29

如果您不想根据表格的宽度将表格拆分为多个部分,则可以直接在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  
-------------------------------------------------------------------

关于字体大小:Pandoc 的 markdown 对此没有任何特殊语法,因此您可以在 pdf 中使用 LaTeX 标记。例如,只需在您的餐桌前发出\footnotesize指令。有关更多详细信息,请参阅可能的字体大小:http ://en.wikibooks.org/wiki/LaTeX/Fonts#Sizing_text

于 2013-05-07T19:08:31.520 回答
1

您可以更改 pander 中特定单元格的字体大小,从而更改整个表格,但作为使用乳胶代码的解决方法。

您的单元格在哪里,如果填充您的单元格的数据是“770”,紧挨着另一个由“$731,258”填充的单元格,如果您将第一个单元格替换为paste0("\\scriptsize", "770"),您的输出将如下所示:

在此处输入图像描述

如您所见,“770”的字体较小。您可以使用任何乳胶字体标签来做到这一点。

于 2018-02-26T19:57:53.103 回答