我是 Beamer 的新用户。以下代码仅用于解释我打算做什么:在“sectionpage”上放置一个具有透明度的图片框架,透明度级别是 sectionnumber 的函数。在下面的示例中,我希望透明度级别(而不是 0.4)等于当前节号的 0.125 倍。(第一节为 0.125,第二节为 0.25,依此类推)。
\documentclass{beamer}
\usepackage{default}
\usepackage{graphicx}
\usetheme[hideothersubsections]{Goettingen}
\definecolor{fondtitre}{rgb}{0.83,0.03,0.03} % dark red
\setbeamertemplate{background canvas}[vertical shading]%
[top=fondtitre!05,bottom=fondtitre!60]
\setbeamercovered{dynamic}
\usepackage{transparent}
\usepackage{calc}
\newcounter{totototo}
\AtBeginSection[] %
{
\begin{frame}
\vfill
\centering
\begin{beamercolorbox}[sep=8pt,center,shadow=true,rounded=true]{title}
\usebeamerfont{title}\insertsectionhead\par%
Section \insertsectionnumber\par%
{\transparent{0.4}\includegraphics[height=2cm]{picture}}
{\transparent{\thetotototo}\includegraphics[height=2cm]{picture}}%
{\transparent{\thesection}\includegraphics[height=2cm]{picture}}
\end{beamercolorbox}
\vfill
\end{frame}
\stepcounter{totototo}
}
\begin{document}
\section{Firstsection}
\begin{frame}{}
\end{frame}
\section{Secondsection}
\begin{frame}{}
\end{frame}
\section{Thirdsection}
\begin{frame}{}
\end{frame}
\end{document}
a)这需要将计数器与实数相乘。
b) 如果透明度值的范围是 0-100,则可能可以使用另一个设置为 的计数器12.5*\thesection
。截断误差微不足道。由于范围是 0-1,我们不能使用计数器来存储值。totototo 测试表明,当计数器值为 0 时,图像完全透明,当计数器值为上限时,图像完全可见。
c)是否可以通过修改模板( \defbeamertemplate*{section page}{default}[1][] )
并\frame{\sectionpage}
在其中执行)来实现AtBegin...
?
有啥帮助吗?谢谢
答案1
你也可以transparent
使用TiKZ
不透明度。以下完整示例展示了如何使用它,假设每幅图像都会显示不同的不透明度。
\documentclass{beamer}
%\usepackage{default}
\usepackage{graphicx}
\usetheme[hideothersubsections]{Goettingen}
\definecolor{fondtitre}{rgb}{0.83,0.03,0.03} % dark red
\setbeamertemplate{background canvas}[vertical shading]%
[top=fondtitre!05,bottom=fondtitre!60]
\setbeamercovered{dynamic}
\usepackage{tikz}
\usetikzlibrary{positioning}
\newcounter{totototo}
\setcounter{totototo}{1}
\AtBeginSection[] %
{
\begin{frame}
\vfill
\centering
\begin{beamercolorbox}[sep=8pt,center,shadow=true,rounded=true]{title}
\usebeamerfont{title}\insertsectionhead\par%
Section \insertsectionnumber\par%
{\begin{tikzpicture}
\node[inner sep=0pt, opacity=0.2*\thesection](a){\includegraphics[height=2cm]{example-image}};%
\node[inner sep=0pt, opacity=0.3*\thetotototo, right=0pt of a](b){\includegraphics[height=2cm]{example-image-a}};
\node[inner sep=0pt, opacity=0.25*\thesection, right=0pt of b](c){\includegraphics[height=2cm]{example-image-b}};
\end{tikzpicture}}
\end{beamercolorbox}
\vfill
\end{frame}
\stepcounter{totototo}
}
\begin{document}
\section{Firstsection}
\begin{frame}{}
\end{frame}
\section{Secondsection}
\begin{frame}{}
\end{frame}
\section{Thirdsection}
\begin{frame}{}
\end{frame}
\end{document}
如果所有三幅图像使用相同的不透明度,则代码可以简化为:
{\begin{tikzpicture}
\node[inner sep=0pt, opacity=0.2*\thesection]{\includegraphics[height=2cm]{example-image}\includegraphics[height=2cm]{example-image-a}\includegraphics[height=2cm]{example-image-b}};
\end{tikzpicture}}
并且positioning
不需要图书馆。