4

I am working on the following table:

Table in question

As visible in the left column, there is a significant amount of whitespace after the list ends. Using enumitem, I have been able to remove the whitespace between items and before the list. However, I was not able to find a similar option for the whitespace after the table in the enumitem documentation. Does such an option exist and did I miss it, or is there another way to remove this whitespace?

My code (again using the enumitem package):

\begin{table}[h]
\centering
\caption{Kansen en bedreigingen huidige situatie Schie-oevers}
\def\arraystretch{1.5}
\begin{tabular}{|m{0.45\linewidth}|m{0.45\linewidth}|}
\hline
    \textbf{Kansen} & \textbf{Bedreigingen} \\\hline
    Makkelijk gebied om te verbouwen:
    \begin{itemize}[topsep=0.2\topsep, noitemsep]
        \item Oude gebouwen, toe aan sloop
        \item Grote ruimte en goed bereikbaar voor machines voor bouw.
        \item Maatschappelijk draagvlak verbouwen
    \end{itemize} & Gebied heeft slecht imago \\\hline
    Bij woningbouw: veel vraag naar woningen onder starters, studenten en vluchtelingen & Gedupeerde kleine zaakjes die nu in het gebied gevestigd zijn \\\hline
    Gebied aantrekkelijk maken & Vastgelegde functies binnen gebied \\\hline
\end{tabular}
\label{tab:kansen_en_bedreigingen}
\end{table}
3
  • \vspace{-2em} or any other suitable negative value, directly after \end{itemize}
    – js bibra
    Commented Jan 13, 2021 at 0:15
  • You can add, in the option keys of itemize, [after=\vspace*{-\baselineskip}].
    – Bernard
    Commented Jan 13, 2021 at 0:48
  • thanks @Bernard! Commented Jan 14, 2021 at 21:16

3 Answers 3

2

A spurious empty line is formed. You can fix the occasional itemize ending a cell.

\documentclass{article}
\usepackage[dutch]{babel}
\usepackage{enumitem,array}

\newcommand{\fixitemize}{\mbox{}\vspace{-\baselineskip}}

\begin{document}

\begin{table}
\caption{Kansen en bedreigingen huidige situatie Schie-oevers\strut}
\label{tab:kansen_en_bedreigingen}

\begin{tabular}{
  |>{\raggedright}m{0.45\linewidth}
  |>{\raggedright\arraybackslash}m{0.45\linewidth}|
}
    \hline
    \textbf{Kansen} & \textbf{Bedreigingen} \\ 
    \hline
    Makkelijk gebied om te verbouwen:
    \begin{itemize}[topsep=0.2\topsep, noitemsep]
        \item Oude gebouwen, toe aan sloop
        \item Grote ruimte en goed bereikbaar voor machines voor bouw
        \item Maatschappelijk draagvlak verbouwen
    \end{itemize}\fixitemize
    & Gebied heeft slecht imago \\
    \hline
    Bij woningbouw: veel vraag naar woningen onder starters, studenten en vluchtelingen 
    & Gedupeerde kleine zaakjes die nu in het gebied gevestigd zijn \\
    \hline
    Gebied aantrekkelijk maken & Vastgelegde functies binnen gebied \\
    \hline
\end{tabular}
\end{table}

\end{document}

enter image description here

1
  • 1
    @Mico Thanks for noting, I pasted the wrong image.
    – egreg
    Commented Jan 13, 2021 at 22:38
2

Using the enumitem package, you can define your own itemize-like environment specifically for the use in table cells:

enter image description here

\documentclass{article}
\usepackage[dutch]{babel}
\usepackage{enumitem,array}


\newlist{tabitemize}{itemize}{1}
\setlist[tabitemize]{label=\textbullet,nosep,before={\begin{minipage}[t]{\hsize}\raggedright}, after={\end{minipage}}}


\begin{document}

\begin{table}
\caption{Kansen en bedreigingen huidige situatie Schie-oevers}
\label{tab:kansen_en_bedreigingen}
\def\arraystretch{1.5}
\begin{tabular}{
  |>{\raggedright}m{0.45\linewidth}
  |>{\raggedright\arraybackslash}m{0.45\linewidth}|
}
    \hline
    \textbf{Kansen} & \textbf{Bedreigingen} \\ 
    \hline
    Makkelijk gebied om te verbouwen:
    \begin{tabitemize}
        \item Oude gebouwen, toe aan sloop
        \item Grote ruimte en goed bereikbaar voor machines voor bouw
        \item Maatschappelijk draagvlak verbouwen
    \end{tabitemize}
    & Gebied heeft slecht imago \\
    \hline
    Bij woningbouw: veel vraag naar woningen onder starters, studenten en vluchtelingen 
    & Gedupeerde kleine zaakjes die nu in het gebied gevestigd zijn \\
    \hline
    Gebied aantrekkelijk maken & Vastgelegde functies binnen gebied \\
    \hline
\end{tabular}
\end{table}

\end{document}
1
  • Ahhh interesting! What would be the advantage of this method over @egreg's method? Commented Jan 14, 2021 at 21:16
1

Encasing the itemize list in a minipage environment helps. Unfortunately, I can't figure out why the vertical centering of the contents of the cell to the right isn't right (pun intended.) Observe also that I would use a tabularx environment and let LaTeX figure out the maximally permissible column width.

enter image description here

\documentclass{article}
\usepackage[dutch]{babel}
\usepackage{tabularx,enumitem,ragged2e}
\newcolumntype{L}{>{\RaggedRight}X}
\renewcommand\tabularxcolumn[1]{m{#1}}
\begin{document}

\begin{table}
\caption{Kansen en bedreigingen huidige situatie Schie-oevers\strut}
\label{tab:kansen_en_bedreigingen}
%\arraystretch{1.5}
\setlength\extrarowheight{2pt}
\begin{tabularx}{\textwidth}{|L|L|}
    \hline
    \textbf{Kansen} & \textbf{Bedreigingen} \\ 
    \hline
    Makkelijk gebied om te verbouwen:
    \begin{minipage}{\linewidth}
    \begin{itemize}[nosep,left=0pt]
        \item Oude gebouwen, toe aan sloop\strut
        \item Grote ruimte en goed bereikbaar voor machines voor bouw
        \item Maatschappelijk draagvlak verbouwen\strut
    \end{itemize}
    \end{minipage}
    & Gebied heeft slecht imago \\
    \hline
    Bij woningbouw: veel vraag naar woningen onder starters, studenten en vluchtelingen 
    & Gedupeerde kleine zaakjes die nu in het gebied gevestigd zijn \\
    \hline
    Gebied aantrekkelijk maken & Vastgelegde functies binnen gebied \\
    \hline
\end{tabularx}
\end{table}
\end{document}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .