我在投影仪中有一张图片,我想在该图片上叠加一个表格。我该怎么做?
我在 powerpoint 中创建了一个图形,如下所示:
在上图中,和等统计参数RMSE
是NSE
后来添加的。是否可以在 latex beamer 中添加类似的东西?我想先在上面的面板上显示文本,然后在下面的面板上显示文本。
谢谢。
答案1
以下是使用 TikZ 的可能性(优点是易于与 beamer 覆盖规范集成):
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{tikzpicture}
\node[anchor=south west,inner sep=0] (image)
at (0,0)
{\includegraphics[width=\textwidth,height=6cm]{example-image-a}};
\begin{scope}[x={(image.south east)},y={(image.north west)}]
\node<2-> at (0.78,0.75) {%
\begin{tabular}{@{}ll@{}}
RMSE & 0.059m \\
NSE & 0.798
\end{tabular}%
};
\node<3-> at (0.78,0.20) {%
\begin{tabular}{@{}ll@{}}
RMSE & 0.042m \\
NSE & 0.298
\end{tabular}%
};
\end{scope}
\end{tikzpicture}
\end{frame}
\end{document}
这种方法的另一个优点是放置的坐标是相对于图像的:(0,0) 表示左下角,(1,1) 表示右上角。还可以轻松放置网格以提供额外的视觉帮助:
\documentclass{beamer}
\usepackage{tikz}
\newcommand\MyGrid{%
\draw[help lines,xstep=.1,ystep=.1] (0,0) grid (1,1);
\foreach \x in {0,1,...,9} { \node [anchor=north] at (\x/10,0) {0.\x}; }
\foreach \y in {0,1,...,9} { \node [anchor=east] at (0,\y/10) {0.\y}; }
}
\begin{document}
\begin{frame}
\begin{tikzpicture}
\node[anchor=south west,inner sep=0] (image)
at (0,0)
{\includegraphics[width=\textwidth,height=6cm]{example-image-a}};
\begin{scope}[x={(image.south east)},y={(image.north west)}]
\MyGrid
\end{scope}
\end{tikzpicture}
\end{frame}
\end{document}
这是对使用 TikZ 在图像上绘图。
答案2
\begin{picture}(0,0)
\put(10,20){\includegraphics{...}}
\put(40,30){\begin{tabular}{...}...\end{tabular}}
\end{picture}
允许您在页面的任何部分叠加任何内容,并根据您的需要修改坐标。
如果您需要添加投影仪,\only<...>
可以添加它们,以便表格最初不在图像上方。