rmarkdown 中的编号 gt 表

发布于 2025-01-17 04:17:35 字数 912 浏览 1 评论 0 原文

我想编号我用rmarkdown 渲染的 pdf 中的 >gt 包。
我尝试过的
在 Markdown 文档中,定义一个函数 f,每次调用时都会递增一个变量:

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

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

这可行,但如果图形和表格都需要编号,则有点复杂。 输入图片此处描述
问题
使用 gt 包对图形和表格进行编号的最佳方法是什么?

I'd like to number my tables made with the gt package in rmarkdown rendered pdf.
What I've tried
In a markdown doc, defining a function f that increments a variable every time it is called:

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

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

Which works, but is a bit involved if both figures and tables need to be numbered.
enter image description here
Question
What is the best way to number figures and tables in using the gt package?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

迷你仙 2025-01-24 04:17:35

有一个 交叉引用版本似乎正在工作

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

-markdown 代码

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

```{r}
library(gt)
library(dplyr)
```

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

-output

在此处输入图像描述

There is a cross-referencing version that seems to be working

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

-markdown code

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

```{r}
library(gt)
library(dplyr)
```

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

-output

enter image description here

旧时浪漫 2025-01-24 04:17:35

之前的答案在我的电脑上不起作用。
在 gt 包的“0.9.0.9000”版本中,可以使用以下模板:

``{r title-to-latex-ref}

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

表格 \ @ref(tab:caption-to-latex-ref)是交叉引用的。

尽管缺乏适当的格式,但我希望我能有所帮助。

The previous answer didn't work on my computer.
In the '0.9.0.9000' version of the gt package, it is possible to use the following template:

``{r caption-to-latex-ref}

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

The table \ @ref(tab:caption-to-latex-ref) is cross-referenced.

I hope I helped despite the lack of a proper format.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文