我正在使用 beamer 创建幻灯片。一张幻灯片中有两列:左侧包含一个图形,右侧包含一些项目来指出图形中的重要内容。
我使用了以下代码:
\begin{frame}{Fig. 1}
\begin{columns}
\begin{column}{.45\textwidth}
\begin{figure}
\centering
\includegraphics[height=0.55\textheight]{Figures/Fig.1.png}
\end{figure}
\end{column}\par%
\begin{column}{.45\textwidth}
\begin{itemize}
\item 1
\item 2
\item 3
\end{itemize}
\end{column}
\end{columns}
\end{frame}
我现在的状态是我想将图向左移动,但不想触碰右边的项目,请帮忙...
我收到了很多警告,其中一些如下:
答案1
\hfill
如果在第一个和第二个环境之间插入指令column
,它们实际上会分别被稍微推入左侧和右侧边距。
这里还有另一个值得记住的视觉“技巧”:如果你让右列环境中的物品itemize
紧密聚集在一起,它们与左列图像的相对距离将出现更大。
\documentclass[demo]{beamer} % remove 'demo' option in real document
\usepackage{lipsum,enumitem,ragged2e,caption}
%% create a bespoke itemize-like environment
\newlist{myitemize}{itemize}{1}
\setlist[myitemize,1]{label=\textbullet, % choose a suitable symbol
nosep, left=0pt,
before=\begin{minipage}{\linewidth}\RaggedRight,
after=\end{minipage}}
\begin{document}
\begin{frame}{A frame with a \texttt{columns} environment}
\begin{columns}
\begin{column}{.50\textwidth}
\includegraphics[width=\linewidth]{Figures/Fig.1.png}
\captionof{figure}{Bla bla}
\end{column}
\hfill % <-- new
\begin{column}{.45\textwidth}
\begin{myitemize}
\item \lipsum[1][1-2]
\item \lipsum[2][1-2]
\end{myitemize}
\end{column}
\end{columns}
\end{frame}
\end{document}
答案2
有多种方法可以重叠左边距,但这\makebox
是最简单的方法。
\documentclass{beamer}
\begin{document}
\begin{frame}{Fig. 1}
\begin{columns}
\begin{column}{.45\textwidth}
\begin{figure}
\makebox[\columnwidth][r]{\includegraphics[height=0.55\textheight]{example-image}}% Figures/Fig.1.png
\end{figure}
\end{column}\par%
\begin{column}{.45\textwidth}
\begin{itemize}
\item 1
\item 2
\item 3
\end{itemize}
\end{column}
\end{columns}
\end{frame}
\end{document}
答案3
您只需要将图像宽度限制为列宽:
\documentclass[demo]{beamer} % remove 'demo' option in real document
\begin{document}
\begin{frame}{Fig. 1}
\begin{columns}
\begin{column}{.48\textwidth}
\begin{figure}
\centering
\includegraphics[height=0.55\textheight,
width=\linewidth, % <---
keepaspectratio]{Figures/Fig.1.png}
\end{figure}
\end{column}
\begin{column}{.48\textwidth}
\begin{itemize}
\item 1
\item 2
\item 3
\end{itemize}
\end{column}
\end{columns}
\end{frame}
\end{document}