在一些幻灯片中,我使用beamer
类,我想消除列表环境中出现的额外水平和垂直空格,如itemize
和enumerate
,以便在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 列规范指定分项内容的宽度。\item
beamer
tabular