删除表格内项目的顶部缩进

删除表格内项目的顶部缩进

我正在尝试在环境中创建一个列表tabularx。如果我itemize直接使用,顶部会有一个难看的空间,我想删除它。我找到的解决方案是minipage在周围使用itemize,这样我就可以控制顶部边距,但由于minipage不遵循分页符,所以这并不好。

如何控制itemize数组单元格内的顶部缩进?

答案1

您无法跨页面拆分单元格;您可以做的是跨行拆分项目环境。

也就是说,您不需要使用 minipage。使用该enumitem包,我定义了一个tabitemize环境,该环境会删除单元格开头的垂直空间:

\documentclass[a4paper, 10pt]{article}
 \usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[hmargin=2cm]{geometry}
\usepackage{longtable}
\usepackage{ltablex}
\usepackage{booktabs}
\usepackage{helvet}
\usepackage[french]{babel}

\usepackage{enumitem}
\newlist{tabitemize}{itemize}{2}
\setlist[tabitemize]{wide=0pt, label = \textemdash, topsep=0pt, before=\leavevmode\vspace{-\baselineskip}}

\begin{document}

\setlength{\aboverulesep}{0pt}
\setlength{\belowrulesep}{0pt}
\setlength{\extrarowheight}{1ex}
\begin{tabularx}{\linewidth}{p{2.5cm}p{1cm}p{5cm}p{5cm}}
\toprule
\textsf{\textbf{a}} & \multicolumn{3}{X}{Bar}\\\addlinespace
\textsf{\textbf{b}} & Bar\\
\textsf{\textbf{c}} & \textsf{\textbf{d}} & \textsf{\textbf{e}} & \textsf{\textbf{f}}\\
\cmidrule{2-4}
  & 1 &
 \begin{tabitemize}
 \item a
 \item b
 \end{tabitemize}
  & I don’t need to use \texttt{minipage}with the \texttt{tabitemize} environment\\\addlinespace[5mm]
  & 2 &
 \begin{minipage}[t]{\linewidth}
 \begin{itemize}
 \item a
 \item b
 \end{itemize}
 \end{minipage}
  & And here is the result with \texttt{minipage}\\\addlinespace[5mm]
%
  & 3 &
  \begin{tabitemize}
  \item foo
  \item bar
  \end{tabitemize}\\
\bottomrule[1.5pt]
\end{tabularx}
\end{document} 

在此处输入图片描述

相关内容