¿Cómo definir comandos para información adicional en el archivo principal del proyector para usar en temas?

¿Cómo definir comandos para información adicional en el archivo principal del proyector para usar en temas?

En un documento de proyector típico puedo configurar varias opciones como \authoro \title:

principal.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}

que luego se puede utilizar en las definiciones de la plantilla:

hazerthemetudrobert.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>

Y por último el tema donde quiero usar el comando:

beamerinnerthemetudrobert.tex

\mode<presentation>

\defbeamertemplate*{title page}{tudrobert}{%

    \usebeamerfont*{title}
    \MakeUppercase{\inserttitle}\par
    \vfill
    {\scriptsize\insertauthor}
    \vfill
    \vfill
    %\talklocation, \insertdate

}

\mode<all>

El uso propuesto de

\def\talklocation{Berlin}

y

\talklocation

arroja los errores

ingrese la descripción de la imagen aquí

Lo mismo se aplica para

\newcommand{\talklocation}{Berlin}

¿Cuál es la forma adecuada de agregar propiedades/cadenas adicionales para pasar a los temas?

Respuesta1

Como lo sugiere Jojo Boulix en los comentarios.opciones de proyectorson el camino a seguir.

Los tres archivos podrían verse así:

principal.tex

\documentclass{beamer}

\author{George Orwell}
\title{Animal Farm}
\date{\today}
\institute[TUD]

\usetheme[location=Berlin]{tudrobert}

\begin{document}

\begin{frame}
\titlepage
\end{frame}

\end{document}

hazerthemetudrobert.tex

\mode<presentation>

\DeclareOptionBeamer{location}{\PassOptionsToPackage{location=#1}{beamerinnerthemetudrobert}}
\DeclareOptionBeamer{conference}{\PassOptionsToPackage{conference=#1}{beamerinnerthemetudrobert}}
\ProcessOptionsBeamer

\usepackage{graphicx}
\usepackage[absolute,overlay]{textpos}
\usepackage{calc}

\usepackage{fontspec}
\useinnertheme{tudrobert}

\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{blocks}[rounded][shadow=true]  

\mode<all>

beamerinnerthemetudrobert.tex

\mode<presentation>

\DeclareOptionBeamer{location}{\def\beamer@tudrobert@location{#1}}    
\DeclareOptionBeamer{conference}{\def\beamer@tudrobert@conference{#1}}    
\ProcessOptionsBeamer

\defbeamertemplate*{title page}{tudrobert}{%

    \usebeamerfont*{title}
    \MakeUppercase{\inserttitle}\par
    \vfill
    {\scriptsize\insertauthor}
    \vfill
    \vfill
    \beamer@tudrobert@location, \insertdate
    \beamer@tudrobert@conference

}

\mode<all>

información relacionada