2013-05-07 3 views
17

Я использую knitr и pander, чтобы сделать таблицу в файле уценки. Я преобразования файла уценки в формате PDF с использованием Pandoc из в R.Уменьшить ширину ячейки и размер шрифта таблицы с помощью pandoc.table()

Этот код:

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 файл:

enter image description here

Как 1. Уменьшить ширину столбцов в таблице? 2. Уменьшить размер шрифта таблицы?

ответ

22

Если вы не хотите, чтобы разбить таблицу на несколько частей, основанных на его ширине, вы можете указать, что непосредственно в split.tables параметра с pandoc.table или в более общем случае в table.split.table в 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 
------------------------------------------------------------------- 

О FontSize: уценки Pandoc не имеют какой-либо специальный синтаксис для того, чтобы вы могли использовать LaTeX разметку для PDF. Например. просто введите директиву \footnotesize перед вашей таблицей. Для получения более подробной информации см. Возможные размеры шрифтов: http://en.wikibooks.org/wiki/LaTeX/Fonts#Sizing_text

0

Вы можете изменить шрифт для определенных ячеек в pander и, следовательно, всю таблицу, но в качестве обходного пути с использованием латексного кода.

Где ваша клетка, если данные заполнения вашей ячейки является «770» рядом с другой ячейкой, населенной «$ 731258», Если заменить первую ячейку на paste0("\\scriptsize", "770"), ваш выход будет выглядеть как-то вроде этого:

enter image description here

, как вы можете видеть, «770» имеет меньший шрифт. Вы можете сделать это с помощью любого тега шрифта латекса.

Смежные вопросы