我想使用 tikz 在 beamer 中为标题框和普通框绘制不同的背景。对普通框执行此操作很简单,但现在该背景也显示在标题框上(移至底部),这是不希望的:
\documentclass{beamer}
\useoutertheme[subsection=true]{miniframes}%{miniframes}
\defbeamertemplate*{background}{miniframes theme}
{%
\begin{beamercolorbox}{background}
\begin{tikzpicture}
\fill[red] (current page.north west) rectangle ++(0.5cm,-0.5cm);
\end{tikzpicture}
\end{beamercolorbox}
}
\usepackage{tikz}
\usetikzlibrary{calc,positioning}
\usepackage{blindtext}
\title{new template}
\author{Christoph}
\setbeamertemplate{title page}{
\insertauthor
\insertdate
\insertinstitute
\inserttitlegraphic
}
\setbeamertemplate{navigation symbols}{}
\begin{document}
\frame[plain]{\titlepage}
\section{a section}
\subsection{a subsection}
\begin{frame}
\frametitle{Frame 1}
\blindtext
\end{frame}
\begin{frame}
\frametitle{Frame 2}
\end{frame}
\subsection{another subsection}
\begin{frame}
\frametitle{Frame 1}
\blindtext
\end{frame}
\begin{frame}
\frametitle{Frame 2}
\end{frame}
\end{document}
(为了简单起见,我的例子仅使用红色矩形)
我尝试将 tikzpicture 添加到标题模板,结果导航发生偏移(没有tikzpicture[overlay]
),或者图片根本不显示(有tikzpicture[overlay]
)。如果可以使用标题模板解决这个问题,我会使用它。
添加到框架中的文本不应被背景图片覆盖。
答案1
我使用了一个命令来存储将在非标题页中使用的图像。在标题页之前,我在本地重新定义了命令以使用标题页的图像:
\documentclass{beamer}
\useoutertheme[subsection=true]{miniframes}%{miniframes}
\usepackage{tikz}
\usetikzlibrary{calc,positioning}
\usepackage{blindtext}
% The command will contain the image used in most of the frames
\newcommand\MyBgImage{%
\begin{tikzpicture}
\fill[red] (current page.north west) rectangle ++(0.5cm,-0.5cm);
\end{tikzpicture}
}
\defbeamertemplate*{background}{miniframes theme}
{%
\begin{beamercolorbox}{background}
\MyBgImage
\end{beamercolorbox}
}
\title{new template}
\author{Christoph}
\setbeamertemplate{title page}{
\insertauthor
\insertdate
\insertinstitute
\inserttitlegraphic
}
\setbeamertemplate{navigation symbols}{}
\begin{document}
% local redefinition of the image. To be used in the titlepage
\begingroup
\renewcommand\MyBgImage{%
\vskip-1cm% adjust according to the image
\begin{tikzpicture}
\fill[green] (current page.north west) circle[radius=0.5cm];
\end{tikzpicture}%
}
\frame[plain]{\titlepage}
\endgroup
\section{a section}
\subsection{a subsection}
\begin{frame}
\frametitle{Frame 1}
\blindtext
\end{frame}
\begin{frame}
\frametitle{Frame 2}
\end{frame}
\subsection{another subsection}
\begin{frame}
\frametitle{Frame 1}
\blindtext
\end{frame}
\begin{frame}
\frametitle{Frame 2}
\end{frame}
\end{document}