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

R 使用pandoc.table()减少表格的单元格宽度和字体大小,r,markdown,knitr,pandoc,pander,R,Markdown,Knitr,Pandoc,Pander,我正在使用knitr和pander在标记文件中创建一个表。我正在使用Pandoc将降价文件从R中转换为PDF 此代码: library(knitr) ```{r myTable, echo=FALSE, message=FALSE, results='asis', comment=""} library(pander) pandoc.table(head(iris)) ``` 然后在R中运行此函数: knitsPDF <- function(name) { knit(past

我正在使用
knitr
pander
在标记文件中创建一个表。我正在使用Pandoc将降价文件从R中转换为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

knitsPDF如果您不想根据表格的宽度将其拆分为多个部分,可以使用
pandoc.table
直接在
split.tables
参数中指定,或者更一般地在
table.split.table
中指定。例如:

> 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  
-------------------------------------------------------------------

关于fontsize:Pandoc的标记没有任何特殊的语法,所以您可以在pdf中使用LaTeX标记。例如,只需在表格前发出
\footnotesize
指令即可。有关更多详细信息,请参见可能的字体大小:

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

在单元格所在的位置,如果填充单元格的数据为“$731258”填充的另一个单元格旁边的“770”, 如果将第一个单元格替换为
paste0(“\\scriptsize”,“770”)
,则输出如下所示:

如您所见,“770”的字体较小。
您可以使用任何latex字体标记来执行此操作。

在表格后添加
\normalsize
(表格标题后一个空行)将使表格后的字体大小正常(如果使用表格的
\footnotesize
)。