In a typical beamer document I can set various options like \author or \title:
main.tex
\documentclass{beamer}
\author{George Orwell}
\title{Animal Farm}
\date{\today}
\institute[TUD]
%\def\talklocation{Berlin}
\usetheme{tudrobert}
\begin{document}
\begin{frame}
\titlepage
\end{frame}
\end{document}
which can then be used in the template definitions:
beamerthemetudrobert.tex
\mode<presentation>
\usepackage{graphicx}
\usepackage[absolute,overlay]{textpos}
\usepackage{calc}
\usepackage{fontspec}
\useinnertheme{tudrobert}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{blocks}[rounded][shadow=true]
\mode<all>
And finally the theme where I want to use the command:
beamerinnerthemetudrobert.tex
\mode<presentation>
\defbeamertemplate*{title page}{tudrobert}{%
\usebeamerfont*{title}
\MakeUppercase{\inserttitle}\par
\vfill
{\scriptsize\insertauthor}
\vfill
\vfill
%\talklocation, \insertdate
}
\mode<all>
The proposed use of
\def\talklocation{Berlin}
and
\talklocation
Throws the errors

The same applies for
\newcommand{\talklocation}{Berlin}
What is the appropriate way to add additional properties/strings to pass to the themes?