You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Beamer中全局缩小幻灯片内容宽度?

如何全局缩小Beamer幻灯片的内容宽度

不用每个幻灯片手动加minipage,有两种简洁的全局设置方案:

方案1:直接修改Beamer文本区域宽度(推荐)

Beamer原生提供\setbeamersize命令,能直接全局调整幻灯片内容的可用宽度,内容会自动居中对齐,效果和手动加minipage一致。

在导言区添加一行代码即可:

\setbeamersize{text width=0.89\textwidth}

方案2:自动给所有frame包裹minipage

如果更习惯用minipage的方式,可以借助etoolbox在每个frame的开头和结尾自动插入minipage环境,无需手动编写。

在导言区添加:

\AtBeginEnvironment{frame}{\begin{minipage}{0.89\textwidth}}
\AtEndEnvironment{frame}{\end{minipage}}

完整修改示例(方案1)

下面是整合了方案1的完整代码,已经移除了手动添加的minipage:

\documentclass[9pt,trans,xcolor={table},envcountsect]{beamer} % Plain

\usefonttheme[onlymath]{serif}
\usetheme[shownavsym,right]{Aalborg}

% 全局设置文本宽度为0.89\textwidth
\setbeamersize{text width=0.89\textwidth}

\setbeamertemplate{section in toc}[sections numbered] % Automatic enumeration of sections
\setbeamertemplate{blocks}[rounded][shadow=true] 

\definecolor{dgreen}{rgb}{0.,0.6,0.} 
\definecolor{aaublue}{RGB}{33,26,82}% dark blue

\usepackage{etoolbox} % In order to still use an outdated beamer version

\AtBeginEnvironment{theorem}{%
\setbeamertemplate{itemize items}[circle]                    % Shape of bullet-points
\setbeamercolor{block title}{bg=dgreen!100!white,fg=white}%
\setbeamercolor{itemize item}{fg=dgreen!100!white}%
\setbeamercolor{itemize subitem}{fg=dgreen!100!white}%
\setbeamercolor{itemize subsubitem}{fg=dgreen!100!white}%
\setbeamercolor{enumerate item}{fg=dgreen!100!black}%
\setbeamercolor{enumerate subitem}{fg=dgreen!100!black}%
\setbeamercolor{enumerate subsubitem}{fg=dgreen!100!black}%
}

\AtBeginEnvironment{definition}{%
\setbeamertemplate{itemize items}[circle]                    % Shape of bullet-points
\setbeamercolor{block title}{bg=blue,fg=white}%
\setbeamercolor{itemize item}{fg=blue}%
\setbeamercolor{itemize subitem}{fg=blue}%
\setbeamercolor{itemize subsubitem}{fg=blue}%
\setbeamercolor{enumerate item}{fg=blue}%
\setbeamercolor{enumerate subitem}{fg=blue}%
\setbeamercolor{enumerate subsubitem}{fg=blue}%
}

\setbeamercolor*{block body}{bg=black!10!white,fg=black} 
\setbeamercolor*{block body alerted}{bg=normal text.bg!90!black,fg=black} 
\setbeamercolor*{block body example}{bg=normal text.bg!90!black,fg=black} 
\setbeamercolor*{block title}{parent=structure2,bg=normal text.bg!0!blue}
\setbeamercolor*{block title alerted}{use={normal text,alerted text},fg=alerted text.fg!0!white,bg=normal text.bg!10!red}
\setbeamercolor*{block title example}{use={normal text,example text},fg=white,bg=cyan}
\setbeamercolor*{block title theorem}{use={normal text,example text},fg=example text.fg!100!normal text.fg,bg=normal text.bg!0!dgreen}

\makeatletter
\pgfdeclareverticalshading[lower.bg,upper.bg]{bmb@transition}{200cm}{color(0pt)=(lower.bg); color(4pt)=(lower.bg); color(4pt)=(upper.bg)}
\makeatother

\setbeamertemplate{theorems}[numbered]
\addtobeamertemplate{theorem begin}{\normalfont}

\let\definition\undefined
\newtheorem{definition}{\translate{Definition}}[section]


\begin{document}

\begin{frame}[<+->{]{Globally shrink the frame width}
    \begin{definition}
        \begin{itemize}
            \item Wanted: Reduction of the width of all content in all frames.
        \end{itemize}        
    \end{definition}
\end{frame}

\end{document}

注意事项

  • 方案1是Beamer官方推荐的方式,不会破坏主题的原有布局(比如导航栏、页脚等元素的位置)。
  • 如果用方案2,遇到包含columns环境或全屏内容的特殊幻灯片时,可针对性取消自动包裹,比如在特定frame开头加\AtBeginEnvironment{frame}{}临时覆盖全局设置。

内容的提问来源于stack exchange,提问作者Peter Jensen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 09:58:12