Ссылка на таблицу "ручной работы" с использованием пакета bookdown

Я пытаюсь сослаться на таблицу, используя пакет bookdown. В документации автор только показывает, как создавать таблицы, используя knitr::kable.

'''{r table1}
knitr::kable(
  head(iris, 20), caption = 'Here is a nice table!',
  booktabs = TRUE
)
'''

Таблица \@ref(tab:table1) здесь.

Использование knitr::kable работает просто отлично. Заголовок таблицы отображается, и я могу сослаться на таблицу. Я хотел бы сделать то же самое с классической ручной таблицей уценки, но, очевидно, код ниже не работает. Что я могу сделать, чтобы получить результат, аналогичный приведенному выше коду?

'''{r table2, echo=FALSE, results='asis'}
cat('| Sepal.Length| Sepal.Width| Petal.Length|
|------------:|-----------:|------------:|
|          5.1|         3.5|          1.4|
|          4.9|         3.0|          1.4|
|          4.7|         3.2|          1.3|
|          4.6|         3.1|          1.5|')
'''

Таблица \@ref(tab:table2) здесь.

На этом рисунке показан вывод этого кода, когда он связан.

This

Ответ 1

Я упоминал об этом в документации, но, возможно, это недостаточно ясно. Я сказал, что вам нужна метка формы (\#tab:...). Например, вы можете обратиться к этой таблице, используя \@ref(tab:foo).

Table: (\#tab:foo) Your table caption.

| Sepal.Length| Sepal.Width| Petal.Length|
|------------:|-----------:|------------:|
|          5.1|         3.5|          1.4|
|          4.9|         3.0|          1.4|
|          4.7|         3.2|          1.3|
|          4.6|         3.1|          1.5|

Ответ 2

Я немного поздно присоединяюсь к обсуждению, но я просто хотел поделиться рабочим MWE (основываясь на предыдущих ответах):

'''{r , echo=FALSE, results='asis'}
  cat(' Table: (\\#tab:mwe) Example

  | Sepal.Length| Sepal.Width| Petal.Length|
  |------------:|-----------:|------------:|
  |          5.1|         3.5|          1.4|
  |          4.9|         3.0|          1.4|
  |          4.7|         3.2|          1.3|
  |          4.6|         3.1|          1.5|')

'''

Таблица @ref (вкладка: таблица2) показывает...

Ответ 3

Я решил это с помощью следующего:

'''{r table2 , echo=FALSE, results='asis'}
  cat(' Table: \\label{tab:table2}Example

  | Sepal.Length| Sepal.Width| Petal.Length|
  |------------:|-----------:|------------:|
  |          5.1|         3.5|          1.4|
  |          4.9|         3.0|          1.4|
  |          4.7|         3.2|          1.3|
  |          4.6|         3.1|          1.5|')

'''

Таблица\ref {tab: table2} показывает...