这里的问题是,当重复使用带有图形/表格的子文档时,所有引用都是文档/站点中图形/表格的最后版本。我的问题:有什么方法可以帮助四开图找出应该引用哪个图/表?
我建立了一个 github 存储库来制作一个最小的可重现示例,因为这里转储的代码太多了。只需克隆存储库并运行
quarto render
。
详情:
我有一个使用
knitr
引擎的四开本书籍项目。它对几个不同日期的数据进行分析。为此,我每天都有一个四开本文档,并在 YAML 标头中包含参数,例如,
params:
date: "2024-08-28"
在我的文档正文中
```{r}
options(knitr.duplicate.label = "allow")
```
```{r child='day-template.qmd'}
```
我使用
quarto render
生成一本书(HTML 或 PDF)。每天都有一个章节,并且每个章节都会执行 day-template.qmd
分析。问题是,即使我允许重复的标签,使用这些标签的图形引用也不正确。
例如,如果
day-template.qmd
中有一个代码块生成带有标签 fig-a
的图。我可以使用 day-template.qmd
在 @fig-a
的正文中引用该图。但是,如果 day-template.qmd
正在为第 2 章和第 3 章创建内容,则第 2 章中的 @fig-a
引用将引用第 3 章中的图形版本。
这是渲染为 PDF 时的样子:
有没有办法帮助 quarto 弄清楚在这种情况下如何正确配置图形标签?
看看figure-table-formatter是否可以解决您的问题。您可以按照文本中提到的顺序交叉引用图形和表格,并相应地对它们进行排序。它会自动输出一个带有图形和表格排序标签的文件。您可以使用此文件使用相同的过滤器自动对其他文件中的数字进行排序(方便补充)。
如果能在原生四开本中拥有相同的功能那就太好了,但至少现在这是一个可行的替代方案。