如何将左侧列进一步向左移动?

如何将左侧列进一步向左移动?

我正在使用 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}

在此处输入图片描述

相关内容