【问题标题】:Add "greater than and equal" symbol on latex table using kable and group_rows使用 kable 和 group_rows 在乳胶表上添加“大于等于”符号
【发布时间】:2018-12-29 03:36:50
【问题描述】:

作为标题,我正在尝试使用group_rows 函数来整理我的表格,如下所示,我在第 5 列添加了<= 符号(即<=rowid),但该符号无法正确显示当该列用于group_rows 时,有人可以帮忙吗?谢谢!

---
output: 
    pdf_document:
      keep_tex: true
    header-includes:
      - \usepackage{colortbl}
      - \usepackage{tikz}
papersize: a4


editor_options: 
  chunk_output_type: console
---

```{r setup, include=FALSE}
library(dplyr)
library(knitr)
library(kableExtra)

knitr::opts_chunk$set(warning=FALSE, message=FALSE, echo=FALSE)
options(kableExtra.latex.load_packages = FALSE)
```

```{r cars, results='asis'}

data.df <- iris %>%
  data.frame %>%
  group_by(Species) %>%
  filter(row_number()<=3) %>%
  mutate(rowid=1:n()) %>%
  ungroup %>%
  mutate(Species=as.character(Species)) %>%
  mutate(Species=paste0('$\\geq$',Species)) %>%
  mutate(rowid=paste0('$\\geq$',rowid)) %>%
  rename('$\\geq$rowid'='rowid')

data.df %>%
  select(-Species) %>%
  kable(.,format = 'latex',booktabs=TRUE,escape = FALSE,longtable=TRUE) %>%
  group_rows(index = auto_index(data.df$Species)) %>%
  kable_styling(latex_options = c('repeat_header','striped','HOLD_position'))

```

【问题讨论】:

  • 第一个转义 (``) 被转换为文本反斜杠,因此 pandoc 将其呈现为这样。 group_rows() 默认为 escape =TRUE 这也无济于事,但您可以修复。我谷歌了一下,Yihue 似乎说要使用 bookdown 来解决 pandoc 转义问题。

标签: r latex r-markdown kable kableextra


【解决方案1】:

分组的行标题放在\textbf{} 语句中,不知何故,在此过程中完成了额外的文本清理。如果您在 group_rows 中使用 escape = T 并添加额外的反斜杠,则可以:

data.df <- iris %>%
  data.frame %>%
  group_by(Species) %>%
  filter(row_number()<=3) %>%
  mutate(rowid=1:n()) %>%
  ungroup %>%
  mutate(Species=as.character(Species)) %>%
  mutate(Species=paste0('$\\\\geq$', Species)) %>%  # extra backslashes 
  mutate(rowid=paste0('$\\geq$',rowid)) %>%
  rename('$\\geq$rowid'='rowid')

data.df %>%
  select(-Species) %>%
  kable(., format = 'latex', booktabs=TRUE, escape = FALSE, longtable=TRUE) %>%
  group_rows(index = auto_index(data.df$Species), escape = F) %>%  # escape = F
  kable_styling(latex_options = c('repeat_header','striped','HOLD_position'))

【讨论】:

  • 我之前尝试过这个,但是多余的反斜杠在编织时给了我一个内存不足的错误(尽管控制台没问题)。
  • 内存不足错误?不知道你的意思。
  • 就是这么说的,我没有进一步探索。
猜你喜欢
  • 1970-01-01
  • 2019-02-03
  • 2021-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-21
  • 2019-09-17
  • 2017-05-23
相关资源
最近更新 更多