2016-12-11 4 views
3

У меня есть таблица в RMarkdown, что я хочу, чтобы ссылаться наРеферирование простой таблицы в RMarkdown

Right  Left  Center  Default 
-------  ------ ---------- ------- 
    12  12  12   12 
    123  123  123   123 
     1  1   1    1 

Table: Demonstration of simple table syntax. 

Может кто-нибудь сказать мне, как ссылаться на него. Поэтому в основном я хочу сказать Пожалуйста, see table 1.1 for more detail

+2

Вы можете использовать pandoc-CrossRef фильтр, он работает с каждым выходным форматом: https://github.com/lierdakil/pandoc-crossref – scoa

+0

Привет @scoa, спасибо вам за это. Похоже, что мне нужно. Поскольку я не специалист по pandoc. Можете ли вы рассказать мне, как установить фильтр 'pandoc-crossref'. –

+0

Существуют (предварительно скомпилированные двоичные файлы для всех платформ) [https://github.com/lierdakil/pandoc-crossref/releases/tag/v0.2.4.1a]; однако, я думаю, что лучше установить его через cabal: [установить платформу haskell] (https://www.haskell.org/platform), а затем выполнить 'cabal update' и' cabal install pandoc-crossref'. Наконец, добавьте 'pandoc_args: [" -F = pandoc-crossref "]' к вашему фронту YAML для запуска фильтра. – scoa

ответ

3

Решение, которое не зависит от формата вывода, это pandoc-crossref filter. Всякий раз, когда вы выводите таблицу, добавить ссылку на его заголовок (здесь с Pander):

```{r} 
library(pander) 
tb <- table(sample(letters[1:4], 10, replace=TRUE)) 
pander(tb, caption= "my table {#tbl:mytable}") 
``` 

Затем вы можете ссылаться на эту таблицу:

see [@tbl:mytable] for more details 

Чтобы запустить фильтр, добавить к вашей YAML вводная:

--- 
output: 
    pdf_document: 
    pandoc_args: ["-F=pandoc-crossref"] 
--- 

Pandoc-CrossRef может быть установлен с binaries или через haskell platform. В последнем случае:

cabal update 
cabal install pandoc-crossref 
Смежные вопросы