beamer 类中带有列表环境的空间

beamer 类中带有列表环境的空间

在一些幻灯片中,我使用beamer类,我想消除列表环境中出现的额外水平和垂直空格,如itemizeenumerate,以便在tabular环境中使用时环境看起来不会很奇怪。请参阅下面的示例。

\documentclass[smaller]{beamer}

\begin{document}

\begin{frame}{Frame test}
  \begin{tabular}{|l|p{4cm}|}\hline
    Foo & This is a test.\\\hline
    Bar & \begin{itemize}
            \item First item.
            \item Second item.
          \end{itemize}\\\hline
    Baz & Last test.\\\hline
  \end{tabular}
\end{frame}

\end{document}

使用枚举演示不需要的空间

在此示例文档中,我希望项目符号与第一行和第三行的第二列条目垂直对齐。此外,我希望列表前后以及列表中的项目之间没有多余的空格。

我已经知道enumitem包和beamer类不兼容,因此它不是一个选择。

有什么线索吗?

答案1

使用嵌套tabular的一些array技巧:

在此处输入图片描述

\documentclass[smaller]{beamer}% http://ctan.org/pkg/beamer
\let\Tiny\tiny
\usepackage{array}% http://ctan.org/pkg/array
\newcommand{\itemizeitem}{%
  \usebeamerfont{itemize item}%
  \usebeamercolor[fg]{itemize item}%
  \usebeamertemplate{itemize item}}
\newenvironment{tabitemize}[1]
  {\renewcommand{\item}{&}% Fake \item
   \begin{tabular}[t]{@{}>{\itemizeitem}l@{\hspace{\labelsep}}#1@{}}}
  {\end{tabular}}
\begin{document}

\begin{frame}{Frame test}
  \begin{tabular}{|l|l|}\hline
    Foo & This is a test. \\
    \hline
    Bar & \begin{tabitemize}{p{4cm}}
            \item First item. \\
            \item Second item.
          \end{tabitemize} \\
    \hline
    Baz & Last test. \\
    \hline
  \end{tabular}
\end{frame}

\end{document}

环境tabitemize提供了itemize一个非常相似的界面。第一列(隐藏为)仅使用模板\item插入传统内容。强制参数使用-style 列规范指定分项内容的宽度。\itembeamertabular

相关内容