如何在 beamer 中使用 \ifthenelse 访问 \institute 内容?

如何在 beamer 中使用 \ifthenelse 访问 \institute 内容?

我尝试检查 beamer 文档中的 \institute 是否为空。失败了。

我已经在这里找到了 \author 的解决方案: 为什么 \insertauthor 会导致 \ifthenelse 语句中出现错误?

您可以访问 \beamer@shortauthor 来检查作者是否为空。

\institute 的解决方案是什么?

\documentclass{beamer}
\usepackage{ifthen}

%\title{Title goes here}
\institute{me}

\begin{document}
    
    \ifthenelse{\equal{\insertinstitute}{}}{empty}{not empty}
    
\end{document}

答案1

你可以从中获得一些灵感inmargin 内部主题,它还测试是否存在空的机构并使用一个\ifx...\else...\fi构造来实现这一点:

\documentclass{beamer}

\institute{me}

\makeatletter
\newcommand{\testinst}{%
 \ifx\insertinstitute\@empty
  empty
 \else
  not empty
 \fi
}
\makeatother

\begin{document}

\begin{frame}
\testinst
\end{frame}
    
\end{document}

相关内容