
このグラフィックの白い領域の上部に、サブタイトルの「フレーム」テキストである明るい灰色のバーの下に、ただしそれに触れるように、さまざまなものを配置できるようにしたいと思います。白い領域を最大限に活用します。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}