【问题标题】:why superscript not displaying in pdf from r-markdown using kable extra?为什么上标不使用 kable extra 从 r-markdown 显示在 pdf 中?
【发布时间】:2021-06-05 05:36:19
【问题描述】:

我正在尝试使用 excel 通过符号读取上标。它显示在块中,但在生成 pdf 时上标没有显示。

我正在读取如下所示的excel文件

Col
-----
word${^1}$
word${^1}$
word${^1}$
word${^1}$
word${^1}$
word${^1}$

dput(head(df))
structure(list(Col = c("word${^1}$", "word${^1}$", "word${^1}$", 
"word${^1}$", "word${^1}$", "word${^1}$")), row.names = c(NA, 
-6L), class = c("tbl_df", "tbl", "data.frame"))
df<-read_excel("../suprscript.xlsx", sheet = 'sheet1')

kbl(df,longtable = T) %>%
kable_styling(latex_options = c("hold_position","repeat_header"),full_width = F)

上标在 Markdown 中运行块时显示,但在 pdf 中显示为

word${^1}$

【问题讨论】:

  • 什么上标?
  • word$^1$ 1 这样的文本的上标是单词的上标。我在 excel 上标中表示的方式显示在降价块中,但不显示在 pdf 中。使用 kable 显示在表格内的上标
  • 请运行dput(head(df)) 并将结果粘贴到问题中。我没有时间或意愿将图像转录为变量。请使用dput,因为粘贴文本表仍然需要努力解析。如果您使用 dput,则可以保证它在您的环境中以及在任何试图解决您的问题的人中都是相同的。
  • @AndrewChisholm 我已经粘贴了dput(head(df))的输出
  • 对 - 并且 escape = F 解决了问题 - 我更新了答案以匹配问题。

标签: r r-markdown kableextra


【解决方案1】:

在调用kableExtra::kbl 时使用escape=F 选项,如以下.Rmd 文件。

---
title: "Mathematical symbols in tables"
output: pdf_document
---

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

```{r}
df <- structure(list(Col = c("word${^1}$", "word${^1}$", 
"word${^1}$", 
"word${^1}$", "word${^1}$", "word${^1}$")), row.names = c(NA, 
-6L), class = c("tbl_df", "tbl", "data.frame"))
result <- 
    kbl(df,longtable = T, escape=F) %>%
    kable_styling(latex_options = 
        c("hold_position","repeat_header"),full_width = F)
result
```

这是生成的 PDF 的屏幕截图。

【讨论】:

  • 使用 escape=F Paragraph ended before \@textcolor was complete. 我得到这个错误。如果我在 pdf 中删除 escape=F,它的显示与 ${^1}$ 一样。我正在从excel中阅读这个。在块中它被显示但不是在 pdf 中
  • 您需要发布一个可重现的示例,否则我们只会猜测。我建议您发布降价并在 Excel 数据上执行 dput 并将其粘贴到原始问题中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-09
  • 1970-01-01
  • 2021-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多