Sie sind hier

Aufzählung in einer Tabelle, ist das möglich?

Hallo zusammen,

ich schreibe grade meine Diplomarbeit und habe folgendes Problem:

Ich würde gerne eine Tabelle erstellen die folgendermaßen aufgebaut sein soll:

---------------------
| Aufzählungspunkt |
| Aufzählungspunkt |
| Aufzählungspunkt |
|--------------------
| Aufzählungspunkt |
| Aufzählungspunkt |
| Aufzählungspunkt |
|---------------------------------------------------------------
| Aufzählungspunkt| Aufzählungspunkt| Aufzählungspunkt|
| Aufzählungspunkt| Aufzählungspunkt| Aufzählungspunkt|
| Aufzählungspunkt| Aufzählungspunkt| Aufzählungspunkt|
|---------------------------------------------------------------

Ist sowas, oder etwas ähnliches in LaTeX möglich?

Ich hoffe ihr könnt mir helfen.

Vielen Dank und viele Grüße
Lars

P.S. Ich hoffe man kann erkennen, was ich meine ;)

forum: 
Bild von Markus Kohm

Meinst du etwas wie eine nummerierte Liste (enumerate)?

Soll die Tabelle tatsächlich erst eine Spalte und dann plötzlich drei haben, wobei der Teil mit einer Spalte so breit ist wie die erste Spalte des Teils mit drei Spalten?

Wenn nummeriert werden soll, wie soll in dem mehrspaltigen Teil nummeriert werden?

Werden die vielen Linien tatsächlich gewünscht (siehe Anleitung von booktabs und das auf CTAN frei verfügbare und in der De-TeX-FAQ erwähnte tabsatz)?

Es ist immer gut, wenn man ein wenig zum Hintergrund einer Frage schreibst, dann wird oft klarer, was der Fragesteller tatsächlich haben will, nicht nur, wie er sich eine Lösung vorgestellt hat.

Kennst du \newcounter, \stepcounter, \the...?

Kennst du das array-Paket?

Das array-Paket habe ich zwar eingebunden, aber ich weiss nicht was genau es tut.
\newcounter, \stepcounter, ... kenne ich leider auch nicht.

Gibt es eine Möglichkeit Tabellen passgenau untereinander zu hängen?
das ich beispielsweise die obere mit drei Spalten und die untere mit einer Spalte mache?

Als Aufzählung meinte ich die itemize Umgebung.

Bild von Markus Kohm

Zum array-Paket gehört eine Anleitung. Die müsste überall dort, wo das array-Paket installiert ist, ebenfalls installiert sein. Zu finden dürfte sie auf den meisten Systemen mit

texdoc array

sein.

\newcounter etc. brauchst du nicht, da du keine nummerierte Liste, sondern nur eine einfache Liste haben willst. Grundsätzlich sind Listen in allen Absatzspalten möglich. Die einfachste Form der Absatzspalte ist die p-Spalte. Diese sollte in jeder LaTeX-Einführung zu finden sein. Weitere Absatzspalten bietet das array-Paket (siehe dessen Anleitung) und das tabularx-Paket (auch dazu gibt es eine Anleitung). Allerdings ist bei Verwendung von itemize und anderen Listen innerhalb einer Tabelle der Listeneinzug meist störend. Hier hilft beispielsweise das paralist-Paket (auch dazu gibt es eine Anleitung).

Neben der einfachen Form:

\documentclass{article}
\usepackage{array}
\begin{document}
\begin{tabular}{|>{\textbullet\ }l|>{\textbullet\ }l|>{\textbullet\ }l|}
 \cline{1-1}
 Aufz\"ahlungpunkt \\ 
 Aufz\"ahlungpunkt \\
 Aufz\"ahlungpunkt \\
 \cline{1-1}
 Aufz\"ahlungpunkt \\
 Aufz\"ahlungpunkt \\
 Aufz\"ahlungpunkt \\
 \hline
 Aufz\"ahlungpunkt & Aufz\"ahlungpunkt & Aufz\"ahlungpunkt \\
 Aufz\"ahlungpunkt & Aufz\"ahlungpunkt & Aufz\"ahlungpunkt \\
 Aufz\"ahlungpunkt & Aufz\"ahlungpunkt & Aufz\"ahlungpunkt \\
 \hline
