表内表

表内表

在 Beamer 演示文稿中,我想将图表与数据表并排放置。代码概要:

\begin{tabular*}{l r}
    \begin{center}\includegraphics{graph}\end{center}
    &
    \begin{tabular}{|p{1cm}|p{1cm}|p{1cm}|p{1cm}|}
        1 & 2 & 3 & 4\\\hline
        4 & 3 & 2 & 1\\\hline
    \end{tabular}\\
\end{tabular*}

这会出现错误Something's wrong, maybe a missing \item。在之前的演示中,我使用tabular*环境将图表与一些要点并排放置,在另一张幻灯片中,我使用tabular环境在图表下显示数据。有没有更好的方法可以做到这一点?为什么 LaTeX 不允许tabular在里面使用tabular*

答案1

您可以使用columns环境来代替。您可以使用一列来放置图像,另一列用于放置表格:

\PassOptionsToPackage{demo}{graphicx}
\documentclass{beamer}

\begin{document}

\begin{frame}
\begin{columns}
\column{.5\textwidth}    
  \centering
  \includegraphics{graph}
\column{.5\textwidth}    
    \begin{tabular}{|p{1cm}|p{1cm}|p{1cm}|p{1cm}|}\hline
        1 & 2 & 3 & 4\\\hline
        4 & 3 & 2 & 1\\\hline
    \end{tabular}
\end{columns}
\end{frame}

\end{document}

包含此行\PassOptionsToPackage{demo}{graphicx}只是为了使我的示例可供所有人编译;请不要将其包含在您的实际代码中。

答案2

不要center在表格内使用环境。我记得它trivlist在内部使用了,并且会增加垂直间距,而这在这种情况下通常是不需要的。你可以改用\multicolumn{1}{c}{\includegraphics{graph}}

里面tabulartabulartabular*应该没问题。如有疑问,只需将里面的 包裹在括号内{ },但这通常不是必需的。

以下最小示例对我有用。但是,在只有一行的表格中将图表居中是没有意义的。单元格无论如何都是图表的大小。只有当有多行时才有意义。

\documentclass{beamer}

\begin{document}

\frame{%
\begin{tabular*}{\textwidth}{l r}
    \multicolumn{1}{c}{\includegraphics{graph}}
    &
    \begin{tabular}{|p{1cm}|p{1cm}|p{1cm}|p{1cm}|}
        1 & 2 & 3 & 4\\\hline
        4 & 3 & 2 & 1\\\hline
    \end{tabular}\\
\end{tabular*}
}

\end{document}

相关内容