使R打印文本具有颜色特别。在R markdown针织?

时间:2017-11-15 01:46:07

标签: r latex r-markdown rnotebook

非常简单的问题:我喜欢写R笔记本/降价促销,并且像highlight: tango这样的东西,当我将笔记本编织成pdfs时,我可以为代码提供背景颜色。

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

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

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

非常感谢提前。

3 个答案:

答案 0 :(得分:4)

对于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文档:

enter image description here

答案 1 :(得分:4)

使用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)`
你得到了 enter image description here

HTML也是如此 enter image description here

在包vignette单元格/文字规范中查看更多内容。

答案 2 :(得分:1)

对于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