\end{tabular}
\end{document}

bietet sich daher auch folgendes an:

\documentclass{article}
\usepackage{tabularx}
\usepackage{paralist}
\newcommand*{\sii}{\setdefaultleftmargin{1em}{1em}{1em}{1em}{1em}{1em}}
\begin{document}
\noindent\begin{tabularx}{\textwidth}{|>{\sii}X|>{\sii}X|>{\sii}X|}
 \cline{1-1}
 \begin{compactitem}
 \item Aufz\"ahlungpunkt
 \item Aufz\"ahlungpunkt
 \item Aufz\"ahlungpunkt
 \end{compactitem}\\
 \cline{1-1}
 \begin{compactitem}
 \item Aufz\"ahlungpunkt
 \item Aufz\"ahlungpunkt
 \item Aufz\"ahlungpunkt
 \end{compactitem}\\
 \hline
 \begin{compactitem}
 \item Aufz\"ahlungpunkt
 \item Aufz\"ahlungpunkt
 \item Aufz\"ahlungpunkt
 \end{compactitem} &
 \begin{compactitem}
 \item Aufz\"ahlungpunkt
 \item Aufz\"ahlungpunkt
 \item Aufz\"ahlungpunkt
 \end{compactitem} & 
 \begin{compactitem}
 \item Aufz\"ahlungpunkt
 \item Aufz\"ahlungpunkt
 \item Aufz\"ahlungpunkt
 \end{compactitem}\\
 \hline
 \begin{compactitem}
 \item Aufz\"ahlungpunkt
 \item Aufz\"ahlungpunkt
 \item Aufz\"ahlungpunkt
 \end{compactitem} &
 \begin{compactitem}
 \item Aufz\"ahlungpunkt
 \item Aufz\"ahlungpunkt
 \item Aufz\"ahlungpunkt
 \end{compactitem} & 
 \begin{compactitem}
 \item Aufz\"ahlungpunkt
 \item Aufz\"ahlungpunkt
 \item Aufz\"ahlungpunkt
 \end{compactitem}\\
 \hline
\end{tabularx}
\end{document}

Dabei wurde dann ausführlich Gebrauch von den Möglichkeiten von array (wird von tabularx geladen), tabularx und paralist gemacht.

Hallo, ich habe ein ähnliches Problem. Ich würde gerne wissen wie ich generell Aufzählungen in eine Tabelle bekommen kann. So soll meine Tabelle aufzählen. Ich sollet dabei möglich sein sowohl mit itemize als auch mit enumerate zu arbeiten.

|-----------------------------------
| Überschrift | Überschrift |
|-------------------------------------
| Aufzählungspunkt| Aufzählungspunkt|
| Aufzählungspunkt| Aufzählungspunkt|
| Aufzählungspunkt| Aufzählungspunkt|
|-------------------------------------

Hatte versucht das zweite obige Beispiel zu modifizieren ist mir aber nicht so ganz gelungen. Jedenfalls hat es dann mit der Umrandung nichts mehr gegeben. Wie kann ich das verwirlichen und verhindern, dass der Text am rechten Rand "klebt"?

Vielen Dank,

Miriam

Bild von Markus Kohm

Wenn man in dem Beispiel mit paralist einfach compactitem durch compactenum ersetzt, dann hat man doch eine Aufzählungsliste in einer Tabelle mit Umrandung und ohne dass der Text am rechten Rand klebt. Man kann auch die Ränder mit \setdefaultleftmargin also einer Änderung von \sii beliebig anders einstellen.

