首页 > 解决方案 > rmarkdown 标题编号/参考与下划线一起使用?

问题描述

有没有其他人注意到如果参考使用下划线而不是连字符,rmarkdown 不会对表格标题进行编号?请参阅下面的片段。或者建立这个网站作为一个工作示例。

---
title: "Table Captioning"
output:
  bookdown::html_document2:
    number_sections: true
    fig_caption: true
---

# Example

It works in table \@ref(tab:dummy-table) when using hypens.

Table: (\#tab:dummy-table) Some caption.
\```{r dummy-table, echo=FALSE}
knitr::kable(data.frame(a = letters[1:3], 
                        b = 1:3))
\```

But not in table \@ref(tab:dummy_table) when using underscores?

Table: (\#tab:dummy_table) Some caption.
\```{r dummy_table, echo=FALSE}
knitr::kable(data.frame(a = letters[4:6], 
                        b = 4:6))
\```

表编号示例

没什么大不了的,只是让我绊倒了一段时间。如果此行为记录在某处并且我错过了,我们深表歉意。

标签: rlatexr-markdown

解决方案


RMarkdown 书中的第 2.6 节建议下划线可能会给您带来麻烦:

我强烈建议您只在标签中使用字母数字字符(az、AZ 和 0-9)和破折号 (-),因为它们不是特殊字符,并且肯定适用于所有输出格式。其他字符,尤其是空格和下划线,可能会在某些包中引起问题,例如 bookdown。

现在,bookdown由于您在 YAML 中的设置,您正在使用:

output:
  bookdown::html_document2:

您首先需要bookdown选择让参考文献起作用。默认的 rmarkdown html 输出将是html_document并且不适用于自动引用。换句话说:在 R 代码块标签中,下划线对您来说是禁止的。


推荐阅读