如何让框架中的图像和算法对齐?

如何让框架中的图像和算法对齐?

以下是代码及其输出。输出效果不太好。如果它们都按左对齐,然后在框架中居中,效果会更好。但是怎么做呢?(图像在框架中居中。)

\documentclass{beamer}
\usepackage{algorithm2e}

\begin{document}
 \begin{frame}
  \begin{center}
    \includegraphics[width=0.5\textwidth, height=3cm]{fig4}

    \medskip

    %\fbox{
    \begin{minipage}{0.66\textwidth}
      \begin{algorithm}[H]
    \DontPrintSemicolon
    \KwSty{type} val : \KwSty{real}$[k]$\;
    \KwSty{type} ind : \KwSty{int}$[k]$\;
    \KwSty{type} ptr : \KwSty{int}$[s+1]$\;
    \everypar={\nl}
    \For{$d=0$ \KwTo $ptr[d+1]-ptr[d]$}{
      \For{$l=0$ \KwTo $ptr[d+1]-prt[d]$}{
        $z[l] \leftarrow z[l]+val[prt[d]+l] \cdot x[\textcolor{red}{ind[ptr[d]+l]}]$\;
      }
    }
      \end{algorithm}
    \end{minipage}
   %}
  \end{center}

\end{frame}

\end{document}

在此处输入图片描述

答案1

将两个项目设置为minipage相似的宽度。然后对水平对齐的调整应该匹配,因为minipage具有默认的左对齐(实际上是两端对齐):

在此处输入图片描述

\documentclass{beamer}
\let\Tiny\tiny% http://tex.stackexchange.com/a/94159/5764
\usepackage{algorithm2e}

\begin{document}
\begin{frame}

\begin{center}
  \begin{minipage}{.8\linewidth}
    \includegraphics[width=0.5\textwidth, height=3cm]{example-image}
  \end{minipage}

  \medskip

  \begin{minipage}{.8\linewidth}
    \begin{algorithm}[H]
      \DontPrintSemicolon
      \KwSty{type} val : \KwSty{real}$[k]$\;
      \KwSty{type} ind : \KwSty{int}$[k]$\;
      \KwSty{type} ptr : \KwSty{int}$[s+1]$\;
      \everypar={\nl}
      \For{$d=0$ \KwTo $ptr[d+1]-ptr[d]$}{
        \For{$l=0$ \KwTo $ptr[d+1]-prt[d]$}{
          $z[l] \leftarrow z[l]+val[prt[d]+l] \cdot x[\textcolor{red}{ind[ptr[d]+l]}]$\;
        }
      }
    \end{algorithm}
  \end{minipage}
\end{center}

\end{frame}

\end{document}

相关内容