gpt4 book ai didi

R Markdown ,kable_styling() 中的\rowcolor 问题

转载 作者:行者123 更新时间:2023-12-05 06:21:12 26 4
gpt4 key购买 nike

在 R markdown 中使用 kable_styling() 时遇到一些问题。 https://haozhu233.github.io/kableExtra/awesome_table_in_pdf.pdf在 Rmd 文件到 pdf 的样式表上有一个很好的小插图,但仍然遇到 kable_styling(latex_options = "striped") 的问题,因为它出现错误 !undefined 控制序列。\行颜色

R block 中的代码是

kableExtra::kable(results,caption = "Results", "latex", booktabs = TRUE) %>% 
kable_styling(latex_options = "striped")

我已经尝试了 \usepackage[table]{xcolor} 和一些其他的打地鼠技术,但仍然是一个错误。我将向您展示我正在使用的 YAML 以及一个额外的“in_header”文件。任何帮助将不胜感激。

---
标题:“水产量”
作者:“乔什·埃里克森”
日期:“2020 年 1 月 28 日”
输出:
pdf_文档:
图说明:是的
包括:
in_header:my_header.tex
引用书目:WaterYield.bib
表:真
---

下面是“my_header.tex”

\usepackage{float}
\let\origfigure\figure
\let\endorigfigure\endfigure
\renewenvironment{figure}[1][2] {
\expandafter\origfigure\expandafter[H]
} {
\endorigfigure
}

- \usepackage{booktabs}
- \usepackage{longtable}
- \usepackage{array}
- \usepackage{multirow}
- \usepackage{wrapfig}
- \usepackage{float}
- \usepackage{colortbl}
- \usepackage{pdflscape}
- \usepackage{tabu}
- \usepackage{threeparttable}
- \usepackage{threeparttablex}
- \usepackage[normalem]{ulem}
- \usepackage{makecell}
- \usepackage{xcolor}

最佳答案

在缺少 MWE 的情况下,很难保证此修复程序会起作用。话虽如此,kableExtra 会根据您提供的引用文献的 P.4 中的文档自动加载 latex 包 xtable。一种选择是遵循他们的建议:

you can suppress this auto-loading behavior by setting a global option kableExtra.latex.load_packages to be FALSE before you load kableExtra.

或者,我建议您执行以下操作:

  1. 从您的 .tex 文件中删除\usepackage{xcolor}。您已经有了\usepackage{colortbl},它定义了您需要的命令\rowcolor(参见 colortbl.pdf)。它不会与 kableExtra 冲突。
  2. 可能由于我对 YAML/R Markdown 中的某些功能一无所知,我更喜欢将 .tex 文件转换为 .txt 文件并删除\usepackage 命令之前的所有“-”。

这是一个应该适合您的 MWE 示例:

---
title: "Water Yield"
author: "Josh Erickson"
date: "2/2/2020"
output:
pdf_document:
includes:
in_header: my_header.txt
tables: true
---
knitr::opts_chunk$set(echo = TRUE)
if(!require(pacman)) install.packages("pacman")
pacman::p_load(tidyverse, kableExtra)

#using the cars dataset from base R
results = summary(cars)

kableExtra::kable(results,caption = "Results", "latex", booktabs = TRUE) %>%
kable_styling(latex_options = "striped")

请注意,我只对您的 in_header 文件进行了三处编辑:

  • 将其更改为 .txt [这可能是一个不必要的步骤];
  • 删除\usepackage 命令前的所有“-”;和
  • 删除\usepackage{xcolor}

因此,我的 my_header.txt 文件如下所示:

\usepackage{float}
\let\origfigure\figure
\let\endorigfigure\endfigure
\renewenvironment{figure}[1][2] {
\expandafter\origfigure\expandafter[H]
} {
\endorigfigure
}

\usepackage{booktabs}
\usepackage{longtable}
\usepackage{array}
\usepackage{multirow}
\usepackage{wrapfig}
\usepackage{float}
\usepackage{colortbl}
\usepackage{pdflscape}
\usepackage{tabu}
\usepackage{threeparttable}
\usepackage{threeparttablex}
\usepackage[normalem]{ulem}
\usepackage{makecell}

对应的pdf如下所示:

enter image description here

关于R Markdown ,kable_styling() 中的\rowcolor 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59994486/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com