Таблица и рисунок перекрестной ссылки офицера R - PullRequest
0 голосов
/ 20 сентября 2018

Я бы хотел иметь возможность перекрестной ссылки на таблицу или рисунок в текстовом документе, используя пакет сотрудника R .

До сих пор я встречал эти материалы, но они делаютне похоже, что есть решение: https://davidgohel.github.io/officer/articles/word.html#table-and-image-captions и аналогичный вопрос добавить подпись к flextable в docx

В обоих случаях я могу вставить только заголовок в качестве заголовка уровня 2и не настоящая подпись к таблице.

Что я хочу сделать в Word, так это вставить -> Перекрестная ссылка и перейти к типу ссылки: Таблица и посмотреть мою подпись там.Прямо сейчас я вижу только заголовок под пронумерованным элементом.

Эта функция существует в офицере или где-либо еще?

1 Ответ

0 голосов
/ 18 апреля 2019

Словом, номера таблиц используют шаблон { SEQ \\@ arabic }, но ссылки на них используют { REF bookmark \h }.Мы можем использовать это для создания нового кода, который может ссылаться на поле SEQ.

код:

ft <- regulartable(head(iris)) # create flextable
str <- paste0(' REF ft \\h ')  # create string to be used as reference to future bookmark

doc <- read_docx() %>%
  body_add_par('This is my caption' , style = 'Normal') %>% # add caption
  slip_in_seqfield(str = "SEQ Table \\@ arabic",           
                   style = 'Default Paragraph Font', 
                   pos = "before") %>% # add number for table
  body_bookmark('ft') %>%   # add bookmark on the number
  slip_in_text("Table ", 
               style = 'Default Paragraph Font', 
               pos = "before") %>% # add the word 'table'
  body_add_flextable(value = ft, align = 'left') %>% # add flextable
  body_add_break() %>%  # insert a break (optional)
  slip_in_text('As you can see in Table', 
               style = 'Default Paragraph Font', 
               pos = 'after') %>% # add the text you want before the table reference
  slip_in_seqfield(str = str,  
                   style = 'Default Paragraph Font', 
                   pos = 'after') %>% # add the reference to the table you just added
  slip_in_text(', there are a lot of iris flowers.', 
               style = 'Default Paragraph Font', 
               pos = 'after') %>% # add the rest of the text 
  print('Iris_test.docx') # print

Надеюсь, это поможет:)

...