R и Latex, используя xtable с выравниванием базовой линии - PullRequest
0 голосов
/ 13 января 2020

Я использую knitr / sweave для динамического создания и включения кода R в свой латексный документ. Минимальный код, который у меня есть:

list <- c("Bike",  "Train", "Bike",  "Bike",  "Bike",  "Train", "Bike",  "Bike", "Bike",  "Moped", "Bus",   "Moped", "Train", "Bus", "Moped", "Bike","Moped")

library(xtable)
print(xtable(table(list)),floating=FALSE,booktabs=TRUE)

Это приводит к выводу:

\begin{tabular}{rr}
  \toprule
 & list \\ 
  \midrule
Bike &   8 \\ 
  Bus &   2 \\ 
  Moped &   4 \\ 
  Train &   3 \\ 
   \bottomrule
\end{tabular}

Мне нужно выровнять окружение tabular с базовой линией, т.е. \begin{tabular}[t]{rr}...\end{tabular} ,

При просмотре документации xtable есть table.placement, но это вводит среду table. Я попытался tabular.environment и установил его на tabular[t], но это не сработало, поскольку это дало \begin{tabular[t]}

Как решить эту проблему?

1 Ответ

1 голос
/ 13 января 2020

Пакет xtable не поддерживает добавление этого необязательного аргумента, но вы можете добавить его самостоятельно, отредактировав результат. Например,

list <- c("Bike",  "Train", "Bike",  "Bike",  "Bike",  "Train", "Bike",  "Bike", "Bike",  "Moped", "Bus",   "Moped", "Train", "Bus", "Moped", "Bike","Moped")

library(xtable)
lines <- print(xtable(table(list)), 
               floating = FALSE, booktabs = TRUE, print.result = FALSE)
lines <- sub("\\begin{tabular}", "\\begin{tabular}[t]", lines, fixed = TRUE)
cat(lines)
#> % latex table generated in R 3.6.1 by xtable 1.8-4 package
#> % Mon Jan 13 09:02:27 2020
#> \begin{tabular}[t]{rr}
#>   \toprule
#>  & list \\ 
#>   \midrule
#> Bike &   8 \\ 
#>   Bus &   2 \\ 
#>   Moped &   4 \\ 
#>   Train &   3 \\ 
#>    \bottomrule
#> \end{tabular}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...