在我的 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 begin
beamertemplate 在输出块标题之前设置了与之关联的字体block title
,因此可以劫持此函数来潜入命令,\centering
而不是重新定义整个模板:
\setbeamerfont{block title}{size={\centering}}
这将直接影响所有三种类型的块。