如何消除长表中两行之间的间隙

如何消除长表中两行之间的间隙

下午好

我想改变两行之间的间隙(下图),因为longtable它看起来不太好看,我想节省一个位置。我不知道该怎么做。

感谢帮助。

\documentclass[10pt,a6paper]{book}

\usepackage[utf8]{inputenc}
\usepackage[main=english,slovak]{babel}
\usepackage[cm]{fullpage}
\usepackage[a6paper, top=10mm, left=10mm, right=10mm,     bottom=10mm,foot=5mm,marginparsep=0mm,showframe]{geometry}
%showframe
\usepackage{tipa}
\usepackage{tabularx,booktabs}
\usepackage{multirow}
\usepackage{rotating}
\usepackage{graphicx}
\usepackage{array}
\usepackage{color}
\usepackage[dvipsnames]{xcolor}
\usepackage{longtable}
\usepackage{lscape}

\usepackage{enumitem}
\usepackage{tabularx,booktabs}
\usepackage{enumitem}
\usepackage{mathtools}

\begin{document}
\catcode`\-=12
\sloppy

{\small 
\begin{longtable}{llp{5cm}}
  \toprule
  {\sffamily some text}   & \textsl{some text}  &                
                            \setlist{nosep,topsep=0sp,label=--}
                            \vspace{-\baselineskip}
                            \begin{itemize}
                              \item[-] some text
                              \item[-] some text
                              \item[-] some text
                            \end{itemize}\\
{\sffamily some text}   & \textsl{some text}  &                
                            \setlist{nosep,topsep=0sp,label=--}
                            \vspace{-\baselineskip}
                            \begin{itemize}
                              \item[-] some text
                              \item[-] some text
                              \item[-] some text
                            \end{itemize}\\
  \toprule
\end{longtable}}
\end{document}

在此处输入图片描述

答案1

如果您将命令放在前言中,该命令\setlist将适用于所有列表,因此无需每次都调用它(此外,在这种情况下,您必须使用环境的可选参数itemize)。顺便说一句,您还可以为其指定名称,就像样式一样,这样只有具有此名称的列表才会继承列表选项。

无论如何,您是在列表前设置空格,而不是在列表后设置空格。为此,您可以使用before=和键after=

\setlist{nosep,label=--,after=\vspace{-\baselineskip}, before=\vspace{-\baselineskip}}

结果如下:

在此处输入图片描述

相关内容