当应用 hyperref 时,longtable 中枚举前后的空间

当应用 hyperref 时,longtable 中枚举前后的空间

enumerate我对如何删除单元格内项目前后的空格感到很困惑longtable

tex 代码如下:

\begin{longtable}{>{\centering}p{108pt}@{\hspace{7pt}}>{}p{375pt}}
\textcolor{lightgray}{factors} & \textcolor{darkgray}{
\begin{enumerate}[leftmargin=*,topsep=-1em,parsep=0pt]    
\item  a
\item  b       
\item  c  
\item  d       
\end{enumerate}
}
\end{longtable}

这两个单元格无法顶部对齐,除非我在前面放一些文字enumerate

\begin{longtable}{>{\centering}p{108pt}@{\hspace{7pt}}>{}p{375pt}}
\textcolor{lightgray}{factors} & \textcolor{darkgray}{
Some words here
\begin{enumerate}[leftmargin=*,topsep=-1em,parsep=0pt]    
\item  a
\item  b       
\item  c  
\item  d       
\end{enumerate}
}
\end{longtable}

问题是,如何在不使用vspace之前实现这一点enumerate

#######更新

后来发现是 hyperref 的问题,会在项目周围增加一个不满足要求的空间,唯一能找到的办法就是用 NoHyper 把内容包起来。

还有其他好办法可以轻松解决这个问题吗?特别是添加重写环境的命令?

答案1

这是一个解决方案:

\documentclass{article}
\usepackage[margin=1in]{geometry}
\usepackage{amsmath}
\usepackage[svgnames]{xcolor}
\usepackage{enumitem}
\usepackage{array, longtable}

\begin{document}

\begin{longtable}{>{\centering}p{108pt}@{\hspace{7pt}}>{}p{375pt}}%
  \textcolor{lightgray}{factors} &
  \begin{enumerate}[leftmargin=*, topsep=0em, parsep=0pt, before=\leavevmode\vspace{-\baselineskip}\color{SlateGray!80}, after =\vspace*{-\baselineskip}]
  \item a
  \item b
  \item c
  \item d
  \end{enumerate}
\end{longtable}

\end{document} 

在此处输入图片描述

相关内容