사용자 정의 제목 페이지를 만들려고 하는데 날짜 필드가 비어 있는지 여부를 감지하는 매크로를 작성할 수 없습니다. 그렇다면 block
날짜 항목을 간단히 무시해야 합니다.
위의 이미지는 날짜 블록 제목이 표시되어 있지만 실제 날짜가 비어 있기 때문에 이상하게 보입니다. 물론 이러한 경우에는 날짜 블록을 수동으로 제거할 수 있지만 여전히 이 작업이 자동으로 수행되기를 원합니다. 또한 일부 필드가 비어 있는지 확인하는 방법도 알고 싶습니다.
\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}
답변1
날짜가 실제로 비어 있는 경우(예: 문서에 가 포함되어 있는 경우 \date{}
) 다음을 사용하여 이를 테스트할 수 있습니다.
\ifx\insertdate\empty%
\else%
\begin{block}{Date}
\insertdate
\end{block}
\fi
문서에 명령이 없으면 \date
기본적으로 현재 날짜가 표시됩니다.
\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}
답변2
여기에 답이 있습니다비어 있거나 "흰색" 날짜에 작동합니다.
\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}