在Markdown Beamer中切换背景

Joa*_*ler 5 r beamer lyx rstudio r-markdown

我正在尝试将LaTeX / LyX演示文稿转换为Beamer降价文档。

在某些幻灯片上,我暂停了背景图像(上面有供资机构的徽标),以便为代码输出腾出更多空间。

我以前使用以下命令执行此操作:

\bgroup
\usebackgroundtemplate{\includegraphics[width=\paperwidth]{background.png}}
\begin{frame}[plain]
Some text here!}
\end{frame}
\egroup
Run Code Online (Sandbox Code Playgroud)

我已经尝试过类似的方法(不起作用):

\bgroup
\pgfdeclareimage[width=\paperwidth]{empty}{Template_blank.png}
\usebackgroundtemplate{\pgfuseimage{empty}}

## New Slide

some text
\egroup
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

sam*_*ter 1

通常在beamer中切换不同的背景模板是小菜一碟,基于https://tex.stackexchange.com/questions/173201/beamer-template-with- Different-style-options-for-frames,人们可以简单地创建一个新的框架选项。

不幸的是,rmarkdown 简单地忽略了用户创建的框架选项,并且只传递一小部分预定义选项。为了欺骗 rmarkdown,人们可以重新利用通常不被投影仪使用的框架选项,即standout框架选项(它仅由大都市主题使用)

---
output: 
  beamer_presentation:
    keep_tex: true
    includes:
header-includes: |
  \usepackage{etoolbox}

  \defbeamertemplate{background canvas}{mydefault}{%
    \includegraphics[width=\paperwidth,height=\paperheight]{example-image-duck}
  }
  \defbeamertemplate{background canvas}{standout}{%
    \includegraphics[width=\paperwidth,height=\paperheight,page=2]{example-image-duck}
  }

  \BeforeBeginEnvironment{frame}{%
    \setbeamertemplate{background canvas}[mydefault]%
  }

  \makeatletter
  \define@key{beamerframe}{standout}[true]{%
    \setbeamertemplate{background canvas}[standout]%
  }
  \makeatother

---

# frametitle 

test

# frametitle with different background {.standout}

test

# frametitle

test
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述