我尝试使用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}