![Como definir comandos para informações adicionais no arquivo principal do beamer para uso em temas?](https://rvso.com/image/309859/Como%20definir%20comandos%20para%20informa%C3%A7%C3%B5es%20adicionais%20no%20arquivo%20principal%20do%20beamer%20para%20uso%20em%20temas%3F.png)
Em um documento típico do beamer, posso definir várias opções como \author
ou \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 pode então ser usado nas definições do modelo:
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>
E por fim o tema onde quero usar o comando:
beamerinnerthemetudrobert.tex
\mode<presentation>
\defbeamertemplate*{title page}{tudrobert}{%
\usebeamerfont*{title}
\MakeUppercase{\inserttitle}\par
\vfill
{\scriptsize\insertauthor}
\vfill
\vfill
%\talklocation, \insertdate
}
\mode<all>
O uso proposto de
\def\talklocation{Berlin}
e
\talklocation
Lança os erros
O mesmo se aplica
\newcommand{\talklocation}{Berlin}
Qual é a maneira apropriada de adicionar propriedades/strings adicionais para passar para os temas?
Responder1
Conforme sugerido por Jojo Boulix nos comentáriosopções de projetorsão o caminho a percorrer.
Os três arquivos poderiam então ter a seguinte aparência:
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}
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>