我想在两列LaTeX文章中包含一个更宽的表。这可能是
在LaTeX中使用\begin{table*} ... \end{table*}
代替
\begin{table} ... \end{table}
。如何判断R包 kable 或 kableExtra 为
实现这个目标?
以下产生了通常的\begin{table}
:
library(kableExtra)
kable(head(cars, 1), format = "latex") %>%
kable_styling()
产生:
#> \begin{table}[H]
#> \centering
#> \begin{tabular}{r|r}
#> \hline
#> speed & dist\\
#> \hline
#> 4 & 2\\
#> \hline
#> \end{tabular}
#> \end{table}
但我想要的是以下内容:
#> \begin{table*}[H]
#> \centering
#> \begin{tabular}{r|r}
#> \hline
#> speed & dist\\
#> \hline
#> 4 & 2\\
#> \hline
#> \end{tabular}
#> \end{table*}
我知道我可以使用gsub
来破解输出,但想知道是否存在
干净利落的方式。
由reprex package(v0.2.0)创建于2018-05-05。
答案 0 :(得分:3)
在account_lines之前,我一直在为同一问题苦苦挣扎,甚至为此向knitr添加了功能请求:
只需将public string UserName { get; set; }
添加为kable的参数:
table.env='table*'
会产生
knitr::kable(head(cars,1), format = "latex", table.env='table*')
答案 1 :(得分:2)
latex_table_env
kable_styling
library(kableExtra)
kable(head(cars, 1), format = "latex") %>%
kable_styling(latex_table_env = "table*")
答案 2 :(得分:1)
我不知道knitr是否可行,但使用xtable
可以轻松实现:
data(cars)
library(xtable)
library(magrittr)
xtable(head(cars, 1), align="rr|r") %>%
print.xtable(
floating.environment="table*", # use table* environment
include.rownames=FALSE,
table.placement="H"
)
# % latex table generated in R 3.4.4 by xtable 1.8-2 package
# % Sat May 5 16:47:49 2018
# \begin{table*}[H]
# \centering
# \begin{tabular}{r|r}
# \hline
# speed & dist \\
# \hline
# 4.00 & 2.00 \\
# \hline
# \end{tabular}
# \end{table*}