如何将块标题置于 beamer 的中心?

如何将块标题置于 beamer 的中心?

在我的 Beamer 块中,标题总是左对齐。是否可以将块的标题居中?

\documentclass[final, 12pt]{beamer}    
\usepackage[size=custom,width=120,height=120,scale=1.7,orientation=portrait]{beamerposter} 
\usepackage{ragged2e} 
\usepackage{graphicx} 
\usepackage{lipsum} 
\usepackage{etoolbox} 

\apptocmd{\frame}{\justifying}{}{}

\usebackgroundtemplate{\centering \includegraphics[width=\paperwidth, height=\paperheight]{Figure/LG_PKL.jpg}} 
\addtobeamertemplate{block begin}{\pgfsetfillopacity{0.65}}{\pgfsetfillopacity{1}} 
\addtobeamertemplate{block beamercolorbox begin}{\pgfsetfillopacity{0.65}}{\pgfsetfillopacity{1}}

\newenvironment<>{varblock}[2][\textwidth]{% 
  \setlength{\textwidth}{#1} 
  \begin{actionenv}#3% 
  \def\insertblocktitle{#2}% 
  \par% 
  \usebeamertemplate{block begin}} 
{\par% 
  \usebeamertemplate{block end}% 
  \end{actionenv}}

\usecolortheme{rose}

\begin{document} 

\begin{frame}


\begin{textblock}{}(0.2,1.15)% 
\begin{varblock}[35cm]{\textbf{1. Introduction}} 
\justifying Space for discussion. 
\end{varblock} 
\end{textblock}

\end{document}

答案1

改变你的varblock定义

\newenvironment<>{varblock}[2][\textwidth]{% 
  \setlength{\textwidth}{#1} 
  \begin{actionenv}#3% 
  \def\insertblocktitle{\centering#2\par}% 
  \par% 
  \usebeamertemplate{block begin}} 
{\par% 
  \usebeamertemplate{block end}% 
  \end{actionenv}}

答案2

实际上 - 我找到了一种更简单的方法,可以将标题置于块内居中。我不得不说,我不确定这是否有点儿不靠谱,但它确实有效。

\begin{block}{\centering 1. Introduction}
...
...
\end{block}

我想象它对于您的 varblock 环境会起到类似的作用。

\begin{varblock}[35cm]{\centering \textbf{1. Introduction}} 
\justifying Space for discussion. 
\end{varblock}

答案3

由于block beginbeamertemplate 在输出块标题之前设置了与之关联的字体block title,因此可以劫持此函数来潜入命令,\centering而不是重新定义整个模板:

\setbeamerfont{block title}{size={\centering}}

这将直接影响所有三种类型的块。

相关内容