
Документация Beamer:
8.2.2 Боковые панели
Боковые панели — это вертикальные области, которые простираются от нижнего конца заголовка до верхней части нижней строки.
Я создал левую боковую панель, которая ведет себя не так, как описано в документации Beamer (см. отрывок выше), поскольку ее начало немного перекрывает область заголовка (см. рисунок ниже).
Презентация была создана с помощью кода:
\documentclass[aspectratio=169]{beamer}
\usepackage{tikz}
\setbeamersize{text margin left=0pt,text margin right=0pt}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{headline}{%
\setlength{\fboxsep}{2.5pt}%
\setlength{\fboxrule}{0.5pt}%
\framebox[\textwidth][r]{\insertframenumber{ / }\inserttotalframenumber\hfill\insertshortdate}%
}%
\setbeamertemplate{footline}{%
\setlength{\fboxsep}{2.5pt}%
\setlength{\fboxrule}{0.5pt}%
\framebox[\textwidth][r]{\insertshortdate\hfill\insertframenumber{ / }\inserttotalframenumber}%
}%
\setbeamersize{sidebar width left=2cm}
\setbeamertemplate{sidebar left}{
\setlength{\fboxsep}{0.0pt}%
\setlength{\fboxrule}{0.5pt}%
\framebox[2\width]{\small UNISIM}%
%\framebox[2cm]{\includegraphics[height=1.0cm]{figs/fig1.png}}%
}%
%\setbeamertemplate{sidebar canvas left}[vertical shading][top=blue!70!black, bottom=red!70!black]%
\setbeamertemplate{background}[grid]%
\setbeamertemplate{background canvas}{%
\begin{tikzpicture}
\node[opacity=0.5,inner sep=0pt] at (current page.center)
{\includegraphics[width=\paperwidth,height=\paperheight]{figs/fig1.png}};
\end{tikzpicture}
}%
\title{Sample title}
\begin{document}
\frame{\titlepage}
\section{Introduction}
\begin{frame}
First Introduction Frame
\end{frame}
\begin{frame}
Second Introduction Frame
\end{frame}
\section{Review}
\begin{frame}
First Review
\end{frame}
\end{document}
Вопросы:
- Каково объяснение упомянутого, по-видимому, ненормального поведения?
- Как это исправить?
Мотивация: Я создаю персонализированную презентацию и для этого изучаю команды Beamer и Latex. Здесь я пытаюсь привыкнуть к некоторым функциям настройки Beamer, одновременно изучая, как обращаться с ящиками.
решение1
8.2.1 Заголовок и нижняя строка, из
beameruserguide.pdf
Размер заголовка и нижней строки определяется следующим образом: Их ширина всегда равна ширине бумаги. Их высота определяется путем предварительного набора заголовка и нижней строки сразу после команды\begin{document}
. Верхняя часть заголовка и нижней строки в этой точке «заморожены» и будут использоваться во всем документе, даже если высота заголовка и нижней строки изменится позже (чего не должно быть).
По-видимому, оценка высоты заголовка не работает так, как вы ожидали (но она работает достаточно хорошо для нижней строки). Кажется, что «высота» относится не к , totalheight
а скорее к height
, различия объясняются, напримерздесь.
Один из способов — использовать \raisebox
для изменения вашего пользовательского заголовка с блока с высотой и глубиной на блок только с высотой. Полный пример (со всеми частями вашего кода, не необходимыми для этой функции, удалены):
\documentclass[aspectratio=169]{beamer}
\setbeamertemplate{headline}{%
\setlength{\fboxsep}{2.5pt}%
\setlength{\fboxrule}{0.5pt}%
\raisebox{\dimexpr\dp\strutbox+\fboxsep+\fboxrule}[\dimexpr\ht\strutbox+\dp\strutbox+2\fboxsep+2\fboxrule][0pt]{\framebox[\textwidth][r]{\strut\insertframenumber{ / }\inserttotalframenumber\hfill\insertshortdate}}%
}%
\setbeamertemplate{footline}{%
\setlength{\fboxsep}{2.5pt}%
\setlength{\fboxrule}{0.5pt}%
\framebox[\textwidth][r]{\insertshortdate\hfill\insertframenumber{ / }\inserttotalframenumber}%
}%
\setbeamersize{sidebar width left=2cm}
\setbeamertemplate{sidebar left}{
\setlength{\fboxsep}{0.0pt}%
\setlength{\fboxrule}{0.5pt}%
\framebox[2\width]{\small UNISIM}%
\vfill
\framebox[2\width]{\small UNISIM}%
}
\begin{document}
\frame{}
\end{document}