Wie definiere ich Befehle für zusätzliche Informationen in der Beamer-Hauptdatei zur Verwendung in Designs?

Wie definiere ich Befehle für zusätzliche Informationen in der Beamer-Hauptdatei zur Verwendung in Designs?

In einem typischen Beamer-Dokument kann ich verschiedene Optionen festlegen, wie \authoroder \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}

die dann in den Vorlagendefinitionen verwendet werden können:

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>

Und zum Schluss das Thema, bei dem ich den Befehl verwenden möchte:

beamerinnerthemetudrobert.tex

\mode<presentation>

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

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

}

\mode<all>

Die vorgeschlagene Verwendung von

\def\talklocation{Berlin}

Und

\talklocation

Wirft die Fehler

Bildbeschreibung hier eingeben

Das Gleiche gilt für

\newcommand{\talklocation}{Berlin}

Was ist die geeignete Methode zum Hinzufügen zusätzlicher Eigenschaften/Zeichenfolgen, die an die Designs übergeben werden sollen?

Antwort1

Wie von Jojo Boulix in den Kommentaren vorgeschlagenBeamer-Optionensind der richtige Weg.

Die drei Dateien könnten dann wie folgt aussehen:

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

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

verwandte Informationen