我有一个自己定义的 Beamer 模板(以与我所在组织的指导方针兼容),并且无论列表级别如何,项目符号都必须具有相同的大小。
在模板中,我选择了最简单(最愚蠢?)的方法来做到这一点:
% Font size for items
\setbeamertemplate{itemize/enumerate body begin}{\normalsize}
\setbeamertemplate{itemize/enumerate subbody begin}{\normalsize}
\setbeamertemplate{itemize/enumerate subsubbody begin}{\normalsize}
它运行良好,但是当我在幻灯片上本地更改字体大小时,它就坏了:
\begin{frame}{List test with another font size}
\scriptsize
\begin{itemize}
\item first item
\item second item
\end{itemize}
\end{frame}
因为列表元素随后会出现normalsize
而不是所需的字体大小。
因此,问题是:有没有办法设置字体大小,setbeamertemplate
以便它使用当前字体大小而不是固定大小?
编辑:完整的 MWE
\documentclass{beamer}
% Font size for items
\setbeamertemplate{itemize/enumerate body begin}{\normalsize}
\setbeamertemplate{itemize/enumerate subbody begin}{\normalsize}
\setbeamertemplate{itemize/enumerate subsubbody begin}{\normalsize}
\begin{document}
\begin{frame}{List test with another font size}
\scriptsize
\begin{itemize}
\item first item
\item second item
\end{itemize}
\end{frame}
\end{document}
答案1
第一级项目将自动采用周围的字体大小,因此无需执行任何操作。
对于第二和第三级项目,您可以像这样覆盖默认的 beamer 字体:
\documentclass{beamer}
\setbeamerfont{itemize/enumerate subbody}{size=}
\setbeamerfont{itemize/enumerate subsubbody}{size=}
\begin{document}
\begin{frame}
\frametitle{List test with another font size}
\Tiny
test
\begin{itemize}
\item first item
\item second item
\begin{itemize}
\item first item
\item second item
\begin{itemize}
\item first item
\item second item
\end{itemize}
\end{itemize}
\end{itemize}
\end{frame}
\end{document}