
Eu gostaria de poder colocar as coisas no topo da área branca neste gráfico - sob a barra cinza clara que é o texto da legenda "Moldura", mas tocando nela. Maximizando o aproveitamento da região branca. Existe alguma maneira de determinar isso a partir de textheight
ou frameheight
de algumas outras variáveis? Tentei definir uma nova \bodyheight
variável, mas não obtive sucesso.
O gráfico acima é feito com este MWE
\documentclass[presentation, smaller, compress, aspectratio=169]{beamer}
\usetheme{Frankfurt}
\usecolortheme{seagull}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{}
\setbeamertemplate{frametitle}{%
\nointerlineskip
\begin{beamercolorbox}[sep=0.1cm,wd=\paperwidth,leftskip=.2cm,rightskip=0cm]{frametitle}%
\usebeamerfont{frametitle}\usebeamercolor[fg]{frametitle}\insertframetitle\\
\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}\insertframesubtitle
\end{beamercolorbox}%
}
\usepackage{graphicx}
\usepackage{tikz}
\newcommand{\bodyheight}{\textheight - \footskip}
\begin{document}
\section{Section}
\begin{frame}{Frame}
\begin{tikzpicture}[remember picture,overlay,shift=(current page.south west)]
\draw[help lines,line width=1pt,step=1,black!50] (0,0) grid (20,\bodyheight);
\end{tikzpicture}
\end{frame}
\end{document}
Responder1
Você pode usar otikzpagenodespacote. Ele fornece vários nós, como current page text area
. Por exemplo, usar isto para desenhar uma linha de (current page text area.north west)
até (current page text area.north east)
dá quase o que você deseja:
Para completar, aqui está o código:
\documentclass[presentation, smaller, compress, aspectratio=169]{beamer}
\usetheme{Frankfurt}
\usecolortheme{seagull}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{}
\setbeamertemplate{frametitle}{%
\nointerlineskip
\begin{beamercolorbox}[sep=0.1cm,wd=\paperwidth,leftskip=.2cm,rightskip=0cm]{frametitle}%
\usebeamerfont{frametitle}\usebeamercolor[fg]{frametitle}\insertframetitle\\
\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}\insertframesubtitle
\end{beamercolorbox}%
}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{tikzpagenodes}
\newcommand{\bodyheight}{\textheight - \footskip}
\begin{document}
\section{Section}
\begin{frame}{Frame}
\begin{tikzpicture}[remember picture,overlay,shift=(current page.south west)]
\draw[help lines,line width=1pt,step=1,black!50] (0,0) grid (20,\bodyheight);
\draw[blue, thick](current page text area.north west)--(current page text area.north east);
\end{tikzpicture}
\end{frame}
\end{document}
EDITAR Nos comentários é dito que:
Estou procurando a linha abaixo de "Frame", não acima de "Frame".
O ponto de usartikzpagenodesé que não é difícil ir do topo da página ao topo do quadro. Por exemplo, podemos obter:
usando
\documentclass[presentation, smaller, compress, aspectratio=169]{beamer}
\usetheme{Frankfurt}
\usecolortheme{seagull}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{}
\setbeamertemplate{frametitle}{%
\nointerlineskip
\begin{beamercolorbox}[sep=0.1cm,wd=\paperwidth,leftskip=.2cm,rightskip=0cm]{frametitle}%
\usebeamerfont{frametitle}\usebeamercolor[fg]{frametitle}\insertframetitle\\
\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}\insertframesubtitle
\end{beamercolorbox}%
}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{tikzpagenodes}
\newcommand{\bodyheight}{\textheight - \footskip}
\begin{document}
\section{Section}
\begin{frame}{Frame}
\begin{tikzpicture}[remember picture,overlay,shift=(current page.south west)]
\draw[help lines,line width=1pt,step=1,black!50] (0,0) grid (20,\bodyheight);
\draw[blue, thick]([yshift=-4ex]current page text area.north west)--([yshift=-4ex]current page text area.north east);
\end{tikzpicture}
\end{frame}
\end{document}