我想创建一个自定义 LaTeXbeamer
主题,就像下面这个快照中的那样,这是我从一个演示文稿中截取的,但我没有它的源代码。不过,我想自己重现这些结果,从而学习如何更好地自定义 LaTeX beamer
。
在此示例中,“简介”是第一部分,“问题”是子部分。黑色标题背景淡入灰色画布(或者说是阴影?)。
如果您能提供正确的代码就太好了。我自己尝试了几个小时,但除了调整背景画布颜色之外,没有取得任何进展。
答案1
您可以重新定义headline
、footline
和frametitle
模板;类似这样的内容:
\documentclass{beamer}
\definecolor{secinhead}{RGB}{249,196,95}
\definecolor{titlebg}{RGB}{51,51,51}
\setbeamercolor{secsubsec}{fg=secinhead,bg=black}
\setbeamercolor{frametitle}{fg=secinhead,bg=titlebg}
\setbeamertemplate{headline}
{
\leavevmode%
\hbox{%
\begin{beamercolorbox}[wd=\paperwidth,ht=8.25ex,dp=3.5ex]{secsubsec}%
\raggedright
\hspace*{2em}%
{\sffamily\Large\color{secinhead}\thesection.~\insertsection\hfill\insertsubsection}%
\hspace*{2em}%
\end{beamercolorbox}%
}%
}
\setbeamertemplate{frametitle}
{\vskip-3pt
\leavevmode
\hbox{%
\begin{beamercolorbox}[wd=\paperwidth,ht=1.8ex,dp=1ex]{frametitle}%
\raggedright\hspace*{2em}\small\insertframetitle
\end{beamercolorbox}
}%
}
\setbeamertemplate{footline}{}
\begin{document}
\section{Introduction}
\subsection{The questions}
\begin{frame}\frametitle{A test frame}Test\end{frame}
\subsection{Another questions}
\begin{frame}\frametitle{Another test frame}Test\end{frame}
\end{document}
但请注意,可能您还需要重新定义一些其他模板以保持一致性;例如,使用哪种颜色/字体来显示框架标题?枚举列表使用哪种颜色?
另一种选择是,这次必须为 frametitle 赋予另一个定义:
\documentclass{beamer}
\definecolor{secinhead}{RGB}{249,196,95}
\definecolor{shadowbg}{RGB}{51,51,51}
\setbeamercolor{secsubsec}{fg=secinhead,bg=black}
\setbeamercolor{shadow}{fg=secinhead,bg=shadowbg}
\setbeamertemplate{headline}
{
\leavevmode%
\hbox{%
\begin{beamercolorbox}[wd=\paperwidth,ht=8.25ex,dp=3.5ex]{secsubsec}%
\raggedright
\hspace*{2em}%
{\sffamily\Large\color{secinhead}\thesection.~\insertsection\hfill\insertsubsection}%
\hspace*{2em}%
\end{beamercolorbox}%
}\vskip0pt%
\hbox{%
\begin{beamercolorbox}[wd=\paperwidth,ht=1.8ex,dp=1ex]{shadow}%
\mbox{}
\end{beamercolorbox}
}%
}
\setbeamertemplate{frametitle}{}
\setbeamertemplate{footline}{}
\begin{document}
\section{Introduction}
\subsection{The questions}
\begin{frame}Test\end{frame}
\subsection{Another questions}
\begin{frame}Test\end{frame}
\end{document}
以下是生成第二条垂直“条”的垂直阴影颜色的代码:
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{shadings}
\definecolor{secinhead}{RGB}{249,196,95}
\definecolor{shadowbg}{RGB}{51,51,51}
\setbeamercolor{secsubsec}{fg=secinhead,bg=black}
\setbeamercolor{shadow}{fg=secinhead,bg=shadowbg}
\setbeamertemplate{headline}
{
\leavevmode%
\hbox{%
\begin{beamercolorbox}[wd=\paperwidth,ht=8.25ex,dp=3.5ex]{secsubsec}%
\raggedright
\hspace*{2em}%
{\sffamily\Large\color{secinhead}\thesection.~\insertsection\hfill\insertsubsection}%
\hspace*{2em}%
\end{beamercolorbox}%
}\vskip-1pt%
\hbox{%
\tikz\draw[draw=none,top color=black,bottom color=shadowbg!60] (0,0) rectangle (\paperwidth,0.5);
}%
}
\setbeamertemplate{frametitle}{}
\setbeamertemplate{footline}{}
\begin{document}
\section{Introduction}
\subsection{The questions}
\begin{frame}
Test
\end{frame}
\end{document}
最终框架的上半部分如下:
当然,您可以根据需要更改top color
、和的值(您甚至可以选择一个值)。bottom color
middle color
答案2
由于 Gonzalo Medina 给出了一个很好的从头开始定义模板的入门指南,因此这里是驯服现有主题解决方案。我还建议您仔细阅读现有的样式代码,主要是beamer
因为它非常结构化,并且是由包作者 Till Tantau 自己编写的,因此可以提供有关用法的直接信息。
首先请注意,主题存储在beamer
包文件下,可以通过更改来修改和使用只有最后一部分文件名。例如,您想要的标题看起来像是对外部主题的修改smoothbars
,因此我获取beamerouterthemesmoothbars.sty
并复制到演示文稿文件所在的文件夹。然后,我将其重命名为 beamerouterthememytheme.sty
并修改仅有的标题部分如下:
% Head
\defbeamertemplate*{headline}{smoothbars theme}
{%
\pgfuseshading{beamer@barshade}%
\ifbeamer@sb@subsection%
\vskip-9.75ex%
\else%
\vskip-7ex%
\fi%
\begin{beamercolorbox}[ht=8mm,dp=3.75ex,leftskip=3mm,rightskip=3mm]{section in head/foot}
{\Large \thesection~.\insertsection\hfill\insertsubsection}
\end{beamercolorbox}%
}%
这使得我能够在我的 beamer 演示代码中使用这个修改后的主题,如下所示:
\documentclass[hyperref={unicode}]{beamer}
\mode<presentation>
\useoutertheme{mytheme}
\definecolor{secinhead}{RGB}{249,196,95}
\definecolor{titlebg}{RGB}{51,51,51}
\setbeamercolor{frametitle}{fg=secinhead,bg=titlebg}
\setbeamercolor{section in head/foot}{fg=secinhead,bg=black}
\setbeamercolor{subsection in head/foot}{fg=secinhead,bg=black}
\title{P\"{O}ANG}
\author{Hawking of IKEA}
\begin{document}
%=================================================
\begin{frame}[plain]\titlepage
\end{frame}
%=====================================================
\section{Introduction}
\begin{frame}{Outline}
\tableofcontents
\end{frame}
%=====================================================
\subsection{Questions}
\begin{frame}{Why?}
\begin{itemize}
\item When?
\item Really?
\end{itemize}
\end{frame}
\subsection{Answers}
\begin{frame}{Big bang}
\begin{itemize}
\item Long ago
\item Yes
\end{itemize}
\end{frame}
\end{document}
所有颜色均由 Gonzalo 制作。输出如下:
请注意,我在这里犯了一些错误。首先,修改后的模板仍然有残留smoothbars
。其余的是无关紧要的样式错误,例如,标题有点太高,部分编号点放错了位置等。如果我保留这些错误,希望不会冒犯您。您可以继续并以类似的方式修改其余模板inner
,例如。color
抱歉,内容太愚蠢了,我只是写了我周围看到的一切。