表中枚举后的垂直间距虽然所有间隔都设置为零

表中枚举后的垂直间距虽然所有间隔都设置为零

尽管我已将所有 sps 设置为( ,但我\enumeration在表格中的后有一个奇怪的垂直间距。我希望枚举后的垂直间距为零。0pt[itemsep=0pt, topsep=0pt, parsep=0pt, partopsep=0pt]

平均能量损失

\documentclass{report}
\usepackage{enumitem}
\usepackage{xparse}

%compressed lists
% usage: Now just use \compress before \begin{itemize}.
\makeatletter
\newcommand*{\compress}{\@minipagetrue}
\makeatother

 %% cmd for table generation
\newcommand{\cTable}[5] % caption - a- b - c - label
{
  \begin{table}[ht!]
    \caption{{#1}}
    \begin{tabular}{p{3.4cm} p{11cm}}
      \textbf{\raggedright -a}          & {#2}   \\
      \textbf{\raggedright -b}          & {#3}   \\
      \textbf{\raggedright -c}          & {#4}
    \end{tabular}
  \label{#5}
  \end{table}
}
%% end cmd for table generation

%% cmd for item generation
%% see https://tex.stackexchange.com/questions/317680/new-command-for-automatic-enumerate-generation
\ExplSyntaxOn%

\seq_new:N \l_local_enum_seq

\newcommand{\storethestuff}[1]{%
  \seq_set_from_clist:Nn \l_local_enum_seq {#1}%
}

\newcommand{\dotheenumstuff}{%
\int_zero:N \l_tmpa_int
\seq_map_inline:Nn \l_local_enum_seq {%
    \int_incr:N \l_tmpa_int% Increase the counter
    \item ##1
    % Check whether the list has reached the end -- if so, use '.' instead of ','
    \int_compare:nNnTF 
     { \l_tmpa_int } < {\seq_count:N \l_local_enum_seq} 
     {,} {.}
  }
}

\ExplSyntaxOff

\NewDocumentCommand{\dostuff}{+m}{%
  \storethestuff{#1}%
  \compress
  \begin{enumerate}[itemsep=0pt, topsep=0pt, parsep=0pt, partopsep=0pt, leftmargin=*]
    \dotheenumstuff%
  \end{enumerate}
}
%% end cmd for item generation

\begin{document}

\cTable
    {this is a caption}
    {value of a}
    {\dostuff{1,1,1,1,11}}
    {value of c} %value of c needs to be a list
    {tab:exampleTab}

\end{document}

奇怪的垂直间距 枚举后表格中奇怪的垂直间距图片


编辑

该解决方案提供表格内的列表看起来太复杂了,无法解决这个简单的问题。此外,评论中的解决方案\baselineskip非常有效,并且没有在引用的问题中给出答案。因此,我想将其留作一个额外的问题,因为有了评论中的答案,这个问题就有了很好的解决方案。

答案1

你可以加

after={\vspace{-\baselineskip}}

到您当前拥有的选项列表enumerate。这应该会恢复列表后面的空行。

相关内容