![¿Cómo definir comandos para información adicional en el archivo principal del proyector para usar en temas?](https://rvso.com/image/309859/%C2%BFC%C3%B3mo%20definir%20comandos%20para%20informaci%C3%B3n%20adicional%20en%20el%20archivo%20principal%20del%20proyector%20para%20usar%20en%20temas%3F.png)
En un documento de proyector típico puedo configurar varias opciones como \author
o \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
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>