![Beamer:如何去除给定框架上标题下的阴影?](https://linux22.com/image/232200/Beamer%EF%BC%9A%E5%A6%82%E4%BD%95%E5%8E%BB%E9%99%A4%E7%BB%99%E5%AE%9A%E6%A1%86%E6%9E%B6%E4%B8%8A%E6%A0%87%E9%A2%98%E4%B8%8B%E7%9A%84%E9%98%B4%E5%BD%B1%EF%BC%9F.png)
在某个特定框架中,我想删除我使用的主题在标题下插入的阴影。原因是黑色背景(我使用仅有的在这个框架上,它看起来相当丑陋。
你知道我该怎么做吗?我已经成功地在块环境下移除了阴影,这要归功于:
\setbeamertemplate{blocks}[rounded]% [shadow=false]
但是我找不到 \titleframe 的类似的东西(除了只能放在序言中的那个 - 对我来说这没有帮助)。
非常感谢您的帮助。
答案1
我进行了一些挖掘,并弄清楚了如何去做。
标题页在 Beamer 模板中定义title page
。幸运的是,此模板接受一个参数,该参数传递给beamercolorbox
用于标题/作者/机构/日期的。在 中beamerinnerthemerounded.sty
,此模板的参数默认设置为:
\setbeamertemplate{title page}[default][colsep=-4bp,rounded=true,shadow=\beamer@themerounded@shadow]
我们要做的就是重置参数以消除阴影。为此,只需调用:
\setbeamertemplate{title page}[default][colsep=-4bp,rounded=true]
在调用 之前\titlepage
。这样就可以了。
答案2
好的,这个方法有效:
1° 将要修改主题的框架的所有信息放在开括号和闭括号之间。在那里进行任何想要的修改(背景颜色等)。
2° 重新定义 frametitle 模板(我使用法兰克福主题,所以原始定义来自 smoothbars 主题,请参阅 beamerthemeFrankfurt.sty 文件)。
为此,我将 frametitle 模板的原始定义直接复制粘贴到我需要更改的 .tex 文件中,并删除了包含阴影的部分:
%%%Copy-paste from /usr/share/texmf/tex/latex/beamer/themes/outer/beamerouterthemesmoothbars.sty:
\setbeamertemplate{frametitle}{
\nointerlineskip%
\usebeamerfont{headline}%
\begin{beamercolorbox}[wd=\paperwidth,ht=1.5ex,dp=0ex,vmode]{empty}
\pgfuseshading{beamer@aboveframetitle}%
\end{beamercolorbox}%
\vskip-.5ex%
\nointerlineskip%
\begin{beamercolorbox}[wd=\paperwidth,leftskip=.3cm,rightskip=.3cm plus1fil,vmode]{frametitle}
\usebeamerfont*{frametitle}\insertframetitle%
\ifx\insertframesubtitle\@empty%
\strut\par%
\else
\par{\usebeamerfont*{framesubtitle}{\usebeamercolor[fg]{framesubtitle}\insertframesubtitle}\strut\par}%
\fi%%
\usebeamerfont{headline}%
%%%%\vskip.5ex %REMOVE THIS SPACE, WHICH IS DEDICATED TO SHADING, DEFINED BELOW (OPTIONAL)
\end{beamercolorbox}%
\nointerlineskip
%%%% SHADING DEF:
%%%% \begin{beamercolorbox}[wd=\paperwidth,ht=.5ex,dp=0ex]{empty}
%%%% \pgfuseshading{beamer@belowframetitle}%
%%%%\end{beamercolorbox}%
}
这可能不是实现这一目标的最佳方法,但结果正是我需要的。
为了改进它,应该参考 ESultanik 的回答,将“titlepage”替换为“frametitle”。(它对 titlepage 有效)。
\setbeamertemplate{frametitle}[default][colsep=-4bp,rounded=false,shadow=false]
做了一些与需要的事情类似的事情,但它看起来与没有阴影的法兰克福主题非常不同。没有直接的方法将更改/选项应用于
\setbeamertemplate{frametitle}[Frankfurt]
因为它不接受任何内容。另一种方法是从默认主题开始,费力地应用主题所做的每项修改(很痛苦,上面的解决方案看起来更容易)。
注意:
ESultanik,你混淆了框架标题和标题页。不过,你的回答让我找到了一个可行的解决方案(尽管可能不是最好的)。
vanden:这是真的,但是我使用了临时帐户,所以在清除 cookie 之后,我无法添加评论,甚至无法针对我自己的问题添加评论。
答案3
一种选择是使用此补丁到 Beamer对所有阴影使用“真实”透明度。在具有黑色背景的页面上,透明阴影会消失。
编辑:如果我没记错的话,要使用该补丁,您只需beamerbaseboxes.sty
从该链接下载并将其放在与您的文件相同的目录中.tex
。就是这样!
答案4
另一种可能性是将 beamer 版本 3.51(确切地说是这个版本,不是新版本,也不是旧版本)与 pdflatex 一起使用。这是唯一一个不存在阴影问题的版本。它的优点是它也适用于背景图像等。
\documentclass{beamer}
\usetheme{Warsaw}
\setbeamertemplate{background canvas}{\includegraphics[width=\paperwidth]{example-image-duck}}
\begin{document}
\begin{frame}
\titlepage
\end{frame}
\end{document}