我正在编写自己的 beamer 主题并在定义和访问尺寸属性时遇到了麻烦。
首先,我发现了这些属性:
\setbeamersize{
text margin left = .04\paperwidth,
text margin right = .04\paperwidth,
sidebar width left = 0mm,
sidebar width right = 10mm,
description width = 10mm,
mini frame size = 10mm,
mini frame offset = 10mm
}
还有更多吗?我需要继续定义标题的大小。
第二:我如何访问这些变量之一?假设我想在侧边栏中画一些东西:
\defbeamertemplate*{sidebar right}{mytheme}
{
\begin{tikzpicture}
\useasboundingbox[](0,0) rectangle(10mm,\paperheight);
\usebeamercolor{palette primary};
\fill[left color=red, right color=bg!40!black] (0,0) rectangle (10mm,\paperheight);
\end{tikzpicture}
}
如何将手动定义的 10mm 设置为可变侧边栏左侧宽度?
提前致谢!
答案1
除了列出的选项外
description width of=⟨text⟩
,它还“将描述标签的默认宽度设置为⟨text⟩的宽度,请参阅第 12.1 节。” 的 beamer 用户指南要更改标题的高度,你可以使用
\setlength{\beamer@headheight}{4cm}
侧边栏的宽度存储在 中
\beamer@sidebarwidth
。
\documentclass{beamer}
\usetheme[width=10mm]{Berkeley}
\usepackage{tikz}
\makeatletter
\setlength{\beamer@headheight}{4cm}
\setbeamertemplate{sidebar left}{
\begin{tikzpicture}
\useasboundingbox[](0,0) rectangle(\beamer@sidebarwidth,\paperheight);
\usebeamercolor{palette primary};
\fill[left color=red, right color=bg!40!black] (0,0) rectangle (10mm,\paperheight);
\end{tikzpicture}
}
\makeatother
\begin{document}
\begin{frame}
abc
\end{frame}
\end{document}