You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
156 lines
5.9 KiB
156 lines
5.9 KiB
% Beamer Color Theme using the Solarized Palette, |
|
% http://ethanschoonover.com/solarized. |
|
% |
|
% Copyright 2012 Jeffrey B. Arnold |
|
% |
|
% This program is free software: you can redistribute it and/or modify |
|
% it under the terms of the GNU General Public License as published by |
|
% the Free Software Foundation, either version 3 of the License, or |
|
% (at your option) any later version. |
|
% |
|
% This program is distributed in the hope that it will be useful, |
|
% but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
% GNU General Public License for more details. |
|
% |
|
% You should have received a copy of the GNU General Public License |
|
% along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
|
|
\ProvidesPackage{beamercolorthemesolarized} |
|
\RequirePackage{etoolbox} |
|
\RequirePackage{kvoptions} |
|
|
|
%% This is ugly. First time using options and conditionals in LaTeX |
|
\SetupKeyvalOptions{ |
|
family=solarized, |
|
prefix=solarized@, |
|
} |
|
\DeclareBoolOption[false]{dark} |
|
\DeclareComplementaryOption{light}{dark} |
|
\DeclareStringOption[]{accent}[yellow] |
|
\ProcessKeyvalOptions* |
|
|
|
% Solarized palette |
|
\definecolor{solarized@base03}{HTML}{002B36} |
|
\definecolor{solarized@base02}{HTML}{073642} |
|
\definecolor{solarized@base01}{HTML}{586e75} |
|
\definecolor{solarized@base00}{HTML}{657b83} |
|
\definecolor{solarized@base0}{HTML}{839496} |
|
\definecolor{solarized@base1}{HTML}{93a1a1} |
|
\definecolor{solarized@base2}{HTML}{EEE8D5} |
|
\definecolor{solarized@base3}{HTML}{FDF6E3} |
|
\definecolor{solarized@yellow}{HTML}{B58900} |
|
\definecolor{solarized@orange}{HTML}{CB4B16} |
|
\definecolor{solarized@red}{HTML}{DC322F} |
|
\definecolor{solarized@magenta}{HTML}{D33682} |
|
\definecolor{solarized@violet}{HTML}{6C71C4} |
|
\definecolor{solarized@blue}{HTML}{268BD2} |
|
\definecolor{solarized@cyan}{HTML}{2AA198} |
|
\definecolor{solarized@green}{HTML}{859900} |
|
|
|
% Set Accent color |
|
% Ugly. Should be done with a switch |
|
\ifdefstring{\solarized@accent}{yellow}{ |
|
\colorlet{solarized@accent}{solarized@yellow} |
|
}{} |
|
\ifdefstring{\solarized@accent}{orange}{ |
|
\colorlet{solarized@accent}{solarized@orange} |
|
}{} |
|
\ifdefstring{\solarized@accent}{red}{ |
|
\colorlet{solarized@accent}{solarized@red} |
|
}{} |
|
\ifdefstring{\solarized@accent}{magenta}{ |
|
\colorlet{solarized@accent}{solarized@magenta} |
|
}{} |
|
\ifdefstring{\solarized@accent}{violet}{ |
|
\colorlet{solarized@accent}{solarized@violet} |
|
}{} |
|
\ifdefstring{\solarized@accent}{blue}{ |
|
\colorlet{solarized@accent}{solarized@blue} |
|
}{} |
|
\ifdefstring{\solarized@accent}{cyan}{ |
|
\colorlet{solarized@accent}{solarized@cyan} |
|
}{} |
|
\ifdefstring{\solarized@accent}{green}{ |
|
\colorlet{solarized@accent}{solarized@green} |
|
}{} |
|
|
|
%% Set base colors for dark or light versions |
|
%% Dark |
|
% Switch between light and dark themes using the method in the CSS |
|
% stylesheet http://ethanschoonover.com/solarized |
|
\ifboolexpe{ bool {solarized@dark}}{ |
|
\colorlet{solarized@rebase03}{solarized@base03} |
|
\colorlet{solarized@rebase02}{solarized@base02} |
|
\colorlet{solarized@rebase01}{solarized@base01} |
|
\colorlet{solarized@rebase00}{solarized@base00} |
|
\colorlet{solarized@rebase0}{solarized@base0} |
|
\colorlet{solarized@rebase1}{solarized@base1} |
|
\colorlet{solarized@rebase2}{solarized@base2} |
|
\colorlet{solarized@rebase3}{solarized@base3} |
|
}{ |
|
%% Light |
|
\colorlet{solarized@rebase03}{solarized@base3} |
|
\colorlet{solarized@rebase02}{solarized@base2} |
|
\colorlet{solarized@rebase01}{solarized@base1} |
|
\colorlet{solarized@rebase00}{solarized@base0} |
|
\colorlet{solarized@rebase0}{solarized@base00} |
|
\colorlet{solarized@rebase1}{solarized@base01} |
|
\colorlet{solarized@rebase2}{solarized@base02} |
|
\colorlet{solarized@rebase3}{solarized@base03} |
|
} |
|
|
|
\mode<presentation> |
|
|
|
\setbeamercolor{normal text}{fg=solarized@rebase0, bg=solarized@rebase03} |
|
\setbeamercolor{alerted text}{fg=solarized@accent} |
|
% based css pre element |
|
\setbeamercolor{example text}{fg=solarized@rebase1, bg=solarized@rebase02} |
|
|
|
% Header and footer from CSS |
|
\setbeamercolor{footline}{bg=solarized@rebase02,fg=solarized@rebase01} |
|
\setbeamercolor{headline}{bg=solarized@rebase01,fg=solarized@rebase1} |
|
|
|
% Titles |
|
\setbeamercolor*{titlelike}{fg=solarized@accent} |
|
\setbeamercolor*{frametitle}{fg=solarized@accent} |
|
\setbeamercolor*{title}{fg=solarized@accent} |
|
|
|
% Structure elements use css style for header |
|
\setbeamercolor*{structure}{bg=solarized@rebase01, fg=solarized@rebase1} |
|
|
|
% Do not mess with subtle colors in palette. I don't like it. |
|
\setbeamercolor*{palette primary}{bg=solarized@rebase01, fg=solarized@rebase1} |
|
\setbeamercolor*{palette secondary}{parentbg=solarized@rebase01, fg=solarized@rebase1} |
|
\setbeamercolor*{palette tertiary}{bg=solarized@rebase01, fg=solarized@rebase1} |
|
\setbeamercolor*{palette quaternary}{bg=solarized@rebase01, fg=solarized@rebase1} |
|
|
|
% Make Blocks slightly lighter/darker |
|
\setbeamercolor{block title}{fg=solarized@accent, bg=solarized@rebase02} |
|
%\setbeamercolor{block title alerted}{} |
|
%\setbeamercolor{block title example}{} |
|
|
|
\setbeamercolor{block body}{parent=normal text, bg=solarized@rebase02} |
|
% \setbeamercolor{block body alerted}{} |
|
% \setbeamercolor{block body example}{} |
|
|
|
% same as footline |
|
% Set Sidebar and footline to use the css style for footer |
|
\setbeamercolor*{sidebar}{parent=headline} |
|
\setbeamercolor*{palette sidebar primary}{fg=solarized@rebase01, fg=solarized@rebase1} |
|
\setbeamercolor*{palette sidebar secondary}{fg=solarized@rebase01, fg=solarized@rebase1} |
|
\setbeamercolor*{palette sidebar tertiary}{fg=solarized@rebase01, fg=solarized@rebase1} |
|
\setbeamercolor*{palette sidebar quaternary}{fg=solarized@rebase01, fg=solarized@rebase1} |
|
|
|
% border-color for headings |
|
\setbeamercolor{separation line}{fg=solarized@rebase0} |
|
\setbeamercolor{fine separation line}{fg=solarized@rebase0} |
|
|
|
\setbeamercolor*{section in sidebar shaded}{parent=palette sidebar primary} |
|
% a.hover.navlink in CSS |
|
\setbeamercolor*{section in sidebar}{parent=palette sidebar primary, fg=solarized@rebase02} |
|
\setbeamercolor*{subsection in sidebar}{parent=section in sidebar} |
|
\setbeamercolor*{subsection in sidebar shaded}{parent=section in sidebar shaded} |
|
|
|
\mode |
|
<all>
|
|
|