美元符号会导致彩色行

时间:2018-02-02 21:26:58

标签: r r-markdown kable kableextra

我有一张桌子,我正试图将其放入带有Markdown的pdf中。

dt <- c(name = c("a", "b", "c"),
        money = c("$1", "$10", "$100")

dt %>%
kable(format = "latex") %>%
row_spec(1, background = "blue")

上述代码不起作用,产生以下错误:

  

stri_replace_first_regex中的错误(字符串,模式,   fix_replacement(replacement),:尝试访问out的索引   边界(U_INDEX_OUTOFBOUNDS_ERROR)来电:...   row_spec_latex - &gt; str_replace - &gt; stri_replace_first_regex - &gt;。呼叫

如果删除row_spec部分,则可以正常工作。如果我删除美元符号,它就有效。如果我将行更改为第0行而不是第1行,则它可以正常工作。但我无法改变带有美元符号的行的颜色。我知道$是乳胶中的保留字符,但作为一个实验,我查找了所有保留字符,并用它们而不是美元符号进行了尝试,一切正常。美元符号是唯一给我带来麻烦的。

有没有办法让这项工作或我注定要有一张鲜明的白色桌子?

1 个答案:

答案 0 :(得分:1)

我们可以使用乳胶代码\textdollar作为美元符号并将其转义。其他使用kable()选项escape=FALSE

---
title: "Untitled"
author: "C.garner"
date: "2 Februar 2018"
output: 
  pdf_document: 
    keep_tex: yes
---

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

```{r table1, message=FALSE}
library(dplyr)
library(kableExtra)
library(knitr)
dt <- c(name = c("a", "b", "c"),
        money = c("\\textdollar 1", "\\textdollar 10", "\\textdollar 100"))

dt %>%
kable(format = "latex", escape = FALSE) %>%
row_spec(4, background = "blue")
```

enter image description here