From the comments, it is clear that I misunderstood the desired aim. I'll leave the original answer here but also move the solution from the comments to here.
If a beamer object has an assigned (beamer) colour and you wish to make that colour "whatever the surrounding text has" then the best way to achieve this is to make that assigned beamer colour empty (my guess is that this is the same for fonts, but I haven't tested that). Then when beamer tries to use that (beamer) colour, nothing happens (including no complaints). In this case, the beamer colours assigned to bibliographic entries are bibliography entry author
and title
, location
, and note
. So to blank them all, do:
\setbeamercolor{bibliography entry author}{fg=,bg=}
\setbeamercolor{bibliography entry title}{fg=,bg=}
\setbeamercolor{bibliography entry location}{fg=,bg=}
\setbeamercolor{bibliography entry note}{fg=,bg=}
(I hope I got them all.) The bibliographic entry will then be typeset in the same colour as the surrounding text, whatever colour that happens to be.
Original Answer
The problem is that beamer colours are not quite colours but more advanced objects. So when a command is expecting a colour, you can't give it a beamer colour: it won't know how to handle it. To get the colours from a beamer colour, you use <colour name>.fg
or <colour name>.bg
. So you could write your definition command as:
\setbeamercolor{bibliography entry author}{fg=local structure.fg,bg=local structure.bg}
except that that doesn't work! This complains because local structure
is an even more complicated object and, at that point, has no colours defined. One option is to use the parent
syntax:
\setbeamercolor{bibliography entry author}{parent=local structure}
This compiles, but doesn't provide the right colours. That's because beamer is lazy and when a beamer colour is changed, its actual colours are not necessarily updated straight away. So it is entirely possible that when bibliography entry author
is computed, the colours in local structure
are still the old ones.
Fortunately, the beamer authors thought of this. This is where the use
key comes in. This ensures that the specified colours are up to date before the new colour is computed.
So to get complete inheritance, the following works:
\setbeamercolor{bibliography entry author}{use=local structure, fg=local structure.fg,bg=local structure.bg}
(Assuming, that is, that I've understood what the desired outcome should be!)
\begin{filecontents}{test.bib}
@ARTICLE{Test,
author = {Any Author},
title = {A title},
journal = {Random Journal},
year = {1989},
volume = {23},
pages = {13-23}
}
\end{filecontents}
\documentclass{beamer}
\usepackage[]{biblatex}
\bibliography{test}
\begin{document}
\begin{frame}
\begin{itemize}
\item default color:\\
\fullcite{Test}\\
\item default color alerted:\\
\alert{\fullcite{Test}}\\
\end{itemize}
\setbeamercolor{bibliography entry author}{use=local structure, fg=local structure.fg,bg=local structure.bg}
Set color for author entry to "local structure"\\
\begin{itemize}
\item local structure:\\
\fullcite{Test}\\
\item local structure alerted:\\
\alert{\fullcite{Test}}
\end{itemize}
\end{frame}
\end{document}
Result:
![alerted bibliography entry](https://i.stack.imgur.com/RWdef.png)
Try \paperheight
\documentclass{beamer}
\usepackage{calc}
\setbeamersize{sidebar width left=12pt}
\setbeamercolor*{footline}{fg=red,bg=green}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{%
\begin{beamercolorbox}[sep=2pt]{footline}%
~\hfill \insertframenumber\hspace{10pt}\vspace{1ex}%
\end{beamercolorbox}}
%
\newlength\mytep
\setlength\mytep{\paperheight-10.7pt}
\setbeamertemplate{sidebar left}{%
\begin{beamercolorbox}[ht=\mytep, wd=10pt, dp=0pt]{footline}%
\end{beamercolorbox}
%
}
\begin{document}
\begin{frame}
\frametitle{Der Titel}
Mein Text
\end{frame}
\end{document}
To avoid any overfull vertical boxes one should calculate the width of all elements and subtract this form the height of the sidebar. In this example i have added a manual adjustment since an automatic version would need a real life example. (Another possibility is to use the sidebar
theme.)
You also may find the sidebar section in the beameruserguide intressting.
If one does not want to care about heights and errors, one could use the sidebar canvas left
template. (This does not clip but will raise so errors. see beameruserguide)
\documentclass{beamer}
\setbeamersize{sidebar width left=12pt}
\setbeamercolor*{footline}{fg=red,bg=green}
\setbeamertemplate{footline}{%
\begin{beamercolorbox}[sep=2pt]{footline}%
~\hfill \insertframenumber\hspace{10pt}\vspace{1ex}%
\end{beamercolorbox}}
\setbeamertemplate{sidebar left}{%
%
}
\setbeamertemplate{sidebar canvas left}{\color{red}\rule{12pt}{\paperheight}}
\begin{document}
\begin{frame}
\frametitle{Der Titel}
Mein Text
\end{frame}
\end{document}
Best Answer
There's no easy way.
You can find the code for the themes in
/.../tex/latex/beamer/themes/theme/
(/usr/local/texlive/2012/texmf-dist/tex/latex/beamer/themes/theme/
)\setbeamertemplate{navigation symbols}{}
is in the manual (page 72),\beamertemplatenavigationsymbolsempty
is probably old code that is not documented anymore.Or try the cheat sheet described in Custom headline in LaTeX Beamer?
As a last resort, you can look through the
beamer.cls
and its various.sty
files.