Wie übergebe ich Text/Zeichenfolgen aus der Hauptdatei über Beameroptions an das Beamerthema oder gibt es eine alternative Möglichkeit?

Wie übergebe ich Text/Zeichenfolgen aus der Hauptdatei über Beameroptions an das Beamerthema oder gibt es eine alternative Möglichkeit?

InDasUnddiese FrageIch habe gelernt, wie man einfache Definitionen übergibt, wieStandortvon meiner Hauptdatei zu einer zBbeamerroutertheme.

Dieser Ansatz schlägt jedoch bei längeren Zeichenfolgen oder Textblöcken fehl. In diesem Beispiel

"Hallo Welt!"


main.tex

\documentclass{beamer}

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

\usetheme[myText=Hello World!]{tudrobert}

\begin{document}

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

\end{document}

die dann in den Vorlagendefinitionen verwendet werden können:

beamerthemetudrobert.tex

\mode<presentation>

\DeclareOptionBeamer{myText}{\PassOptionsToPackage{myText=#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>

Und zum Schluss das Thema, wo ich den Text einfügen möchte:

beamerinnerthemetudrobert.tex

\mode<presentation>

\DeclareOptionBeamer{myText}{\def\beamer@tudrobert@myText{#1}}    
\ProcessOptionsBeamer

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

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

}

\mode<all>

Wie Sie sehen, wird der Text nicht richtig analysiert.

Bildbeschreibung hier eingeben

Was ist die geeignete Methode, um in der Hauptdatei definierten Text an Beamer-Themen zu übergeben?

Antwort1

Die folgende Antwort basiert aufhttps://tex.stackexchange.com/a/58512/36296und die Autorendefinition in latex.ltx

main.tex

\documentclass{beamer}

\usetheme[myText=Hello World!]{tudrobert}

\author{George Orwell}
\title{Animal Farm}
\date{\today}
\institute[TUD]
\def\uni{Hello World!}

\begin{document}

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

\end{document}

beamerthemetudrobert.tex

\mode<presentation>

\DeclareOptionBeamer{myText}{\PassOptionsToPackage{myText=#1}{beamerinnerthemetudrobert}}
\ProcessOptionsBeamer

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

\def\uni#1{\gdef\@uni{#1}}
\def\@uni{\@latex@warning@no@line{No \noexpand\uni given}}

\useinnertheme{tudrobert}

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

\mode<all>

beamerinnerthemetudrobert.tex

\mode<presentation>

\DeclareOptionBeamer{myText}{\def\beamer@tudrobert@myText{#1}}    
\ProcessOptionsBeamer

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

    \usebeamerfont*{title}
    \MakeUppercase{\inserttitle}\par
    \vfill
    {\scriptsize\insertauthor}
    \vfill
    \beamer@tudrobert@myText
    \vfill
    \insertdate
    \vfill
    \@uni

}

\mode<all>

Bildbeschreibung hier eingeben

verwandte Informationen