我试图在 rmarkdown
中编译以下beamer
演示文稿。但是,当它试图渲染rmarkDown文档时,发生错误
! LaTeX Error: Option clash for package xcolor.
我搜索了Internet,发现我需要在documentclass
行之前包括PassOptionsToPackage{table}{xcolor}
。将选项应用于已经加载的软件包,也请参见此处
我该如何在rmarkDown中进行?
---
title: "My report"
output:
beamer_presentation:
keep_tex: true
header-includes:
- usepackage{booktabs}
- usepackage{tabu}
- usepackage{threeparttable}
- usepackage{threeparttablex}
- usepackage[normalem]{ulem}
- usepackage[table]{xcolor}
---
```{r setup, include=FALSE}
library(knitr)
library(kableExtra)
knitr::opts_chunk$set(echo = FALSE)
```
```{r positioned_table}
dt <- mtcars[1:5, 1:6]
kable(dt) %>%
kable_styling("striped", full_width = F) %>%
column_spec(5:7, bold = T) %>%
row_spec(3:5, bold = T, color = "white", background = "#D7261E")
```
生成的.tex
文件是
PassOptionsToPackage{unicode=true}{hyperref} % options for packages loaded elsewhere
PassOptionsToPackage{hyphens}{url}
%
documentclass[ignorenonframetext,]{beamer}
usepackage{pgfpages}
setbeamertemplate{caption}[numbered]
setbeamertemplate{caption label separator}{: }
setbeamercolor{caption name}{fg=normal text.fg}
beamertemplatenavigationsymbolsempty
% Prevent slide breaks in the middle of a paragraph:
widowpenalties 1 10000
raggedbottom
setbeamertemplate{part page}{
centering
begin{beamercolorbox}[sep=16pt,center]{part title}
usebeamerfont{part title}insertpartpar
end{beamercolorbox}
}
setbeamertemplate{section page}{
centering
begin{beamercolorbox}[sep=12pt,center]{part title}
usebeamerfont{section title}insertsectionpar
end{beamercolorbox}
}
setbeamertemplate{subsection page}{
centering
begin{beamercolorbox}[sep=8pt,center]{part title}
usebeamerfont{subsection title}insertsubsectionpar
end{beamercolorbox}
}
AtBeginPart{
frame{partpage}
}
AtBeginSection{
ifbibliography
else
frame{sectionpage}
fi
}
AtBeginSubsection{
frame{subsectionpage}
}
usepackage{lmodern}
usepackage{amssymb,amsmath}
usepackage{ifxetex,ifluatex}
usepackage{fixltx2e} % provides textsubscript
ifnum 0ifxetex 1fiifluatex 1fi=0 % if pdftex
usepackage[T1]{fontenc}
usepackage[utf8]{inputenc}
usepackage{textcomp} % provides euro and other symbols
else % if luatex or xelatex
usepackage{unicode-math}
defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase}
fi
% use upquote if available, for straight quotes in verbatim environments
IfFileExists{upquote.sty}{usepackage{upquote}}{}
% use microtype if available
IfFileExists{microtype.sty}{%
usepackage[]{microtype}
UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
}{}
IfFileExists{parskip.sty}{%
usepackage{parskip}
}{% else
setlength{parindent}{0pt}
setlength{parskip}{6pt plus 2pt minus 1pt}
}
usepackage{hyperref}
hypersetup{
pdftitle={My report},
pdfborder={0 0 0},
breaklinks=true}
urlstyle{same} % don't use monospace font for urls
newififbibliography
setlength{emergencystretch}{3em} % prevent overfull lines
providecommand{tightlist}{%
setlength{itemsep}{0pt}setlength{parskip}{0pt}}
setcounter{secnumdepth}{0}
% set default figure placement to htbp
makeatletter
deffps@figure{htbp}
makeatother
usepackage{booktabs}
usepackage{tabu}
usepackage{threeparttable}
usepackage{threeparttablex}
usepackage[normalem]{ulem}
usepackage[table]{xcolor}
title{My report}
date{}
begin{document}
frame{titlepage}
begin{frame}
begin{table}[H]
centering
begin{tabular}{l|r|r|r|>{bfseries}r|>{bfseries}r|>{bfseries}r}
hline
& mpg & cyl & disp & hp & drat & wt\
hline
Mazda RX4 & 21.0 & 6 & 160 & 110 & 3.90 & 2.620\
hline
Mazda RX4 Wag & 21.0 & 6 & 160 & 110 & 3.90 & 2.875\
hline
rowcolor[HTML]{D7261E} textcolor{white}{textbf{Datsun 710}} & textcolor{white}{textbf{22.8}} & textcolor{white}{textbf{4}} & textcolor{white}{textbf{108}} & textcolor{white}{textbf{93}} & textcolor{white}{textbf{3.85}} & textcolor{white}{textbf{2.320}}\
hline
rowcolor[HTML]{D7261E} textcolor{white}{textbf{Hornet 4 Drive}} & textcolor{white}{textbf{21.4}} & textcolor{white}{textbf{6}} & textcolor{white}{textbf{258}} & textcolor{white}{textbf{110}} & textcolor{white}{textbf{3.08}} & textcolor{white}{textbf{3.215}}\
hline
rowcolor[HTML]{D7261E} textcolor{white}{textbf{Hornet Sportabout}} & textcolor{white}{textbf{18.7}} & textcolor{white}{textbf{8}} & textcolor{white}{textbf{360}} & textcolor{white}{textbf{175}} & textcolor{white}{textbf{3.15}} & textcolor{white}{textbf{3.440}}\
hline
end{tabular}
end{table}
end{frame}
end{document}
使用@samcarter的非常有用的评论,我找到了确切的答案。我所需要的是我的rmarkDown文档中的以下yaml
标头:
---
title: "My report"
output:
beamer_presentation:
keep_tex: true
classoption: xcolor=table
header-includes:
- usepackage{booktabs}
- usepackage{tabu}
- usepackage{threeparttable}
- usepackage{threeparttablex}
- usepackage[normalem]{ulem}
---
使用beamer上的 table
xcolor选项可以将其传递给文档类。在传统乳胶
documentclass[xcolor={table}]{beamer}
对于Markdown https://bookdown.org/yihui/rmarkdown/pdf-document.html#latex-options建议,可以在上面使用
classoption: xcolor={table}