Изменить цвет текста по умолчанию для таблиц Kable внутри Rstudio

Я использую R Markdown в RStudio и предпочитаю писать код с использованием черного фона. Мои таблицы красиво отформатированы в выходном html-документе с помощью kable. Однако я заметил, что не могу прочитать вывод kable, потому что цвет текста черный:

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

Но если я использую потворство, он знает, как использовать белый текст ...

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

Но, черт возьми, это некрасиво в моем отчете:  введите описание изображения здесь

Как я могу либо заставить kable использовать белый текст внутри RStudio, либо заставить потворство создавать более красивые таблицы в моем отчете?


person Nova    schedule 28.11.2016    source источник
comment
Не уверен насчет значений по умолчанию, но вы могли бы использовать table.attr = "style=\"color: white;\"" ...   -  person Martin Schmelzer    schedule 28.11.2016
comment
Не уверены, куда вы хотите поместить этот фрагмент кода - и изменит ли он цвет текста внутри Rstudio? Кажется, я не могу заставить его работать (здесь Markdown noob) ...   -  person Nova    schedule 29.11.2016
comment
Вот: kable(head(iris), format = "html", table.attr = "style = \"color: white;\"") Если вы используете его очень часто, вы можете создать сниппет, чтобы его было немного удобнее использовать.   -  person Martin Schmelzer    schedule 29.11.2016
comment
хорошо - это работает - но теперь это не отображается в моем отчете (на белом фоне). Не может быть и того, и другого?   -  person Nova    schedule 29.11.2016
comment
Это перенесено в раздел ответов.   -  person Martin Schmelzer    schedule 29.11.2016


Ответы (1)


Вы могли бы использовать

kable(head(iris), format = "html", table.attr = "style = \"color: white;\"")

для того, чтобы превью записной книжки использовать белый цвет шрифта. Если вы хотите, чтобы окончательный результат был отформатирован другим способом, просто используйте CSS в начале Rmarkdown:

<style>
table {
  background-color: white !important;
  color: black !important;
}
</style>

Правило !important отменяет любые другие стили.

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

person Martin Schmelzer    schedule 28.11.2016
comment
Окей круто. Я осмотрелся, потому что эти таблицы типов html уродливы (даже в вашем примере выше заголовки полей идут вместе). Код здесь работает, но я не уверен, что он может быть каким-то образом вложен в бит стиля, который вы включили в свой ответ, - и я также не уверен, что это правильный способ добавить отступы между столбцами (заголовки в конечном итоге выглядят немного не по сравнению с содержимым поля). Есть еще предложения? <style type="text/css"> td { padding:0 30px 0 30px; } </style> - person Nova; 29.11.2016
comment
Вы хотите, чтобы заполнение было применено к окончательному документу или к фрагментам предварительного просмотра? - person Martin Schmelzer; 30.11.2016
comment
Что касается окончательного документа, в фрагментах предварительного просмотра он выглядит нормально. Спасибо, Мартин, за то, что продолжаешь мне помогать! - person Nova; 30.11.2016
comment
Хорошо, вы должны знать, что заголовок таблицы использует теги th вместо тегов td. Так что просто добавьте th { padding: 0 30px 0 30px; } в блок стилей CSS. - person Martin Schmelzer; 01.12.2016