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. 예를 들어, 이것을 사용하여 from to (current page text area.north west)to 선을 그리면 (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}

관련 정보