¿Cómo detectar si el campo de fecha está vacío al diseñar una plantilla de página de título personalizada?

¿Cómo detectar si el campo de fecha está vacío al diseñar una plantilla de página de título personalizada?

Estoy intentando crear una página de título personalizada pero no puedo escribir una macro que detecte si el campo de fecha está vacío o no. Si es así, entonces blocksimplemente se debe omitir la entrada de fecha.

ingrese la descripción de la imagen aquí

La imagen de arriba se ve extraña ya que se muestra el título del bloque de fecha pero la fecha real está vacía. Por supuesto, puedo eliminar manualmente el bloque de fecha para tal caso, pero aún quiero que esto se haga automáticamente. También quiero saber cómo determinar si algún campo está vacío o no.

\documentclass[aspectratio=169, xcolor={x11names}]{beamer}


\usecolortheme{rose}

    \setbeamercolor{itemize item}{fg=black}

\useoutertheme[]{tree}

\useinnertheme{inmargin}

    \setbeamersize{text margin left=2mm, text margin right=2mm}

    \newlength{\sidebarWidth}
    \setlength{\sidebarWidth}{0.2\paperwidth}

    \setbeamersize{sidebar width left=\sidebarWidth, sidebar width right=0cm}

\usefonttheme{structurebold}


\title{The Main Title of The Presentation}
\subtitle{Short Title Goes here}
\author{Al-Motasem Aldaoudeyeh}
\institute{North Dakota State University}
\date{}

\setbeamertemplate{headline}{}

\setbeamertemplate{date}{nothing}

\setbeamercolor{block title}{fg=blue}
\setbeamerfont{title page}{shape=\bfseries}


% Custome title page
\setbeamertemplate{title page}{
    \vspace*{\stretch{3}}
    \begin{block}{}
        \usebeamercolor[fg]{title page}\usebeamerfont{block title}\usebeamertemplate{block title}
        \inserttitle
    \end{block}
    \begin{block}{}
        \usebeamercolor[fg]{title page}\usebeamerfont{block title}\usebeamertemplate{block title}
        \large \insertsubtitle
    \end{block}
    \vspace{\stretch{2}}
    \begin{block}{Author}
        \insertauthor
    \end{block}
    \begin{block}{Institute}
        \insertinstitute
    \end{block}
    \begin{block}{Date}
        \insertdate
    \end{block}
    \vspace{\stretch{5}}
                            }

\begin{document}

\begin{frame}
    \titlepage
\end{frame}

\end{document}

Respuesta1

Si la fecha está realmente vacía (por ejemplo, si su documento contiene \date{}), puede probar esto con

\ifx\insertdate\empty%
\else%
   \begin{block}{Date}
       \insertdate
   \end{block}   
\fi

Tenga en cuenta que si su documento no contiene ningún \datecomando, la fecha actual se mostrará de forma predeterminada.

\documentclass[aspectratio=169, xcolor={x11names}]{beamer}

\usecolortheme{rose}
\setbeamercolor{itemize item}{fg=black}
\useoutertheme[]{tree}
\useinnertheme{inmargin}

\setbeamersize{text margin left=2mm, text margin right=2mm}
\newlength{\sidebarWidth}
\setlength{\sidebarWidth}{0.2\paperwidth}

\setbeamersize{sidebar width left=\sidebarWidth, sidebar width right=0cm}

\usefonttheme{structurebold}


\title{The Main Title of The Presentation}
\subtitle{Short Title Goes here}
\author{Al-Motasem Aldaoudeyeh}
\institute{North Dakota State University}
\date{}

\setbeamertemplate{headline}{}

\setbeamertemplate{date}{nothing}

\setbeamercolor{block title}{fg=blue}
\setbeamerfont{title page}{shape=\bfseries}


% Custome title page
\setbeamertemplate{title page}{
    \vspace*{\stretch{3}}
    \begin{block}{}
        \usebeamercolor[fg]{title page}\usebeamerfont{block title}\usebeamertemplate{block title}
        \inserttitle
    \end{block}
    \begin{block}{}
        \usebeamercolor[fg]{title page}\usebeamerfont{block title}\usebeamertemplate{block title}
        \large \insertsubtitle
    \end{block}
    \vspace{\stretch{2}}
    \begin{block}{Author}
        \insertauthor
    \end{block}
    \begin{block}{Institute}
        \insertinstitute
    \end{block}
    \ifx\insertdate\empty%
    \else%
       \begin{block}{Date}
           \insertdate
       \end{block}   
    \fi
    \vspace{\stretch{5}}
                            }


\begin{document}

\begin{frame}
    \titlepage
\end{frame}

\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Aquí hay una respuestaque funciona para fecha vacía o "blanca"

\documentclass[aspectratio=169, xcolor={x11names}]{beamer}

% Added code:
\makeatletter
\newcommand{\AddDateBox}{\xdef\mystring{\insertdate}\sbox1{\hbox{\mystring}}\sbox2{\hbox{\space}}\ifdim\wd1=\wd2\relax\else\ifx\insertdate\empty\relax\else\begin{block}{Date}\insertdate\end{block}\fi\fi}
\makeatother


\usecolortheme{rose}

\setbeamercolor{itemize item}{fg=black}

\useoutertheme[]{tree}

\useinnertheme{inmargin}

    \setbeamersize{text margin left=2mm, text margin right=2mm}

    \newlength{\sidebarWidth}
    \setlength{\sidebarWidth}{0.2\paperwidth}

    \setbeamersize{sidebar width left=\sidebarWidth, sidebar width right=0cm}

\usefonttheme{structurebold}


\title{The Main Title of The Presentation}
\subtitle{Short Title Goes here}
\author{Al-Motasem Aldaoudeyeh}
\institute{North Dakota State University}
\date{}

\setbeamertemplate{headline}{}

\setbeamertemplate{date}{nothing}

\setbeamercolor{block title}{fg=blue}
\setbeamerfont{title page}{shape=\bfseries}


% Custome title page
\setbeamertemplate{title page}{
    \vspace*{\stretch{3}}
    \begin{block}{}
        \usebeamercolor[fg]{title page}\usebeamerfont{block title}\usebeamertemplate{block title}
        \inserttitle
    \end{block}
    \begin{block}{}
        \usebeamercolor[fg]{title page}\usebeamerfont{block title}\usebeamertemplate{block title}
        \large \insertsubtitle
    \end{block}
    \vspace{\stretch{2}}
    \begin{block}{Author}
        \insertauthor
    \end{block}
    \begin{block}{Institute}
        \insertinstitute
    \end{block}
    \AddDateBox
    \vspace{\stretch{5}}
                            }

\begin{document}

\begin{frame}
    \titlepage
\end{frame}

\end{document}

información relacionada