非常简单的问题:我喜欢写R笔记本/降价促销,并且像highlight: tango
这样的东西,当我将笔记本编织成pdfs时,我可以为代码提供背景颜色。
但是,我不知道如何给R中的打印输出提供彩色背景或彩色字体。例如,假设我有以下块。
```{r, echo = FALSE}
writeLines("Help")
```
我希望看到“帮助”这个词突出显示,用灰色背景的红色字体说。我怎样才能做到这一点?
非常感谢提前。
答案 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文档:
答案 1 :(得分:4)
使用kableExtra
,您可以使用text_spec
---
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)`
你得到了
在包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