2013-05-07 33 views
17

Tôi đang sử dụng knitrpander để tạo bảng trong tệp đánh dấu. Tôi đang chuyển đổi các tập tin markdown đến một PDF bằng cách sử Pandoc từ bên trong R.Giảm chiều rộng ô và kích thước phông chữ của bảng bằng pandoc.table()

Mã này:

library(knitr) 

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

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

``` 

sau đó chạy chức năng này trong 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 

sản xuất bảng này trong PDF file:

enter image description here

Làm cách nào tôi có thể giảm chiều rộng cột trong bảng? 2. Giảm kích thước phông chữ của bảng?

Trả lời

22

Nếu bạn không muốn chia bảng thành nhiều phần dựa trên chiều rộng của nó, bạn có thể chỉ định trực tiếp thông số đó theo thông số split.tables với pandoc.table hoặc thông thường hơn trong table.split.table trong panderOptions. Ví dụ:

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

Giới thiệu về phông chữ: Dấu hiệu của Pandoc không có bất kỳ cú pháp đặc biệt nào, vì vậy bạn có thể sử dụng đánh dấu LaTeX cho pdf của mình. Ví dụ. chỉ phát hành một chỉ thị \footnotesize trước bàn của bạn. Xem kích thước phông chữ có thể để biết thêm chi tiết: http://en.wikibooks.org/wiki/LaTeX/Fonts#Sizing_text

0

Bạn có thể thay đổi phông chữ cho các ô cụ thể trong trạng thái mở rộng và do đó toàn bộ bảng, nhưng là cách giải quyết bằng mã latex.

đâu di động của bạn là, nếu dữ liệu Populating di động của bạn là "770" bên cạnh một tế bào được phổ biến bởi "$ 731.258", Nếu bạn thay thế các tế bào đầu tiên của paste0("\\scriptsize", "770"), đầu ra của bạn sẽ trông giống như một cái gì đó như thế này:

enter image description here

như bạn có thể thấy, "770" ở dạng phông chữ nhỏ hơn. Bạn có thể làm điều này với bất kỳ thẻ phông chữ cao su nào.

Các vấn đề liên quan