Abstand unter Itemize in Tabular verringern

Schriftbild, Absätze und Auflistungen einstellen


godi
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 75
Registriert: Mi 11. Feb 2015, 13:49

Abstand unter Itemize in Tabular verringern

Beitrag von godi »

Hallo,

wie bekomme ich bei einer tabular Tabelle die eine Aufzählung (itemize) beinhaltet den selben Abstand vor und nach itemize, wie wenn ein normaler Text in der Zelle steht?

Hier mein Ansatz, jedoch ist nach dem itemize ein viel zu großer Abstand.
\documentclass[]{scrartcl}

\usepackage{enumitem}

% Abstandsreduktion Top
\makeatletter
\newcommand*{\compress}{\@minipagetrue}
\makeatother

\begin{document}

\begin{tabular}  {| p{3cm} |}
\hline \compress
\textbf{Spalte 1}\\\hline
\begin{itemize}[topsep=0pt, itemsep=0pt, partopsep=0pt, parsep=0pt ]	
	\item Item 1
	\item Item 2	
\end{itemize}%
\\\hline
\end{tabular}
\end{document}

godi

Noch so einer

Beitrag von Noch so einer »

\documentclass[]{scrartcl}

\usepackage{enumitem}

% Abstandsreduktion Top
\makeatletter
\newcommand*{\compress}{\@minipagetrue}
\makeatother

\begin{document}

\begin{tabular}  {| p{3cm} |}
\hline \compress
\textbf{Spalte 1}\\\hline
\parbox[tt][\totalheight]{3cm}{\begin{itemize}[topsep=0pt, itemsep=0pt, partopsep=0pt, parsep=0pt]   
   \item Item 1
   \item Item 2\strut
\end{itemize}}%
\\\hline
\end{tabular}
\end{document}

Besserwisser

Beitrag von Besserwisser »

Statt die 3cm aus der Spaltendeklaration zu wiederholen, kann man auch einfach \linewidth verwenden.

godi
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 75
Registriert: Mi 11. Feb 2015, 13:49

Beitrag von godi »

Danke euch beiden, macht genau das was ich wollte.

godi
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 75
Registriert: Mi 11. Feb 2015, 13:49

Bei SubItem funktioniert der Vorschlag nicht.

Beitrag von godi »

Macht leider doch nicht ganz das was ich mir vorgestellt habe.

Wenn ich ein SubItem hinzufüge, dann ist komischerweise der Abstand wieder vorhanden. Warum kommt da wieder der Abstand?
\documentclass[]{scrartcl}

\usepackage{enumitem}

% Abstandskorrektur Top/Bottom
\makeatletter
\newcommand{\myItemize}[1]{
	\@minipagetrue
	\parbox[tt][\totalheight]{\linewidth}{
		\begin{itemize}[topsep=0pt, itemsep=0pt, partopsep=0pt, parsep=0pt]
			#1\strut
		\end{itemize}
	}%
}
\makeatother


\begin{document}

\begin{tabular}  {| p{5cm} |}
\hline
\textbf{Spalte 1}\\\hline
\myItemize{
   	\item Item 1
   	\item Item 2\\
	\myItemize{
   		\item SubItem 1
   		\item SubItem 2
	}
}
\\\hline
\end{tabular}

\end{document}

godi

Noch so einer

Beitrag von Noch so einer »

Wenn man es richtig macht, dann funktioniert es auch:
\documentclass[]{scrartcl}

\usepackage{enumitem}

% Abstandsreduktion Top
\makeatletter
\newcommand*{\compress}{\@minipagetrue}
\makeatother

\begin{document}

\begin{tabular}  {| p{5cm} |}
\hline \compress
\textbf{Spalte 1}\\\hline
\parbox[tt][\totalheight]{\linewidth}{\begin{itemize}[topsep=0pt, itemsep=0pt, partopsep=0pt, parsep=0pt]   
   \item Item 1
   \item Item 2
   \begin{itemize}[topsep=0pt,itemsep=0pt,partopsep=0pt,parsep=0pt]
   \item Unteritem 1
   \item Unteritem 2\strut
   \end{itemize}
\end{itemize}}%
\\\hline
\end{tabular}
\end{document}
Nein, das ist nicht das gleiche wie bei Dir. Wenn Du mal Deine Definition einsetzt, wirst Du das auch ganz schnell sehen.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Man könnte sich auch noch eine zusätzliche Listenumgebung für Tabellen definieren. Ich habe zusätzlich die Option leftmargin=* verwendet, um den Abstand links von der Liste zu entfernen.

Außerdem würde ich die Aufzählung dann gleich in eine minipage setzen.
\documentclass{scrartcl} 

\usepackage{enumitem} 
\newlist{tabitemize}{itemize}{2}% neue Listenumgebung für Tabellen
\setlist[tabitemize]{nosep,
  leftmargin=* % die Option ist eventuell auch sinnvoll
 }
\setlist[tabitemize,1]{label=\labelitemi}
\setlist[tabitemize,2]{label=\labelitemii}


\begin{document} 

\begin{tabular}{| p{5cm} |} 
  \hline
  \textbf{Spalte 1}\\
  \hline 
  \begin{minipage}[t]{\linewidth}
    \begin{tabitemize}
      \item Item 1 
      \item Item 2 
      \begin{tabitemize} 
        \item Unteritem 1 
        \item Unteritem 2\strut 
      \end{tabitemize} 
    \end{tabitemize}%
  \end{minipage}\\
  \hline 
\end{tabular}

\end{document}
Gruß
Elke

godi
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 75
Registriert: Mi 11. Feb 2015, 13:49

Beitrag von godi »

Danke für eure Hilfe!

Ihr habt mir sehr weiter geholfen, und aus dem Beispiel von Elke habe ich auch noch andere, für mich hilfreiche, Informationen herausholen können! :)

Antworten