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 block
simplemente se debe omitir la entrada de fecha.
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 \date
comando, 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}
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}