让 R 打印的文本具有颜色,尤其是。在 R 降价针织品中?

Getting R printed texts to have color esp. in R markdown knits?

非常简单的问题:我喜欢写 R notebooks/markdowns,并且使用 highlight: tango 之类的东西,当我将笔记本编织成 pdf 时,我可以为代码添加背景颜色。

但是,我不知道如何在 R 中为打印输出提供彩色背景或彩色字体。例如,假设我有以下块。

```{r, echo = FALSE}
writeLines("Help")
```

我希望突出显示“帮助”一词,例如灰色背景的红色字体。我怎样才能做到这一点?

非常感谢。

对于 PDF 输出,下面是一些 latex 用于获取彩色文本和阴影的命令。 (有关其他着色选项,请参阅 Tex Stack Exchange 站点上的 this answer。)但是,我不确定如何从 writeLines 获得着色的输出。在 \shaded 环境中包含代码块会导致错误。希望有人会提出适用于代码块输出的解决方案。

---
output: pdf_document
header-includes:
  - \usepackage{xcolor}
  - \usepackage{framed}
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```

\colorlet{shadecolor}{gray!10}

\color{red}

```{r}
writeLines("help")
```

\begin{shaded}

Red text with a gray background.

\end{shaded}

Red text.

\color{black}

Black text.

\colorlet{shadecolor}{red!10} 

\begin{shaded}

Black text with a red background.

\end{shaded}

\colorlet{shadecolor}{red!90} 

\begin{shaded}

Black text with a darker red background.

\end{shaded}

这是生成的 PDF 文档:

对于 R 中的一种方式,我的 huxtable 包允许您设置表格的背景和文本颜色。我不知道有任何针对纯文本的内部 R 包(也许 crayon?)

library(huxtable)
ht <- hux(c("Red", "Blue"), c("White bg", "Black bg"))
text_color(ht)[, 1] <- c("red", "blue")
background_color(ht)[, 2] <- c("white", "black")
to_latex(ht) # or just print within a rmarkdown document

kableExtra,您可以使用 text_spec

在 R 中格式化文本
---
output: pdf_document
---

```{r}
library(kableExtra)
options(knitr.table.format = "latex")
```

`r text_spec("Help", color = "red")`

`r text_spec("Help Help", background = "#D05A6E", color = "white", bold = T)`

`r text_spec("Hello", font_size = 20)`

`r text_spec("World", angle = 180)`

你得到

HTML也是如此

在包 vignette.

Cell/Text 规范 中查看更多信息