作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在用 rmarkdown 编写 beamer 演示文稿,我有两种类型的框架,它们的背景应该有所不同。所以我在 latex 中写了两个类似的函数:
\newcommand{\settitlestyle}{
\setbeamertemplate{background canvas}{%
\includegraphics[width = \paperwidth, height = \paperheight]
{backgroundtitle.jpg}}
}
\setmainstyle
是完全相同的命令,但另一个 jpg。
在 YAML 中,我已经输入了一个定义函数和调用 \settitstyle
的 tex 文件。作品。但是在第一张幻灯片之后我想切换到主样式。当我在 markdown 文件中调用 \setmainstyle
时,什么也没有发生。
最佳答案
\setmainstyle
命令的问题在于它将在框架内使用,因此无效。
为避免此问题,您可以使用与 https://tex.stackexchange.com/questions/173201/beamer-template-with-different-style-options-for-frames 中相同的策略创建将更改背景的框架选项。
不幸的是,rmarkdown 简单地忽略了用户创建的框架选项,并且只传递了一小部分预定义选项。要欺骗 rmarkdown,可以重新利用 beamer 通常不使用的框架选项,standout
框架选项(它仅由 metropolis 主题使用)
---
output:
beamer_presentation:
keep_tex: true
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
或者如果您想更改所有以下帧的背景:
\usepackage{etoolbox}
\defbeamertemplate{background canvas}{mydefault}{%
\includegraphics[height=\paperheight,page=2]{example-image-duck}
}
\defbeamertemplate{background canvas}{standout}{%
\includegraphics[height=\paperheight]{example-image-duck}
}
\setbeamertemplate{background canvas}[mydefault]%
\makeatletter
\define@key{beamerframe}{standout}[true]{%
\setbeamertemplate{background canvas}[standout]%
}
\makeatother
关于r - 更改 R Markdown beamer 演示文稿中的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55122778/
我是一名优秀的程序员,十分优秀!