通过 \put 定位图形并在 beamer 中添加文本

通过 \put 定位图形并在 beamer 中添加文本

我正在尝试在 Beamer 中完成精准(绝对)定位,以便进行演示。我决定避免,tickz因为我的时间不够。所以我找到了一个这里的帖子不错提供了一个简单的解决方案\put。但是,我试图扩展该解决方案以在我的图下添加一些文本。例如:

原始示例是(从帖子中复制):

\PassOptionsToPackage{demo}{graphicx}%% Only for demo here
\documentclass{beamer}
\def\Put(#1,#2)#3{\leavevmode\makebox(0,0){\put(#1,#2){#3}}}

\begin{document}

\begin{frame}
\includegraphics[height=3cm]{img1}\pause
\Put(10,50){\color{blue}\includegraphics[height=3cm]{img2}}\pause
\Put(100,30){\color{red}\includegraphics[height=3cm]{img3}}
\end{frame}

\end{document}

例如,我想要在每个矩形的底部放置一个包含“黑色”、“蓝色”和“红色”的文本。

我想简单定义一下:

\def\Putt(#1,#2){\put(#1,#2)\minipage{#}}

但它不起作用。它给了我一些奇怪的错误:

! You can't use `\raise' in internal vertical mode.

我说奇怪,因为原则上,我忽略了\离开模式在我的新指挥中。请提供建议。

答案1

minipage是一个环境,因此不能\minipage{...}单独使用。相反,您可以将figure环境包装在 中varwidth,然后用作varwidth的第三个参数\Put

一个例子:

\PassOptionsToPackage{demo}{graphicx}%% Only for demo here
\documentclass{beamer}
\usepackage{varwidth}

\def\Put(#1,#2)#3{\leavevmode\makebox(0,0){\put(#1,#2){#3}}}

\begin{document}

\begin{frame}
  \includegraphics[height=3cm]{example-image-a}\pause

  \Put(10,50){%
    \begin{varwidth}{\linewidth}
      \begin{figure}
        \centering
        \color{blue}\includegraphics[height=3cm]{example-image-b}
        \caption{Title}
      \end{figure}
    \end{varwidth}%
  }\pause

  \Put(100,30){\color{red}\includegraphics[height=3cm]{example-image-c}}
\end{frame}

\end{document}

在此处输入图片描述

相关内容