2013-05-07 14 views
17

Używam knitr i pander do utworzenia tabeli w pliku oceny. Mam konwersji pliku markdown do formatu PDF przy użyciu Pandoc od wewnątrz R.Zmniejsz szerokość komórki i rozmiar czcionki tabeli za pomocą pandoc.table()

ten kod:

library(knitr) 

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

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

``` 

następnie uruchomić tę funkcję w 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 

produkuje tę tabelę w pliku PDF plik:

enter image description here

Jak mogę 1. Zmniejszyć szerokość kolumn w tabeli? 2. Zmniejszyć rozmiar czcionki tabeli?

Odpowiedz

22

Jeśli nie chcesz podzielić tabelę na kilka części w oparciu o jej szerokości, można określić, że bezpośrednio w split.tables parametru z pandoc.table lub bardziej ogólnie w table.split.table w panderOptions. Np .:

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

O fontSize: Przecena Pandoc nie posiadają żadnej specjalnej składni, że tak można użyć LaTeX do pdf. Na przykład. wystarczy wydać dyrektywę \footnotesize przed swoją tabelą. Zobacz możliwe rozmiary czcionek, aby uzyskać więcej szczegółów: http://en.wikibooks.org/wiki/LaTeX/Fonts#Sizing_text

0

Możesz zmienić rozmiar czcionki dla konkretnych komórek w podkaszarce, a tym samym całą tabelę, ale jako obejście z użyciem kodu lateksu.

Gdzie twoja komórka jest, jeśli dane wypełniania komórki jest „770” obok innej komórki zaludnionej przez „$ +731.258” Jeśli zastąpić pierwszą komórkę przez paste0("\\scriptsize", "770"), twoje wyjście będzie wyglądać mniej więcej tak:

enter image description here

jak widać, "770" jest w mniejszej czcionce. Możesz to zrobić za pomocą dowolnego tagu czcionek lateksowych.