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