kable中的2列LaTeX环境表*,kableExtra

kable中的2列LaTeX环境表*,kableExtra,r,r-markdown,kable,kableextra,R,R Markdown,Kable,Kableextra,我想在一篇两栏乳胶文章中包含一个更宽的表。这可能是 使用\begin{table*}在LaTeX中实现\结束{table*}而不是 \begin{table}\结束{table}。我如何告诉R程序包kable或kablextra要 实现这一目标 下面生成了通常的\begin{table}: 库(kableExtra) 卡布尔(头(车,1),format=“latex”)%%>% kable_造型() 产生: #>\begin{table}[H] #>\居中 #>\begin{tabular}{

我想在一篇两栏乳胶文章中包含一个更宽的表。这可能是 使用
\begin{table*}在LaTeX中实现\结束{table*}
而不是
\begin{table}\结束{table}
。我如何告诉R程序包kablekablextra要 实现这一目标

下面生成了通常的
\begin{table}

库(kableExtra)
卡布尔(头(车,1),format=“latex”)%%>%
kable_造型()
产生:

#>\begin{table}[H]
#>\居中
#>\begin{tabular}{r|r}
#>\hline
#>速度与距离\\
#>\hline
#> 4 & 2\\
#>\hline
#>\end{tabular}
#>\end{table}
但我想要的是:

#>\begin{table*}[H]
#>\居中
#>\begin{tabular}{r|r}
#>\hline
#>速度与距离\\
#>\hline
#> 4 & 2\\
#>\hline
#>\end{tabular}
#>\end{table*}
我知道我可以使用
gsub
来破解输出,但不知道是否有 干净利落的方法


由(v0.2.0)于2018年5月5日创建。

我不知道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*}

kable\u样式中有一个
latex\u table\u env

library(kableExtra)
kable(head(cars, 1), format = "latex") %>% 
  kable_styling(latex_table_env = "table*")

我也遇到了同样的问题,甚至为此向knitr添加了一个功能请求,在此之前已经可以做到:

只需将
table.env='table*'
作为参数添加到kable:

knitr::kable(head(cars,1), format = "latex", table.env='table*')
将产生

\begin{table*}

  \begin{tabular}{r|r}
    \hline
    speed & dist\\
    \hline
    4 & 2\\
    \hline
  \end{tabular}

\end{table*}

这将
表格
切换到
表格*
,我正在失去浮动环境。@chris啊,我明白了。。嗯,不幸的是,现在在卡布利克斯特拉没有办法改变这一点。你必须通过gsub来完成。