Я недавно читал о css классах Книтра для кусков, как обсуждалось в этом вопросе и этом примере .
В общем, это, кажется, работает отлично. Проблема в том, что эти параметры больше не работают, если вы используете вывод kable. Пример ниже иллюстрирует то, о чем я говорю. В первых двух чанках я могу успешно добавить css класс bg-success
к своему выводу, но третий чанк не применяет это.
Изучив выходной файл html, я обнаружил, что первые два блока упакованы в блоки <pre class='bg-success'>...</pre>
html, а третий блок - в блок <table class=table table-condensed>...</table>
html. Класс bg-success
нигде здесь не обнаружен.
Кто-нибудь получил параметры knitr class.output для работы с выводами kable? Есть ли чистый способ сделать это? Я знаю, что могу обернуть кусок кода в div и применить там класс, но это грязно, и я предпочел бы делать это чисто, если это возможно.
---
title: "My Test"
output: html_document
---
\```{r setup, include=FALSE}
library(knitr)
knitr::opts_chunk$set(
message = FALSE,
warning = FALSE)
\```
Class works when applied to text:
\```{r working, class.output='bg-success'}
paste("Normal", "R chunk", "output!!")
\```
Class works when applied to data frame:
\```{r working_table, class.output='bg-success'}
head(iris)
\```
Class does not work when applied to kable output:
\```{r not_working, class.output='bg-success'}
kable(head(iris))
\```