使用 rmarkdown 时为 beamer 中的特定幻灯片添加背景颜色

使用 rmarkdown 时为 beamer 中的特定幻灯片添加背景颜色

我想在用 R markdown 创建的演示文稿中突出显示整张幻灯片,其方式与此类似回答(不使用 markdown)。

但似乎无法弄清楚。下面是我迄今为止失败的一个虚拟示例...

---
title: "Untitled"
output: beamer_presentation
---

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

## Slide with Bullets

- Bullet 1
- Bullet 2
- Bullet 3

% \setbeamercolor{background canvas}{bg=red}

## Slide with R Output 

\setbeamercolor{background canvas}{bg=red}

```{r cars, echo = TRUE}
summary(cars)
```

答案1

我创建了一个键,bgcolor可以将其作为选项传递给框架。在下面的示例中,只有第二张幻灯片具有红色背景。

\documentclass{beamer}

\makeatletter
\define@key{beamerframe}{bgcolor}[]{%
  \ifx#1\@empty\else
    \def\ps@navigation@colored{%
      \setbeamercolor{background canvas}{bg=#1}%  background color
      \@nameuse{ps@navigation}}
    \thispagestyle{navigation@colored}
  \fi}
\makeatother


\begin{document}

\begin{frame}
  Test
\end{frame}


\begin{frame}[bgcolor=red]
  Test
\end{frame}


\begin{frame}
  Test
\end{frame}

\end{document}

答案2

作为一种解决方法,您可以对应该更改背景颜色的帧号进行硬编码。这可以在序言中完成。

\documentclass{beamer}

\setbeamertemplate{background}{%
    \if\insertframenumber2
        \color{red}\rule{\paperwidth}{\paperheight}
    \fi
}

\begin{document}

\begin{frame}
    abc
\end{frame} 

\begin{frame}
    abc
\end{frame} 

\begin{frame}
    abc
\end{frame} 

\end{document}

相关内容