Нумерация таблиц с помощью kableExtra

Я использую Sweave (knitr) с kableExtra для создания таких таблиц:

введите здесь описание изображения

Вместо Таблицы 12, Таблицы 13 я хочу иметь Таблицу 12 (a), Таблицу 12 (b). Как это сделать?

Одна таблица генерируется таким кодом:

kable(dtabl, booktabs = TRUE, longtable = TRUE,
      align = rep("c", ncol(dtabl)), linesep = "",
      caption = paste0("Experimental Design of Qualification Data for level ", 
                       name, " of Group ", group),
      escape = FALSE) %>%
  add_header_above(extraheader) %>%
  kable_styling(latex_options = c("repeat_header", "striped"))

У меня капризное подключение к Интернету, я сначала опубликую это сообщение, а затем отредактирую, чтобы добавить некоторые детали.


person Stéphane Laurent    schedule 11.05.2018    source источник
comment
Я предполагаю, что независимо от того, как вы это делаете в LaTeX, будет эквивалент в knitr, но я не знаю, как это сделать в LaTeX. Ты?   -  person user2554330    schedule 11.05.2018
comment
Я делаю. Я нашел решение. Я выложу, когда у меня все наладится.   -  person Stéphane Laurent    schedule 11.05.2018


Ответы (1)


Вот решение LaTeX. Легко адаптировать к Sweave (например, если у вас произвольное количество таблиц).

\renewcommand{\thetable}{\arabic{table}(a)}

<<...>>=
...
@

\renewcommand{\thetable}{\arabic{table}(b)}

\addtocounter{table}{-1}

<<...>>=
...
@
person Stéphane Laurent    schedule 11.05.2018
comment
Отлично. И если вы поместите \labels в текст, тогда \refs им покажут номера таблиц как 12(a), 12(b), именно так, как вы хотите. И это работает и в R-Markdown. Я бы просто добавил еще один \renewcommand в конце, чтобы восстановить нумерацию до обычного формата. - person user2554330; 12.05.2018