rmarkdown字幕编号/参考是否带有下划线?

时间:2019-08-23 00:02:23

标签: r latex r-markdown

还有没有其他人注意到,如果引用使用下划线而不是连字符,则rmarkdown不会对表标题进行编号?请参见下面的代码段。或构建this website作为工作示例。

---
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))
\```

table numbering example

没什么大不了的,只是让我绊了一下。抱歉,如果某个地方记录了这种行为,而我错过了。

1 个答案:

答案 0 :(得分:3)

RMarkdown book中的2.6节表明,下划线可能会给您带来麻烦:

  

我强烈建议您在标签中仅使用字母数字字符(a-z,A-Z和0-9)和破折号(-),因为它们不是特殊字符,并且肯定适用于所有输出格式。特别是其他字符,空格和下划线,可能会在某些包装中引起麻烦,例如书本。

现在,由于在YAML中进行了设置,因此您正在使用bookdown

output:
  bookdown::html_document2:

您需要bookdown选项才能使引用首先生效。默认的rmarkdown html输出为html_document,它不适用于自动引用。换句话说:R代码块标签中的下划线已超出您的限制。