2013-05-07 13 views
17

Ich verwende knitr und pander, um eine Tabelle in einer Markdown-Datei zu erstellen. Ich Umwandlung der Abschlags-Datei in ein PDF Pandoc aus R.Verringern Sie die Zellenbreite und Schriftgröße der Tabelle mit pandoc.table()

Dieser Code verwendet:

library(knitr) 

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

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

``` 

dann diese Funktion in R ausgeführt wird:

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 

erzeugt diese Tabelle im PDF Datei:

enter image description here

Wie kann ich 1. Breite verkleinern von Spalten in der Tabelle? 2. Reduzieren Sie die Schriftgröße der Tabelle?

Antwort

22

Wenn Sie die Tabelle in mehrere Teile auf der Grundlage seiner Breite nicht teilen möchten, können Sie das direkt in split.tables Parameter mit pandoc.table oder allgemeiner in table.split.table in panderOptions angeben. Z.B .:

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

über Schriftgröße: Abschlag des Pandoc keine besondere Syntax für das hat, so dass Sie vielleicht LaTeX-Markup für Ihre pdf verwenden. Z.B. Stellen Sie einfach eine \footnotesize Direktive vor Ihren Tisch. Weitere Informationen finden Sie in den möglichen Schriftgrößen: http://en.wikibooks.org/wiki/LaTeX/Fonts#Sizing_text

0

Sie können die Schriftgröße für bestimmte Zellen in pander und damit die gesamte Tabelle ändern, jedoch als Workaround unter Verwendung von Latexcode.

Wo Ihre Zelle ist, wenn die Daten Ihrer Zelle bevölkern ist „770“ neben anderen Zelle durch „$ 731.258“ bevölkert, Wenn Sie die erste Zelle durch paste0("\\scriptsize", "770") ersetzen, wird die Ausgabe wie so etwas aussehen:

enter image description here

Wie Sie sehen können, ist die "770" in einer kleineren Schrift. Sie können dies mit jedem Latex-Font-Tag machen.

Verwandte Themen