Ric*_*kes 5 caption r-markdown bookdown
我正在使用 captioner ( https://cran.r-project.org/web/packages/captioner/vignettes/using_captioner.html ) 在 Rmarkdown 中创建表格标题 - 主要原因是因为我使用 huxtable 进行条件格式化和导出到词。这是我发现的唯一带有编号的标题。
我试图引用标题,但引用标题时标题编号不是按顺序排列的,但前提是 table_nums(..., display="cite") 位于表格之前。我试图给出桌子编号的范围,它改变了最后一张桌子的编号。如果将 r table_nums('third_cars_table',display = "cite") 放在标题后面,则数字不会更改。有没有办法确保表号保持连续顺序?我也很高兴有一个更好的编号标题解决方案。
可重现的例子:
---
title: "Untitled"
output: bookdown::word_document2
---
```{r setup, include=FALSE}
library(captioner)
library(huxtable)
library(knitr)
library(pander)
table_nums <- captioner(prefix = "Table")
fig_nums <- captioner(prefix = "Figure")
knitr::opts_chunk$set(echo = TRUE)
```
## Description of tables
I am trying to put a description of tables
and say that these results are shown table numbers ranging
from the first table (`r table_nums('first_cars_table',display = "cite")`)
to the last table (`r table_nums('third_cars_table',display = "cite")`)
```{r, results='asis',echo=FALSE,eval.after=TRUE}
tablecap1=cat(table_nums(name="first_cars_table",caption='First car table'))
kable((cars[1:5,]))
tablecap2=cat(table_nums(name="second_cars_table",caption='second car table'))
kable(cars[6:10,])
tablecap3=cat(table_nums(name="third_cars_table",caption='third car table'))
kable(cars[10:15,])
```
Run Code Online (Sandbox Code Playgroud)
一个(可怕的)解决方法是使用 手动给出号码排序display = FALSE。例如,在文档开头插入以下内容将确保t1-t5按顺序编号,无论表格或首次引用出现在何处:
`r table_nums('t1', display = FALSE)`
`r table_nums('t2', display = FALSE)`
`r table_nums('t3', display = FALSE)`
`r table_nums('t4', display = FALSE)`
`r table_nums('t5', display = FALSE)`
Run Code Online (Sandbox Code Playgroud)
我没有检查captioner代码,但我希望文档从上到下读取一次,因此编号以先到先得的方式存储。因此,我不确定是否有任何其他方法可以解决这个问题,因为它会涉及某种预处理阶段。
| 归档时间: |
|
| 查看次数: |
429 次 |
| 最近记录: |