Beamer スライドのフレームテキストの下部の Y 座標

Beamer スライドのフレームテキストの下部の Y 座標

このグラフィックの白い領域の上部に、サブタイトルの「フレーム」テキストである明るい灰色のバーの下に、ただしそれに触れるように、さまざまなものを配置できるようにしたいと思います。白い領域を最大限に活用します。textheightまたはframeheight、その他の変数からそれを決定する方法はありますか? 新しい変数を定義しようとしました\bodyheightが、うまくいきませんでした。

ここに画像の説明を入力してください

上のグラフィックはこの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}

答え1

あなたはtikzpagenodesパッケージ。 などのさまざまなノードを提供しますcurrent page text area。たとえば、これを使用して から への線を描く(current page text area.north west)と、(current page text area.north east)ほぼ希望どおりの結果が得られます。

ここに画像の説明を入力してください

完全を期すために、コードを以下に示します。

\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}

編集 コメントには次のように書かれています:

「フレーム」の上ではなく、「フレーム」の下の行を探しています。

使用のポイントtikzpagenodesページの先頭からフレームの先頭まで移動するのは難しくありません。たとえば、次のようになります。

ここに画像の説明を入力してください

使用して

\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}

関連情報