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}