如何去除 LaTeX 表格中列表造成的空白

如何去除 LaTeX 表格中列表造成的空白

我创建了这张表:

\begin{table}[!h]
\caption{\label{tab:choix-de-carriere-different}Choix de carrière: ingénieur logiciel}
\centering
\begin{tabularx}{\linewidth}{|p{10 em}|X|}
\hline
\textbf{Information} & \textbf{Recherche}\\
\hline
Description de la carriére &
Les ingénieurs logiciels se concentrent sur l'application des principes d'ingénierie aux programmes. Chaque ingénieur logiciel écrit et valide le code des programmes d'une entreprise. Tout comme les avocats, les ingénieurs en logiciel se spécialisent dans différents domaines. Il y a le développement Web, le traitement de texte, le développement de jeux.\\
\hline
Habiletés et compétences nécessaires pour cet emploi &
\begin{itemize} \item savoir le codage \item bien à créer la documentation \item savoir des langages de programmation \item savoir des compilateurs \item savoir des licences de logiciels \item bien au débogage \end{itemize}\\
\hline
\end{tabularx}
\end{table}

列表时有很多空白。列表前、列表后、列表左侧以及列表项之间都有空白。我通过定义一个新环境 ( \tabitem) 并使用它来代替 ( itemize) 部分解决了这个问题。

\usepackage{enumitem}

\newenvironment{tabitem}{
  \setlist{leftmargin = *, topsep=0pt,parsep=0pt,partopsep=0pt}
  \vspace{-2.5 mm}
  \begin{itemize}
  \tightlist}
 {\end{itemize}}

但是列表下方仍有空白。我该如何删除它?

答案1

enumitem通过加载包并尝试创建一个定制的 itemize 类环境,您走在了正确的轨道上。不过,我更进一步,创建了一个名为 的新列表环境tabitemize。应用环境的结果tabitemize显示在以下屏幕截图中的第一个表中。该tabitemize代码在此网站上经常使用,最近(我认为)在这个答案

我想鼓励你进一步改进表格的布局,通过(a)省略所有垂直线(相信我,它们不会被遗漏),(b)使用 booktabs 包的宏来生成间距适当的水平线,而不是大胆的标题行中的文本,并使用右对齐而不是完全对齐第一列的内容。这些调整的结果显示在以下屏幕截图中的第二个表格中。

在此处输入图片描述

\documentclass{article} % or some other suitable document class
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{tabularx}

% Optional: Fine-tune appearance of figure and table captions:
\usepackage[justification=raggedright,
            singlelinecheck=off,
            skip=0.333\baselineskip,
            labelfont=bf,
            labelsep=colon]{caption}

% Define a bespoke environment for compact itemize-like lists:
\usepackage{enumitem}
\newlist{tabitemize}{itemize}{1}
\setlist[tabitemize]{label=\textbullet, nosep, leftmargin=*,
           before={\begin{minipage}[t]{\hsize}},
           after ={\end{minipage}}}

% Packages needed only for second table:
\usepackage{ragged2e}  % for \RaggedRight macro
\usepackage{booktabs}  % for \toprule, \midrule, \bottomrule, 
                       %   and \addlinespace macros

\begin{document}

\begin{table}[!h]
\caption{Choix de carrière: ingénieur logiciel} 
\label{tab:choix-de-carriere-different}

%%\centering  % does nothing useful
\begin{tabularx}{\linewidth}{|p{10em}|X|}
\hline
\textbf{Information} & \textbf{Recherche}\\
\hline
Description de la carrière &
Les ingénieurs logiciels se concentrent sur l'application des principes d'ingénierie aux programmes. Chaque ingénieur logiciel écrit et valide le code des programmes d'une entreprise. Tout comme les avocats, les ingénieurs en logiciel se spécialisent dans différents domaines. Il y a le développement Web, le traitement de texte, le développement de jeux.\\
\hline
Habiletés et compétences nécessaires pour cet emploi &
\begin{tabitemize} 
\item savoir le codage 
\item bien à créer la documentation 
\item savoir des langages de programmation 
\item savoir des compilateurs 
\item savoir des licences de logiciels 
\item bien au débogage 
\end{tabitemize}\\
\hline
\end{tabularx}

\bigskip
%% 2nd version of table: no vertical lines, well-spaced horizontal lines, 
%%    ragged-right typesetting in first column, no bold-facing in header row
\caption{Choix de carrière: ingénieur logiciel}

\begin{tabularx}{\linewidth}{@{} >{\RaggedRight}p{10em} X @{}}
\toprule
Information & Recherche \\
\midrule
Description de la carrière &
Les ingénieurs logiciels se concentrent sur l'application des principes d'ingénierie aux programmes. Chaque ingénieur logiciel écrit et valide le code des programmes d'une entreprise. Tout comme les avocats, les ingénieurs en logiciel se spécialisent dans différents domaines. Il y a le développement Web, le traitement de texte, le développement de jeux.\\
\addlinespace
Habiletés et compétences nécessaires pour cet emploi &
\begin{tabitemize} 
\item savoir le codage 
\item bien à créer la documentation 
\item savoir des langages de programmation 
\item savoir des compilateurs 
\item savoir des licences de logiciels 
\item bien au débogage  
\end{tabitemize}\\
\bottomrule
\end{tabularx}
\end{table}

\end{document}

相关内容