5

我有一张表,我正试图用 R 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(string, pattern, fix_replacement(replacement), 中的错误:尝试访问超出范围的索引。(U_INDEX_OUTOFBOUNDS_ERROR) 调用:... row_spec_latex -> str_replace -> stri_replace_first_regex ->。调用

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

有什么方法可以完成这项工作,还是我注定要拥有一张纯白的桌子?

4

1 回答 1

2

我们可以\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")
```

在此处输入图像描述

于 2018-02-02T22:08:45.183 回答