Beamer:如何去除给定框架上标题下的阴影?

Beamer:如何去除给定框架上标题下的阴影?

在某个特定框架中,我想删除我使用的主题在标题下插入的阴影。原因是黑色背景(我使用仅有的在这个框架上,它看起来相当丑陋。

你知道我该怎么做吗?我已经成功地在块环境下移除了阴影,这要归功于:

\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}

在此处输入图片描述

相关内容