Irgendwie hast Du mir also Dein Problem nicht so richtig klar gemacht ... ist es vielleicht, dass Du die Aufzählung über mehrere Zellen fortsetzen möchtest? Das ginge beispielsweise so:

\documentclass{article}
\usepackage{tabularx}
\usepackage{paralist}
\newcommand*{\sii}{\setdefaultleftmargin{1em}{1em}{1em}{1em}{1em}{1em}}
\makeatletter
\newcommand*{\storeenum}{%
  \expandafter\xdef\csname
  stored@\@enumctr\endcsname{\expandafter\the\value{\@enumctr}}%
}%
\newcommand*{\restoreenum}{%
  \setcounter{\@enumctr}{\csname stored@\@enumctr\endcsname}%
}
\makeatother
\begin{document}
\noindent\begin{tabularx}{\textwidth}{|>{\sii}X|>{\sii}X|}
  \hline
  \begin{compactenum}
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
    \storeenum
  \end{compactenum} &
  \begin{compactenum}
    \restoreenum
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
    \storeenum
  \end{compactenum}\\
  \hline
  \begin{compactenum}
    \restoreenum
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
    \storeenum
  \end{compactenum} &
  \begin{compactenum}
    \restoreenum
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
  \end{compactenum}\\
  \hline
\end{tabularx}
\end{document}

Und falls Du die Reihenfolge anders festlegen möchtest, geht das mit einer Erweiterung über den \label/\ref-Mechanismus. Dabei werden dann natürlich min. zwei LaTeX-Läufe nach jeder Änderung benötigt. In dem folgenden Beispiel sind es (aufgrund der letzten Tabelle) sogar acht!

