rmarkdown中的编号gt表

lf3rwulv  于 2023-10-13  发布在  其他
关注(0)|答案(2)|浏览(120)

我想在rmarkdown渲染的pdf中对我用gt包制作的表进行编号。

我所尝试的

在一个markdown文档中,定义一个函数f,每次调用它时都会递增一个变量:

---
title: "."
output: bookdown::pdf_document2
---

```{r}
library(gt)
.i <- 1
f <- function() {.i <<- .i + 1 ; as.character(.i)}
knitr::kable(head(mtcars,2), caption = "bla")|> kableExtra::kable_styling(latex_options = "HOLD_position")
mtcars |> head(2) |> 
  gt() |>
  tab_header(
    glue::glue("{f()} blabla2")
  )

这是可行的,但如果图和表都需要编号,就有点麻烦了。
![](https://i.stack.imgur.com/HpSWi.png)

**问题**

 在使用`gt`软件包时,给图表编号的最佳方法是什么?
niknxzdl

niknxzdl1#

有一个cross-referencing version,似乎是工作

devtools::install_github("rstudio/gt", ref="eff3be7384365a44459691e49b9b740420cd0851")

-markdown代码

---
title: "."
output: bookdown::pdf_document2
---

```{r}
library(gt)
library(dplyr)
mtcars %>% 
 head(2) %>% 
  gt() %>%
  tab_header(title="blabla2",
         label="tab:tab1")

- 输出

![](https://i.stack.imgur.com/byas9.png)
7rtdyuoh

7rtdyuoh2#

以前的答案在我的电脑上不起作用。在gt包的“0.9.0.9000”版本中,可以使用以下模板:
``{r caption-to-latex-ref}

mtcars %>% 
 head(2) %>% 
  gt(caption="caption-to-display") %>%
  tab_header(title="mytitle")

表\ @ref(tab:caption-to-latex-ref)被交叉引用。
我希望我能帮上忙,尽管缺乏适当的格式。

相关问题