El uso \insertauthor
de \ifthenelse
una declaración arroja un error (no hay error si se usa en otra parte del documento). \inserttitle
o \insertdate
funciona bien. ¿Por qué recibo un error cuando uso \insertauthor
lo siguiente? Puede ver que estoy intentando verificar si se proporciona la información del autor.
\documentclass{beamer}
\usepackage{ifthen}
%\title{Title goes here}
\author{me}
\begin{document}
\ifthenelse{\equal{\insertauthor}{}}{empty}{not empty}
\end{document}
Respuesta1
La \insertauthor
macro hace más que simplemente insertar el autor, por lo que se encuentra con un problema de capacidad de ampliación.
En su lugar, puede verificar si \beamer@shortauthor
o \beamer@andstripped
está vacío o no (el resultado será diferente para el caso \author[]{me}
, no estoy seguro de qué comportamiento le gustaría).
También incluí un segundo enfoque que se utiliza en Beamer para probar, por ejemplo, en las líneas de pie, si cierta información está disponible.
\documentclass{beamer}
\usepackage{ifthen}
\author{me}
\makeatletter
\newcommand{\fooooo}{\ifthenelse{\equal{\beamer@shortauthor}{}}{empty}{not empty}}
\newcommand{\foo}{\expandafter\ifblank\expandafter{\beamer@shortauthor}{empty}{not empty}}
\makeatother
\begin{document}
\begin{frame}
\fooooo
\foo
\end{frame}
\end{document}