2016-04-07 8 views
1

Я создаю документ в формате PDF с помощью rmarkdown и knitr. Ниже приведен пример фрагмента кода. При вязании в PDF он печатает значение шкалы в PDF, чего я не хочу. Моя фактическая таблица намного шире, поэтому необходимо использовать аргумент scalebox.R Markdown - xtable with longtable и scalebox output scalebox value

```{r, results = 'asis', echo = FALSE, message = FALSE, warning=FALSE} 

    x <- matrix(rnorm(1000), ncol = 10) 
    x.big <- xtable(x) 

    print.xtable(x.big, hline.after=c(-1), tabular.environment = "longtable", scalebox = 0.7) 

    ``` 

Image of scalebox text output

Это происходит только при использовании longtable табличных сред. Запуск того же фрагмента кода со стандартной табличной средой не выводит информацию о масштабе. Я попытался установить каждый аргумент комментария в функции print.xtable и фрагмент кода r в FALSE, но не повезло.

Как я могу вывести свой файл PDF без печатаемого текста шкалы?

+0

FWIW Если вы сохраняете выход tex и вручную вставляете документ rmd, вы увидите, что шаг rmd-> md в порядке, но md-> tex избегает латексных команд. Поэтому я думаю, что это проблема pandoc. Возможно, вы могли бы работать с исходным файлом Rnw, если нет простого решения. – baptiste

+0

Есть ли ответ на этот вопрос? – user3022875

+0

@ user3022875 Я отправил работу в качестве ответа, но не буду отмечать ее как ответ, так как она действительно не исправляет указанную проблему удаления текста в виде шкалы из вывода PDF. – TBT8

ответ

0

Я не нашел способ обойти проблему с памятью. То, что я закончил, - это использовать аргумент size в print.xtable. Ниже приведен пример функции, где size - целое число, представляющее желаемый размер шрифта.

outputXtableTest <- function(df, size){ 

    sizeNew = paste0("\\fontsize{", size,"pt}{", size+1, "pt}\\selectfont") 

    print.xtable(
      df, hline.after=c(-1,0, 1:nrow(table)), 
      tabular.environment = 'longtable', 
      floating = FALSE, size = sizeNew 
      ) 
} 

См. Это post для получения дополнительной информации.