将可变文本放在每张幻灯片的固定位置。

将可变文本放在每张幻灯片的固定位置。

是否有一个选项可以帮助我\begin{frame}... \end{frame}使其中包含的文本始终出现在不同投影仪幻灯片上的相同位置?

理想情况下,我想要这样的东西:

\begin{frame}{slide title}
some-option{\bf mytext} 
.....
\end{frame}

我想要的是,无论“mytext”是什么,无论其后面的内容是什么“....”,“mytext”总是放在相同的位置:标题正下方,右上角。

我尝试使用\hspace{..}\vspace{..}{\bf mytext},但我需要手动更改每张幻灯片中的空间值。即便如此,幻灯片上的布局看起来也只是大致相同(视觉上)。

答案1

正如前面所说,tikz 可以帮助你完成这项工作:

\documentclass{beamer}

\usepackage{tikz}

\addtobeamertemplate{frametitle}{}{\tikz[overlay, remember picture] \node at (current page.north east) [left,yshift=-0.15\textheight] {\bf text};}

\begin{document}
\begin{frame}{title 1}
\end{frame}
\begin{frame}{title 2}
\end{frame}
\end{document}

答案2

文本位置包中你可以定义一个命令,将其参数放在绝对位置;例如:

\documentclass{beamer}
\usepackage[absolute,overlay]{textpos}
\usepackage{everypage}

\newcommand\MyText[1]{%
  \begin{textblock*}{5cm}(.7\textwidth,1cm)%
    #1
  \end{textblock*}
}
\begin{document}

\begin{frame}{First frame}
\MyText{\bfseries Text for the first frame}
Some test text
\end{frame}

\begin{frame}{Second frame}
\MyText{\itshape Text for the second frame}
Some test text
\end{frame}

\end{document}

相关内容