- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近学习了如何使用包含 unicode 符号的 kableExtra 制作很棒的表格,以便它们可以用作我的绘图的解释表。
library(dplyr)
library(kableExtra)
data.frame(
Symbol = c("●", "●", "▲"),
Description = c("bla bla bla", "bla bla bla", "bla bla bla"),
Result = c("bla bla bla", "bla bla bla", "bla bla bla")
) %>%
mutate(
Symbol = cell_spec(Symbol, color = c("yellow", "pink", "pink"), escape = F)
) %>%
kable(escape = F, align = c("c", "l", "l")) %>%
kable_styling(full_width = F)
我现在想自动将其渲染成 PDF,但是当我将这段确切的代码粘贴到设置为编织成 PDF 的 RMarkdown 文件中时,这让我陷入了一个长达数小时的兔子洞,试图调试与相关的各种 latex 错误表中的 unicode 字符、导致问题的颜色规范中的数字符号、脚注、声明 的错误!错位的\noalign.
我还没有弄清楚来源等
我将在最后包含完整 Rmd 文件的文本。如果这有所作为,我正在使用 Mac。使用 BasicTex 和 tlmgr 安装缺少的 latex 包。
是否有 (1) 一种方法可以将我的 kableExtra 表保存到不涉及 RMarkdown 的可缩放 PDF 文件中,该表在 RStudio 中呈现时看起来完全符合我的要求?我今天尝试了 write2pdf()
函数,但又遇到了 unicode 问题。我还尝试将它编织成 html 并通过调用 pandoc
将其转换,但这删除了我需要的大部分表格格式。
也许我在那里缺少一些简单的解决方案,但是...或者 (2) 是否有人能够告诉我哪些更改会使此 Rmd 代码正确地将我的图表呈现为 PDF? R 代码本身工作正常。我猜这是某种 Latex 问题。
非常感谢您的帮助。
---
title: ""
output:
pdf_document:
latex_engine: xelatex
---
```{r, echo=FALSE, results="asis"}
# TODOREQ: add "much" grammars for acute levels
# TODOREQ: change "levels of concern" to the respective guideline name.
# TODO: Change to groupby/summarize
# TODO: Factor out package loading and global variables into a single setup file
# Packages
suppressMessages(library(ggplot2))
suppressMessages(library(extrafont))
suppressMessages(library(kableExtra))
suppressMessages(library(dplyr))
table_info <- data.frame(Symbol=c("▲", "◆", "૫"),
Name=c("Name1", "Name2", "Name3"),
Description=c("Description1", "Description2",
"Description3"),
Results=c("Bad", "Good", "Bad"),
Color=c("#ffde71", "#394f38",
"#09a2dd"))
ktable <- table_info %>%
mutate(Symbol = cell_spec(Symbol, color = Color, escape = FALSE)) %>%
select(-Color) %>%
kable(escape = FALSE, align = c("c", "l", "l")) %>%
kable_styling(full_width = FALSE)
ktable
```
最佳答案
有几个问题。
cell_spec
将插入原始 HTML 代码,除非您要求它插入 LaTeX 代码。使用 format = "latex"
来做到这一点。
您需要在 LaTeX 代码中指定符号,而不是 HTML 标记。 xelatex
应该支持 "\\symbol{9650}"
for "▲"
,但我无法显示任何内容up: 也许我没有安装字体。相反,您可以使用 AMS 符号;实心圆是 "$\\bullet$"
,向上的实心三角形是 "$\\blacktriangle$"
。我没有查你的其他人,但如果你幸运的话,你会在 https://www.rpi.edu/dept/arc/training/latex/LaTeX_symbols.pdf 中找到他们.
kable
表格在 LaTeX 中很难看;使用 booktabs = TRUE
选项以获得更好的选项。所以这就是您的 ktable
规范应该是这样的:
table_info <- data.frame(Symbol=c("$\\bullet$", "$\\bullet$", "$\\blacktriangle$"),
Name=c("Name1", "Name2", "Name3"),
Description=c("Description1", "Description2",
"Description3"),
Results=c("Bad", "Good", "Bad"),
Color=c("#ffde71", "#394f38",
"#09a2dd"))
ktable <- table_info %>%
mutate(Symbol = cell_spec(Symbol, color = Color, format = "latex",
escape = FALSE)) %>%
select(-Color) %>%
kable(escape = FALSE, align = c("c", "l", "l"), booktabs = TRUE) %>%
kable_styling(full_width = FALSE)
ktable
关于使用 RMarkdown 将带有颜色和 unicode 字符的 kableExtra 表渲染为 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50670838/
我正在将 kableExtra 库与 R Markdown 结合使用,我想向行标签(以及其他单元格的辅助标签)添加脚注。我怎样才能做到这一点 ? 下面的数据示例: library(kableExtra
我有一个导出为 pdf 的简单 RMarkdown 文档,其中包含一个只有 2 列的 kablextra 表(见图)。我试图将两列的背景设置为蓝色阴影,其中高值用较深的颜色表示,低值用较浅的颜色表示。
我正在创建一个包含超链接列的表格,但这些超链接很长,我想用长文本替换图像,单击它并在新选项卡中打开链接。 例如,使用这段代码 df = iris[c(1,51,101),] df$hyperlink
我刚刚学习了 KableExtra 并且知道如何使用 mutate() 有条件地格式化整个列,如使用 mutate 的文档中所述,例如: mutate( mpg = cell_spec(mpg,
我试图将度数 (º) 的符号放在一个表格中,用 kableExtra 制作它.我获得的符号与图像中的类似: 我只需要符号 (º) 而没有下面的行,如下所示: 我试过 $^\circ$并与 \\degr
我看了this question但给定的方法似乎不适用于脚注(参见 MWE)。我想知道如何使用 kableExtra 包在表格脚注中添加超链接。 knitr::kable(
我有一个很长的字符串,我想将其放入表格中,例如 100x 字母 A (AAA...)。如果这些字符串不适合表,我希望 kable 将其拆分为多行,而不是使这些字符串溢出,如图所示 here . 我注意
当我使用 kableExtra 进行 PDF 输出时,该表呈现精美,但如果程序中没有另一个非 kable 额外表,则会出现错误。还有其他人看到过这种行为吗?该文件看起来很好,但随后在 pandoc 中
我想使用 rmarkdown 创建 pdf。 PDF 应包含一个表格。该表应该有一个动态列标签。 选项卡标题应显示日历周。 但是,不显示日历周(例如 KW29),而是显示变量名称“kw0”。 我的错误
我正在寻找更改 kableExtra 表中的特定值。 这是一个例子。我创建了一个使用 kableExtra 输出的汇总统计表。统计数据基于 iris 数据集,我添加了一个 Year 变量。 iris
我在下面有一个表格,我想应用 ROW 级热图。 (1) 知道怎么做吗?现在,下面单行中的两个值的热图是相同的。 (2) 有没有办法让组列的标题不成 90 度角?现在所有的标题都是有角度的,但是对于组列
我正在使用 kableExtra为 longtable使用以下代码。 library(knitr) library(kableExtra) long_dt % add_header_above(c("
我正在尝试创建一个带有副标题和迷你图的表格。 我可以使用 kableExtra 包创建带有副标题的表格。我能够使用 formattable 和 sparkline 包创建一个带有迷你图的表格。 但是,
是否可以在 kableExtra 中格式化字幕? ?我想在编织到 HTML 时将表格的标题居中并加粗在 RMarkdown .我试图将 table 包裹在 CSS div 中文本居中的位置,但这并没有
我正在尝试使用非常受欢迎且非常棒的 kable 和 kableExtra 工具在 rmarkdown 文档和目标 HTML 输出中创建一个表格。 该表需要具有带超链接的单元格。虽然我可以将 URL 放
我想在性别和疾病之间做一个列联表。因为我将 R.markdown 用于 pdf。报告,我用 kableExtra自定义表格。当表格不是 data.frame 时,KableExtra 不能很好地制作表
有没有能力写个函数导出kable或 kableExtra基于 knitr 输出的不同格式的表格创造。 具体来说,我想要 format = "simple"为 .docx和 format = "html
我使用 kableExtra 创建了下表。我正在寻找一种可以在 c 列和 d 列之间添加垂直边框的方法(以分隔两个标题下的内容。)此外,是否有一种方法可以更改整个列中单元格的颜色(让说第三列?) li
嗨,我用 kableExtra 做了这张很棒的 table ,但我唯一的问题是行的高度并不总是相等。有没有人知道对此的补救措施? 我的表: 例如,如您所见,项目编号 22(第 6 行)的行具有比其他行
我将 R markdown 与 LaTeX 结合使用来创建 PDF 报告。为了生成表,我使用 kableExtra 包。 我想根据特定列中的值更改行的样式。我一直在尝试 cell_spec,但据我所知
我是一名优秀的程序员,十分优秀!