相对于投影仪中的块标题居中块体

相对于投影仪中的块标题居中块体

我正在尝试使用 beamerposter 包编写海报。我希望使用 3/4 列来构造它,并且每列应该有一定数量的块。

我想定义自己的主题,并希望块标题使用圆形的 beamercolourbox,而块主体 beamercolourbox 应该比标题略窄,即使相对于标题居中也是如此。以下代码使块主体 beamercolourbox 左侧参差不齐。

\setbeamertemplate{block begin}{
\vskip.75ex %
\begin{beamercolorbox}[rounded=true,leftskip=1cm,colsep*=.75ex]{block title}%
\usebeamerfont*{block title}\insertblocktitle
\end{beamercolorbox}%
\vskip.5ex %
\usebeamerfont{block body}%
\begin{beamercolorbox}[wd=.95\linewidth,colsep*=.75ex,sep=.75ex,vmode]{block body}%
} %
\setbeamertemplate{block end}{ %
\end{beamercolorbox} %
}

我尝试将所有内容封装到中心环境中,如下所示,但没有任何变化:

\setbeamertemplate{block begin}{
\vskip.75ex %
\begin{center}%
\begin{beamercolorbox}[rounded=true,leftskip=1cm,colsep*=.75ex]{block title}%
\usebeamerfont*{block title}\insertblocktitle
\end{beamercolorbox}%
\vskip.5ex %
\usebeamerfont{block body}%
\begin{beamercolorbox}[wd=.95\linewidth,colsep*=.75ex,sep=.75ex,vmode]{block body}%
} %
\setbeamertemplate{block end}{ %
\end{beamercolorbox} %
\end{center}%
}

然后我尝试使用 \hfill(如下所示),但是现在位置“更好”但尚未居中,因为它相对于标题 beamercolorbox 略微位于左下方。

\setbeamertemplate{block begin}{
\vskip.75ex %
\begin{beamercolorbox}[rounded=true,leftskip=1cm,colsep*=.75ex]{block title}%
\usebeamerfont*{block title}\insertblocktitle
\end{beamercolorbox}%
\vskip.5ex %
\usebeamerfont{block body}%
\hfill%
\begin{beamercolorbox}[wd=.95\linewidth,colsep*=.75ex,sep=.75ex,vmode]{block body}%
} %
\setbeamertemplate{block end}{ %
\end{beamercolorbox} %
\hfill%
}

您对如何解决此问题有任何想法吗?提前感谢您的关注。问候。

答案1

你可以使用这样的方法:

\documentclass{beamer}

\newlength\bodywd
\setlength\bodywd{.95\linewidth}

\setbeamercolor{block title}{fg=olive,bg=olive!20}
\setbeamercolor{block body}{fg=blue,bg=blue!20}

\setbeamertemplate{block begin}{%
 \vskip.75ex%
 \begin{beamercolorbox}[rounded=true,leftskip=1cm,colsep*=.75ex]{block title}%
  \usebeamerfont*{block title}\insertblocktitle%
  \end{beamercolorbox}%
  \vskip.5ex %
  \usebeamerfont{block body}%
  \hspace*{.5\dimexpr\linewidth-\bodywd\relax}%
  \begin{beamercolorbox}[wd=\bodywd,colsep*=.75ex,sep=.75ex,vmode]{block body}%
}
\setbeamertemplate{block end}{%
  \end{beamercolorbox}%
\hfill\null%
}

\begin{document}

\begin{frame}
\begin{block}{The Title}
text
\end{block}
\end{frame}

\end{document}

在此处输入图片描述

这个想法是将主体块的宽度保持在辅助长度中\bodywd,并在块之前添加一个由给出的水平空间0.5(\linewidth-\bodywd)

相关内容