删除表中枚举周围的空格

删除表中枚举周围的空格

我尝试使用enumitem给出的建议https://stackoverflow.com/questions/4968557/latex-very-compact-itemize,但我仍然看到枚举周围有空白:

\documentclass{article}
\usepackage{enumitem,lipsum}

\begin{document}

\begin{table}
\begin{tabular}{lp{.7\textwidth}}
1 & \begin{enumerate}[noitemsep,topsep=0pt,parsep=0pt,partopsep=0pt]
\item \lipsum[2]{}
\item \lipsum[3]{}
\end{enumerate}\\
2 & \lipsum[5]{}\\
\end{tabular}
\end{table}

\end{document}

结果:

在此处输入图片描述

compress在一个答案中发现了一个技巧:

\documentclass{article}
\usepackage{enumitem,lipsum,array}

\makeatletter
\newcommand*{\compress}{\@minipagetrue}
\makeatother

\begin{document}

\begin{table}
\begin{tabular}{l>{\compress}p{.7\textwidth}}
1 & \begin{enumerate}[noitemsep,topsep=0pt,parsep=0pt,partopsep=0pt]
\item \lipsum[2]{}
\item \lipsum[3]{}
\end{enumerate}\\
2 & \lipsum[5]{}\\
\end{tabular}
\end{table}

\end{document}

这样可以消除列表上方的空白,但列表底部的空白仍然保留:

在此处输入图片描述

最终的结果是表格看起来不平衡——当一些行不是枚举,它们之间没有间距。当一行枚举,有间距。

如何去除枚举下方的多余空白?

答案1

这将实现您想要的效果。

\documentclass{article}
\usepackage{enumitem,lipsum,array}

\makeatletter
\newcommand*{\compress}{\@minipagetrue}
\makeatother

\newlist{myenumerate}{enumerate}{1}
\setlist[myenumerate]{nosep,label=\arabic*.,after*=\vspace{-\baselineskip}} %% adjust \vspace as needed.

\begin{document}

\begin{table}
\begin{tabular}{l>{\compress}p{.7\textwidth}}
1 & \begin{myenumerate}
       \item \lipsum[2]
       \item \lipsum[3]
    \end{myenumerate}\\
2 & \lipsum[5]{}\\
\end{tabular}
\end{table}

\end{document}

在此处输入图片描述

但......

你确定你要这么做吗这边走。此处不能有分页符。

或者,您可以使用列表。

\documentclass{article}
\usepackage{enumitem,lipsum,array}

\newlist{myenumerate}{enumerate}{1}
\setlist[myenumerate]{label=\arabic*.,after*=\vspace{-0.25\baselineskip}} 

\begin{document}

\begin{enumerate}[label=\arabic*]
\item
     \begin{myenumerate}
        \item \lipsum[2]
        \item \lipsum[3]
    \end{myenumerate}
\item \lipsum[5]{}
\end{enumerate}
\end{document}

在此处输入图片描述

相关内容