创建自己的主题

创建自己的主题

我在演示文稿中使用了名为 myown.sty 的创建主题:

\useoutertheme[footline=authortitle]{miniframes}
\useinnertheme{rectangles}
\usecolortheme{whale}
\usecolortheme{orchid}


\definecolor{beamer@blendedblue}{rgb}{0.137,0.466,0.741}

\setbeamercolor{structure}{fg=beamer@blendedblue}
\setbeamercolor{titlelike}{parent=structure}
\setbeamercolor{frametitle}{fg=black}
\setbeamercolor{title}{fg=black} \setbeamercolor{item}{fg=black}

\setbeamertemplate{headline}
{%
  \begin{beamercolorbox}[colsep=1.5pt]{upper separation line head}
  \end{beamercolorbox}
  \begin{beamercolorbox}[ht=1.7ex,dp=1.125ex,%
      leftskip=.3cm,rightskip=.3cm plus1fil]{section in head/foot}
    \vskip2pt\insertsectionnavigationhorizontal{\paperwidth}{}{}
  \end{beamercolorbox}%
  \ifbeamer@theme@subsection%
    \begin{beamercolorbox}[colsep=1.5pt]{middle separation line head}
    \end{beamercolorbox}
    \begin{beamercolorbox}[ht=1.7ex,dp=1.125ex,%
      leftskip=.3cm,rightskip=.3cm plus1fil]{subsection in head/foot}
      \usebeamerfont{subsection in head/foot}\insertsubsectionhead
    \end{beamercolorbox}%
  \fi%
  \begin{beamercolorbox}[colsep=1.5pt]{lower separation line head}
  \end{beamercolorbox}
} \mode <all>

\makeatletter
\DeclareOptionBeamer{compress}{\beamer@compresstrue}
\ProcessOptionsBeamer

\mode<presentation>

% The footline template is a modification of the one used in the
% Torino theme, Copyright 2007 by Marco Barisione
\setbeamercolor*{lineup}{parent=palette primary}
\setbeamercolor*{linemid}{parent=palette secondary}
\setbeamercolor*{linebottom}{parent=palette tertiary}
\setbeamercolor*{page header}{parent=titlelike}
\mode <all>

% some lengths (the height of the lines)
\newlength{\beamer@decolines@linemid}
\setlength{\beamer@decolines@linemid}{.015\paperheight}

\newlength{\beamer@decolines@lineup}
\setlength{\beamer@decolines@lineup}{.025\paperheight}

\newlength{\beamer@decolines@linebottom}
\setlength{\beamer@decolines@linebottom}{.01\paperheight}


% String used between the current page and the total page count.
\def\beamer@decolines@pageofpages{/}

\defbeamertemplate*{footline}{decolines theme}
{
  \leavevmode%
  % First line.
  \hbox{%
  \begin{beamercolorbox}[wd=.8\paperwidth,ht=\beamer@decolines@lineup,dp=0pt]{lineup}%
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.2\paperwidth,ht=\beamer@decolines@lineup,dp=0pt,right]{}%
    \hbox{\usebeamerfont{palette primary}\footnotesize\insertframenumber{} \beamer@decolines@pageofpages{} \inserttotalframenumber\hspace*{2ex}}%
  \end{beamercolorbox}%
  } %
  % Second line.
  \hbox{%
  \begin{beamercolorbox}[wd=\paperwidth,ht=\beamer@decolines@linemid,dp=0pt]{linemid}%
  \end{beamercolorbox}%
  } %
  % Third line.
  \hbox{%
  \begin{beamercolorbox}[wd=.9\paperwidth,ht=\beamer@decolines@linebottom,dp=0pt]{linebottom}%
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.1\paperwidth,ht=\beamer@decolines@linebottom,dp=0pt]{}%
  \end{beamercolorbox}%
  }%
}
\makeatother

我在与演示文稿相同的目录中有这个 myown.sty 主题,但它不起作用,并且我收到回复“未找到 beamerthememyown.sty”。出了什么问题?

我的序言是

\documentclass{beamer}
\usepackage{BeamerColor}
\usepackage[english]{babel}

\mode<presentation> {
\usetheme{myown}
\usecolortheme[named=salmon]{structure}
\setbeamercovered{transparent} }

\setbeamercolor{lower separation line head}{bg=LightSteelBlue3}
\setbeamercolor{lineup}{bg=salmon}
\setbeamercolor{linemid}{bg=IndianRed2}
\setbeamercolor{linebottom}{bg=LightSteelBlue3}

答案1

我将此myown.sty主题与演示文稿放在同一目录中,但它不起作用,并且我收到beamerthememyown.sty未找到回复的消息。这是怎么回事?

有时,错误消息实际上有用 :-)

你的主题样式文件的文件名需要beamertheme前缀,格式为beamertheme<name>.sty,然后就可以用 加载了\usetheme{<name>}

Beamer 用户指南 (§15.1) 也涵盖了这一点:

\usetheme[⟨options⟩]{⟨name list⟩}

安装名为 的演示主题。目前,此命令的效果与对 中名为 each 的样式文件⟨name⟩执行 相同。\usepackagebeamertheme⟨name⟩.sty⟨name⟩⟨name list⟩

相关内容