我正在尝试使用\ label {}选项在R中创建乳胶格式的表格。
类似于
library(tidyverse)
library(knitr)
library(kableExtra)
data_frame(a = 1:3, b = 2:4) %>%
kable(align = 'c', format = 'latex') %>%
kable_styling(full_width = FALSE)
结果输出如下,但我想将\ label {label_value}参数添加到带有我可以定义的label_value的乳胶表中
\begin{table}[H]
\centering
\begin{tabular}{c|c}
\hline
a & b\\
\hline
1 & 2\\
\hline
2 & 3\\
\hline
3 & 4\\
\hline
\end{tabular}
\end{table}
我正在尝试在R中自动创建表格,然后保存并包含在乳胶文档中
答案 0 :(得分:3)
您可以使用knitr::opts_current
来控制带有标题的自动标签:
> library(knitr)
> library(kableExtra)
> opts_current$set(label = "hello")
> data.frame(a = 1:3, b = 2:4) %>%
+ kable(align = 'c', format = 'latex',
+ caption = "Table caption") %>%
+ kable_styling(full_width = FALSE)
\begin{table}
\caption{\label{tab:hello}Table caption}
\centering
\begin{tabular}[t]{c|c}
\hline
a & b\\
\hline
1 & 2\\
\hline
2 & 3\\
\hline
3 & 4\\
\hline
\end{tabular}
\end{table}
答案 1 :(得分:2)
如果在对kable
的调用中添加了标题,则会根据为代码块赋予的名称自动获得标签。
如果像示例中那样在最高级别上运行它,则有点笨拙:您需要将标签放在标题中,然后会得到两个标签,即您的标签和自动生成的无用标签。例如,
library(tidyverse)
library(knitr)
library(kableExtra)
data_frame(a = 1:3, b = 2:4) %>%
kable(align = 'c', format = 'latex',
caption = "Table caption \\label{tab:example}") %>%
kable_styling(full_width = FALSE)
产生
\begin{table}[t]
\caption{\label{tab:}Table caption \label{tab:example}}
\centering
\begin{tabular}{c|c}
\hline
a & b\\
\hline
1 & 2\\
\hline
2 & 3\\
\hline
3 & 4\\
\hline
\end{tabular}
\end{table}
我不确定,但是我希望在某些情况下您需要手动编辑自动生成的标签\label{tab:}
。因此,请使用knitr或R-markdown避免出现问题。
答案 2 :(得分:1)
有一个内置选项。
kable(..., label = "something")