1

I like to customize beamer presentation so that selected bullet become blue and the rest of bullets green (just an example). Is it possible?

MWE: beamerthemesimple.sty

% Copyright 2015 by Facundo Muñoz
%
% This file may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
%


\ProvidesPackage{beamerthemesimple}

%\def\beamer@simplecolor{gris}
%\DeclareOptionBeamer{color}{\beamer@simplecolor=#1}
%\ExecuteOptionsBeamer{gris}
%\ProcessOptionsBeamer

\usepackage{tikz}
\usetikzlibrary{arrows,shapes,trees,positioning,fadings}

\input xkeyval

\newcommand<>{\includeoverlaygraphics}[2][]
{
  \begin{tikzpicture}
    \alt#3{\node[opacity=1] {\includegraphics[#1]{#2}};}
          {\node[opacity=.15] {\includegraphics[#1]{#2}};}
  \end{tikzpicture}
}

% These define macros \KV@setwatermark@hoffset that take one argument
% which is processed by the last piece of codes into braces
\def\@hos{}
\def\@vos{}
\def\@alpha{} % This one does not work. Why?
\define@key{setwatermark}{hoffset}[\def\@hos{.}]{\def\@hos{\hspace*{#1}}} 
\define@key{setwatermark}{voffset}[\def\@vos{.}]{\def\@vos{\vspace*{#1}}} 
\define@key{setwatermark}{alpha}[\def\@alpha{0.7}]{\def\@alpha{#1}} 

\def\setwatermark{\@ifnextchar[\@setwatermark{\@setwatermark[]}}
\def\@setwatermark[#1]#2{%
  \setkeys{setwatermark}{#1}%
  \def\@watermark{#2}
}
% \newcommand{\setwatermark}[1]{\def\@watermark{#1}}
\setwatermark{}   % Empty initialization


\mode<presentation>

  % http://www.colorcombos.com/color-scheme-275.html
  \definecolor{destacado}{HTML}{515151} % gris oscuro
  \definecolor{normal}{HTML}{797979}  % gris medio
  \definecolor{fondo}{HTML}{e6e6e6}  % gris claro

  \setbeamercolor{normal text}{bg=white,fg=normal}
  \setbeamercolor*{block title}{bg=fondo,fg=destacado}
  \setbeamercolor*{block body}{bg=fondo,fg=normal}
  \setbeamercolor{alerted text}{fg=black}

  \usetheme{default}
%  \usecolortheme[named=gris]{structure}
  \usecolortheme[named=destacado]{structure}
  \usefonttheme{structurebold}

  % overlays semitransparentes
  \setbeamercovered{transparent}

  % incluir el contador de diapos
  \setbeamertemplate{footline}[frame number]

  % eliminar íconos de nav.
  \setbeamertemplate{navigation symbols}{}

  % bloques
  \setbeamertemplate{blocks}[rounded][shadow=true]

  % especificación global para listas
  %\beamerdefaultoverlayspecification{<+-| alert@+>}

  % márgenes
  \setbeamersize{text margin left=0.4cm,text margin right=0.4cm}

  \setbeamertemplate{background}{
  \parbox[c][\paperheight]{\paperwidth}{%
    \vfill \hfill 
    \begin{tikzpicture}
      %\node[opacity=\@alpha]  % not working. why?
      \node[opacity=.07]
      {
        \@watermark
      };
    \end{tikzpicture}
    \@hos

    \@vos
  }
} 

\mode
<all>

demo.tex

\documentclass{beamer}

\usetheme{simple}
\useoutertheme{smoothbars}

\usepackage{lmodern}
\usepackage[scale=2]{ccicons}

\title{A simple beamer theme}
\subtitle{}
\date{\today}
\author{Facundo Mu\~noz}
\institute{\url{http://github.com/famuvie}}

\begin{document}

\maketitle

\section{test}
\subsection{test2}
\begin{frame}{simple}
  \framesubtitle{A beamer theme}

  \texttt{simple} is a minimalist Beamer theme that features

  \begin{columns}
    \column{.5\textwidth}
      \begin{itemize}
        \item a \alert{watermark} logo in the background
        \item slide \alert{numbers}
        \item \emph{emph}asized and \alert{alert}ed text
      \end{itemize}

    \column{.5\textwidth}
      \begin{block}{And of course...}
         blocks, columns, and all Beamer power
      \end{block}
  \end{columns}

\end{frame}
\end{document}

enter image description here

2
1

Changing the colour of the current mini frame is easy, just use

\setbeamercolor{mini frame}{fg=red}

To change the colour of the other miniframes independently is more tricky. Normally they use a mixture of the colour from the current mini frame with the background, i.e. \color{fg!#1!bg}. To change this colour, replace the fg with the colour of your choice:

\documentclass{beamer}

\useoutertheme{smoothbars}

\setbeamercolor{mini frame}{fg=red}

\makeatother
\setbeamertemplate{mini frame in other section}{\color{blue!50!bg}\usebeamertemplate{mini frame in current section}}
\setbeamertemplate{mini frame in other subsection}{\color{blue!50!bg}\usebeamertemplate{mini frame in current subsection}}
\makeatletter


\begin{document}
\begin{frame}
test
\end{frame}

\section{test}
\subsection{test2}
\begin{frame}{simple}
  \framesubtitle{A beamer theme}
\end{frame}

\subsection{test3}
\begin{frame}{simple}
  \framesubtitle{A beamer theme}
\end{frame}
\end{document}

enter image description here

2
  • Can you explain about the difference between your solution and using of option bg=green?
    – Woeitg
    Feb 19 '17 at 13:00
  • 1
    @Woeitg Yes. Normally the colour of the not highlited miniframes is a mixture between the bg and fg color \color{fg!#1!bg}, if you use blue and yellow, you would get green instead of the blue you want. Feb 19 '17 at 13:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.