我正在使用带有内部主题的 beamer rectangles
。然后,块内的文本与块外的文本对齐,并且块的边缘突出到边距中。我希望块边缘跟随边距。我寻找解决方案,我发现最好的方法是将块环境放置在minipage
所需宽度的 内,并将其放置在 内center
。
我试过了,它大致在左侧对齐。但是,现在块右侧的空白比左侧多。
\documentclass{beamer}
\usepackage{etoolbox}
\useinnertheme{rectangles}
\setbeamersize{text margin left = 1em,
text margin right = 1em}
\setbeamertemplate{frametitle}
{
\vspace{9.5mm}
\vbox
{
\bfseries\LARGE\strut\structure{\insertframetitle}\strut
}
\vspace{-0.8em}
}
\BeforeBeginEnvironment{block}
{
\begin{center}
\begin{minipage}{0.9485\textwidth}
}
\AfterEndEnvironment{block}
{
\end{minipage}
\end{center}
}
\setbeamercolor{block title}{fg = white, bg = structure}
\begin{document}
\begin{frame}
\frametitle{I}
\begin{block}{I}
\end{block}
\end{frame}
\end{document}
答案1
我希望我理解得没错。下面是我们在主题,据我所知这正是您想要的。
\documentclass{beamer}
\setbeamersize{text margin left = 1em,
text margin right = 1em}
\setbeamertemplate{frametitle}{%
\vspace{9.5mm}
\vbox{%
\bfseries\LARGE\strut\structure{\insertframetitle}\strut
}
\vspace{-0.8em}
}
\setbeamercolor{block title}{fg = white, bg = structure}
\setbeamertemplate{block begin}{%
\vspace*{1ex}
\begin{beamercolorbox}[%
ht=2.4ex,
dp=1ex,
leftskip=0.5em,
rightskip=0.5em]{block title}
\usebeamerfont*{block title}\insertblocktitle%
\end{beamercolorbox}%
\vspace*{0.5em}
\usebeamerfont{block body}%
\begin{beamercolorbox}[%
dp=1ex,
leftskip=0.5em,
rightskip=0.5em,
vmode]{block body}%
}
\setbeamertemplate{block end}{%
\end{beamercolorbox}
\vspace*{0.2ex}
}
\begin{document}
\begin{frame}{Frametitle}
\begin{block}{Blocktitle}
Content of the block.
\end{block}
\end{frame}
\end{document}
顺便说一下,矩形内部主题不会对块定义进行任何更改。所以我将其从您的 MWE 中删除。