迷你页面一侧为图片,另一侧为项目符号,项目符号排列在顶部,图片居中

迷你页面一侧为图片,另一侧为项目符号,项目符号排列在顶部,图片居中

我有

\begin{frame}{Motivation}
\begin{minipage}{0.6\textwidth}
\centering
\begin{figure}
\includegraphics[width=1\textwidth]{Dosimetry.png}
\end{figure} 
\end{minipage}\hfill
\begin{minipage}{0.4\textwidth}
\begin{itemize}
\item 1
\item 2
\item 3
\item 4
\item 5
\item 6
\end{itemize}
\end{minipage}

这样就可以按照我的要求将图像放置在中心左侧,但是它将第一个要点与图像的顶部对齐,而我希望它位于框架的顶部。

如果我将第二个开始小页面更改为\begin{minipage}[b]{0.4\textwidth}项目符号,则要点会更接近正确对齐,但图像会向下移动远离中心。

如果我另外更改第一个小页面,使\begin{minipage}[t]{0.6\textwidth}项目符号正确对齐,但现在图像的对齐程度进一步降低。

我怎样才能让图像处于原始代码显示的位置,项目符号也处于原始代码更改后的位置\begin{minipage}[t]{0.6\textwidth} and \begin{minipage}[b]{0.4\textwidth}?我不明白为什么这会很难。

答案1

这只是一个黑客攻击,有关复杂的解决方案,请参阅 Skillmon 的回答

\documentclass[t]{beamer}

\begin{document}

\begin{frame}{Motivation}
    \begin{columns}[T]
        \begin{column}{0.57\textwidth}
            \vskip1.4cm
            \includegraphics[width=\textwidth]{example-image}
        \end{column}
        \begin{column}{0.37\textwidth}
            \begin{itemize}
                \item 1
                \item 2
                \item 3
                \item 4
                \item 5
                \item 6
            \end{itemize}
        \end{column}
    \end{columns}
\end{frame}

\end{document}

在此处输入图片描述

答案2

这是期望的输出吗:

\documentclass[]{beamer}

\begin{document}
\begin{frame}{Motivation}
    \begin{minipage}{0.6\textwidth}
        \vbox to \textheight{
            \vfill
            \centering
            \includegraphics[width=1\textwidth]{example-image}
            \vfill
        }
    \end{minipage}\hfill
    \begin{minipage}{0.4\textwidth}
        \vbox to \textheight{
            \begin{itemize}
                \item 1
                \item 2
                \item 3
                \item 4
                \item 5
                \item 6
            \end{itemize}
            \vfill
        }
    \end{minipage}
\end{frame}
\end{document}

在此处输入图片描述

您可以使用以下可选参数实现或多或少相同的效果minipage

\documentclass[t]{beamer}

\begin{document}
\begin{frame}{Motivation}
    \begin{minipage}[c][\textheight][c]{0.6\textwidth}
            \centering
            \includegraphics[width=1\textwidth]{example-image}
    \end{minipage}\hfill
    \begin{minipage}[c][\textheight][t]{0.4\textwidth}
            \begin{itemize}
                \item 1
                \item 2
                \item 3
                \item 4
                \item 5
                \item 6
            \end{itemize}
    \end{minipage}
\end{frame}
\end{document}

在此处输入图片描述

为了获得更好的垂直放置效果,可以使用这个答案计算\contentheight不包含标题和内容的框架高度。

通过这个我们可以进一步自动化这个过程(注意,这0.95\contentheight可以使图像更好地垂直居中):

\documentclass[t]{beamer}

\newif\ifsidebartheme
\sidebarthemefalse

\newdimen\contentheight
\newdimen\contentwidth
\newdimen\contentleft
\newdimen\contentbottom
\makeatletter
\newcommand*{\calculatespace}{%
    \contentheight=\paperheight%
    \ifx\beamer@frametitle\@empty%
        \setbox\@tempboxa=\box\voidb@x%
      \else%
        \setbox\@tempboxa=\vbox{%
          \vbox{}%
          {\parskip0pt\usebeamertemplate***{frametitle}}%
        }%
        \ifsidebartheme%
          \advance\contentheight by-1em%
        \fi%
      \fi%
    \advance\contentheight by-\ht\@tempboxa%
    \advance\contentheight by-\dp\@tempboxa%
    \advance\contentheight by-\beamer@frametopskip%
    \ifbeamer@plainframe%
    \contentbottom=0pt%
    \else%
    \advance\contentheight by-\headheight%
    \advance\contentheight by\headdp%
    \advance\contentheight by-\footheight%
    \advance\contentheight by4pt%
    \contentbottom=\footheight%
    \advance\contentbottom by-4pt%
    \fi%
    \contentwidth=\paperwidth%
    \ifbeamer@plainframe%
    \contentleft=0pt%
    \else%
    \advance\contentwidth by-\beamer@rightsidebar%
    \advance\contentwidth by-\beamer@leftsidebar\relax%
    \contentleft=\beamer@leftsidebar%
    \fi%
}
\makeatother

\begin{document}
\begin{frame}
    \calculatespace%
    \begin{minipage}[c][0.95\contentheight][c]{0.6\textwidth}%
            \centering%
            \includegraphics[width=1\textwidth]{example-image}%
    \end{minipage}\hfill%
    \begin{minipage}[c][0.95\contentheight][t]{0.4\textwidth}%
            \begin{itemize}%
                \item 1%
                \item 2%
                \item 3%
                \item 4%
                \item 5%
                \item 6%
            \end{itemize}%
    \end{minipage}%
\end{frame}
\end{document}

相关内容