\documentclass{article}
\usepackage{tabularx}
\usepackage{paralist}
\newcommand*{\sii}{\setdefaultleftmargin{1em}{1em}{1em}{1em}{1em}{1em}}
\newcounter{storeenum}
\newcounter{restoreenum}
\makeatletter
\newcommand*{\storeenum}[1][@\roman{storeenum}@]{%
  \stepcounter{storeenum}%
  \expandafter\xdef\csname
  stored@\@enumctr\endcsname{\expandafter\the\value{\@enumctr}}%
  \label{store@enum@#1}%
}%
\newcommand*{\restoreenum}[1][@\roman{restoreenum}@]{%
  \stepcounter{restoreenum}%
  \@ifundefined{r@store@enum@#1}{%
    \setcounter{\@enumctr}{\csname stored@\@enumctr\endcsname}%
  }{%
    \begingroup
      \let\hbox\@gobble
      \edef\@tempa{\ref{store@enum@#1}}%
      \setcounter{\@enumctr}{\@tempa}%
    \endgroup
  }%
}
\makeatother
\begin{document}
\noindent\begin{tabularx}{\textwidth}{|>{\sii}X|>{\sii}X|}
  \hline
  \begin{compactenum}
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
    \storeenum
  \end{compactenum} &
  \begin{compactenum}
    \restoreenum
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
    \storeenum
  \end{compactenum}\\
  \hline
  \begin{compactenum}
    \restoreenum
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
    \storeenum
  \end{compactenum} &
  \begin{compactenum}
    \restoreenum
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
  \end{compactenum}\\
  \hline
\end{tabularx}
 
\noindent\begin{tabularx}{\textwidth}{|>{\sii}X|>{\sii}X|}
  \hline
  \begin{compactenum}
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
    \storeenum[1]
  \end{compactenum} &
  \begin{compactenum}
    \restoreenum[2]
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
    \storeenum[3]
  \end{compactenum}\\
  \hline
  \begin{compactenum}
    \restoreenum[1]
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
    \storeenum[2]
  \end{compactenum} &
  \begin{compactenum}
    \restoreenum[3]
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
    \storeenum[4]
  \end{compactenum}\\
  \hline
\end{tabularx}
 
\noindent\begin{tabularx}{\textwidth}{|>{\sii}X|>{\sii}X|}
  \hline
  \begin{compactenum}
    \restoreenum[4]
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
    \storeenum[5]
  \end{compactenum} &
  \begin{compactenum}
    \restoreenum[7]
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
  \end{compactenum}\\
  \hline
  \begin{compactenum}
    \restoreenum[6]
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
    \storeenum[7]
  \end{compactenum} &
  \begin{compactenum}
    \restoreenum[5]
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
  \item Aufz\"ahlungpunkt
    \storeenum[6]
  \end{compactenum}\\
  \hline
\end{tabularx}
\end{document}

Das hat aber alles nichts mit KOMA-Script zu tun. Ihr solltest solche Fragen in einem passenderen Forum, Usenet-Gruppe oder Mailingliste stellen.

Danke,

wusste selber noch nicht so ganz was ich will, sicher ist jedoch, dass ich ne Aufzählung in Tabelle brauche. Habe jetzt genug zum Rumprobieren und es funktioniert super.

Danke,

Miriam

Hallo,

ich müsste das Thema noch einmal aufgreifen. Wie würde ich es machen, wenn die Nummerierung verschachtelt ist, also:

Tabelle 1:
|1. text |
---------------
|1.1. text |
---------------
|1.1.1. text |
---------------
|1.2.1. text |
---------------

Tabelle 2:
|2. text |
---------------
|2.1. text |
---------------

Wäre dir sehr dankbar wenn du kurzfristig dazu auch ne Lösung zaubern könntest.
Ich verzweifle daran langsam.

MfG

Alexander

Bild von Markus Kohm

Man kann Listen schachteln. Die Art der Nummerierung kann man bei paralist einstellen. Siehe dazu die Anleitung zum Paket.

Hi,

das Problem bei mir ist die Verschachtelung in Tabellen. Ich würde gerne so wie in deinem Beispiel die Aufzählung über mehrere Tabellen und Zeilen haben. Nur dabei soll in der erstsen Zeile die Aufzählung 1. sein und in der zweiten 1.1.

Und da liegt mein Problem. Ich schaffe das:

-----------
|1. text
|1.1 text
-----------
|2. text
|2.1 text
-----------

Ich brauche das:

-----------
|1. text
------------
|1.1 text
-----------
|2. text
-----------
|2.1. text
-----------

Bild von Markus Kohm

OK, jetzt verstehe ich das Problem. Ich habe aber keine schnelle Lösung dafür. Wobei ich etwas zweifle, dass Listen in dem Fall überhaupt der richtige Ansatz sind. Davon abgesehen, dass mich das ganze schon im Ansatz zu sehr ans Klötzchenbauen erinnert, würde ich eher zu etwas wie:

\documentclass{article}
 
\makeatletter
\newcounter{tsection}
\newcounter{tsubsection}[tsection]
\renewcommand*{\thetsubsection}{\thetsection.\arabic{tsubsection}}
\newcommand*{\tsection}[1]{%
  \refstepcounter{tsection}%
  \@hangfrom{\thetsection\enskip}{#1}\tabularnewline\hline
}
\newcommand*{\tsubsection}[1]{%
  \refstepcounter{tsubsection}%
  \@hangfrom{\thetsubsection\enskip}{#1}\tabularnewline\hline
}
\newcommand*{\resettsection}{\setcounter{tsection}{0}}
\makeatother
 
\usepackage{tabularx}
 
\begin{document}
 
\noindent
\begin{tabularx}{\linewidth}{|X|}
\hline\resettsection
\tsection{text}
\tsubsection{text}
\tsection{text}
\tsubsection{text}
\tsubsection{text}
\end{tabularx}
 
\end{document}

tendieren.

Comments for "Aufzählung in einer Tabelle, ist das möglich?" abonnieren