\documentclass[10pt]{beamer}
% \usetheme[progressbar=frametitle]{metropolis}
\begin{document}
\begin{frame}
\frametitle{Test}
\begin{itemize}[<+->]
\item A
\item B
\item C
\end{itemize}
\only<1>{\hfill\includegraphics[width=0.5\textwidth]{example-image-a}\hfill}%
\only<2>{\hfill\includegraphics[width=0.5\textwidth]{example-image-b}\hfill}%
\end{frame}
\end{document}
在 中如何将图像居中\only
?第二个\hfill
似乎没有任何效果。
我也在\hfill
外面尝试过\only
,但效果不太好。
答案1
Alex 已经为您提供了一些如何将图像居中的选项。假设您希望坚持您的语法(为了避免引入的额外垂直空间\begin{center} ... \end{center}
,您可以插入一个)\strut
。
\documentclass[10pt]{beamer}
% \usetheme[progressbar=frametitle]{metropolis}
\begin{document}
\begin{frame}
\frametitle{Test}
\begin{itemize}[<+->]
\item A
\item B
\item C
\end{itemize}
\only<1>{\hfill\includegraphics[width=0.5\textwidth]{example-image-a}\hfill\strut}%
\only<2>{\hfill\includegraphics[width=0.5\textwidth]{example-image-b}\hfill\strut}%
\end{frame}
\end{document}
就我个人而言,我实际上会将内容顶部对齐。
\documentclass[10pt]{beamer}
% \usetheme[progressbar=frametitle]{metropolis}
\begin{document}
\begin{frame}[t]
\frametitle{Test}
\begin{itemize}[<+->]
\item A
\item B
\item C
\end{itemize}
\only<1>{\hfill\includegraphics[width=0.5\textwidth]{example-image-a}\hfill\strut}%
\only<2>{\hfill\includegraphics[width=0.5\textwidth]{example-image-b}\hfill\strut}%
\end{frame}
\end{document}
答案2
使用\begin{center}
and\end{center}
代替\hfill
s 内的 s \only
,如下所示:
\only<1>{\begin{center}\includegraphics[width=0.5\textwidth]{example-image-a}\end{center}}%
\only<2>{\begin{center}\includegraphics[width=0.5\textwidth]{example-image-b}\end{center}}%
(或者,您可以将两个\only
s 包装在一组\begin{center}
和\end{center}
s 中。
\begin{center}
\only<1>{\includegraphics[width=0.5\textwidth]{example-image-a}}%
\only<2>{\includegraphics[width=0.5\textwidth]{example-image-b}}%
\end{center}
请注意,\centering
在这种情况下不建议(何时应使用 \begin{center} 而不是 \centering?),并将后续文本居中。
如果您决定使用图形环境(\begin{figure}
和\end{figure}
)来封装\includegraphics
',则可以\centering
在其中使用。