Quarto自定义Beamer模板背景图无法铺满全屏问题求助
问题:Quarto自定义Beamer扩展中背景图无法铺满整个幻灯片
我用Quarto扩展自定义Beamer演示文稿时,在_extension.yml里设置了默认幻灯片背景图,但背景图没法铺满整个幻灯片——空白导航栏区域和底部带页码的页脚都没被覆盖。我猜得修改项目里的LaTeX前置代码preamble-beamer.tex,但不知道具体怎么操作。
最小复现示例
所有文件路径均相对主项目文件夹:
example-slides.qmd
--- title: Hello and Bye! author: My Name institute: My Institute format: myextension-beamer --- # Hello Hello is in German "Guten Tag!" # Good Bye Thank you for your attention!
_extensions/myextension/_extension.yml
title: Custom Beamer author: Me Despicable quarto-required: ">=1.2.0" version: 1.0.0 contributes: formats: pdf: default beamer: aspectratio: 169 background-image: gray-background.png include-in-header: - file: preamble-beamer.tex
_extensions/myextension/preamble-beamer.tex
% Page numbering \setbeamertemplate{footline}{% \leavevmode% \hbox{% \begin{beamercolorbox}[wd=\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}% \usebeamerfont{author in head/foot}% \insertframenumber{} / \inserttotalframenumber\hspace*{2ex} \end{beamercolorbox}% }% \vskip0pt% }
_extensions/myextension/gray-background.png

问题效果演示:
解决办法
这问题是因为Beamer默认的背景图只覆盖幻灯片的主体区域,顶部导航栏和底部页脚是独立的模板块,自带空白背景,会盖在你设置的背景图上面。要让背景图铺满整个页面,得改LaTeX前置代码,让背景图撑满整个幻灯片,同时把导航栏和页脚的背景设成透明。
具体操作:
- 更新
preamble-beamer.tex,替换成下面的代码:
% 让背景图铺满整个幻灯片 \usebackgroundtemplate{% \includegraphics[width=\paperwidth,height=\paperheight]{gray-background.png}% } % 把顶部导航栏的背景设为透明 \setbeamercolor{headline}{bg=} % 修改页脚模板,同时把页脚背景设透明 \setbeamertemplate{footline}{% \leavevmode% \hbox{% \begin{beamercolorbox}[wd=\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}% \usebeamerfont{author in head/foot}% % 这里把页码改成白色,确保在灰色背景上能看清,可根据你的背景图调整颜色 \color{white}\insertframenumber{} / \inserttotalframenumber\hspace*{2ex} \end{beamercolorbox}% }% \vskip0pt% } % 设置页脚区域背景透明 \setbeamercolor{author in head/foot}{bg=}
- 删掉
_extension.yml里的background-image配置,因为我们已经在LaTeX代码里直接设置全局背景图了:
title: Custom Beamer author: Me Despicable quarto-required: ">=1.2.0" version: 1.0.0 contributes: formats: pdf: default beamer: aspectratio: 169 include-in-header: - file: preamble-beamer.tex
这么改之后,背景图就能铺满整个幻灯片,包括顶部和底部的区域,同时页码也能正常显示。
内容的提问来源于stack exchange,提问作者Miguel Alvarez
相关产品推荐
相关产品推荐

