PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Geschachtelte Nummerierung in einer Tabelle



André25
03-02-2013, 13:44
Hallo Freunde des guten Textsatzes!

Ich möchte gern eine Tabelle erstellen, in der eine geschachtelte Nummerierung erfolgt. Allerdings reichen meine Kenntnisse nicht, um das so umzusetzen, wie ich das gern haben möchte.

Hier ein auf das Wesentliche herunter gebrochene Beispiel:

\documentclass{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}

\usepackage{longtable}
\usepackage{booktabs}

\usepackage{ragged2e,array}
\usepackage{enumitem}

\begin{document}

\renewcommand{\arraystretch}{2}

\begin{longtable}[l]{>{\RaggedRight}p{7cm}>{\RaggedRight}p{9cm}} \toprule

Inhalt & Frage \\ \midrule
\multicolumn{2}{l}{\textbf{[A] Oberkategorie1}} \\
Kategorie1 &%
A.1 Ein längerer Text sieht in einer Aufzählung "`per Hand"' nicht schön aus \newline
A.2 Geschlecht \newline
A.3 Schulabschluss \\

Kategorie2 &
A.4 Berufliche Tätigkeit \newline
A.5 Krankenhausaufenthalte \\

\multicolumn{2}{l}{\textbf{[B] Oberkategorie2}} \\
Weitere Kategorie &
B.1 Frage XYZ\newline
B.2 Frage ABC \\

Noch eine Kategorie &
B.3 Frage 123 \\

\multicolumn{2}{l}{\textbf{[C] Oberkategorie3}} \\
Beschreibung &
C.1 Befinden \\

Gedanken &
C.2 Foo \newline
C.3 Bar \\

Ansatz einer Lösung!? &
\begin{minipage}[t]{9cm}
\begin{enumerate}[label=\Alph*.\arabic*]%
\item Die Minipage-Umgebung
\item verhindert einen
\item vertikalen Abstand!
\item Hier sieht es bei einem längeren Text schon wesentlich besser aus! \end{enumerate} \end{minipage} \\

\bottomrule
\multicolumn{2}{l}{
\textit{Notiz.} Blabla
}
\end{longtable}


\end{document}

Wie zu sehen, hätte ich gern eine alphanumerische Nummerierung der "Oberkategorien" in eckigen Klammern (die multicolumns) und die rechte Spalte soll dann eine numerische Aufzählung hinzu bekommen.

Im letzten Absatz habe ich etwas mit den Möglichkeiten des enumitem-Paketes gespielt. Aber das macht noch nicht so ganz das, was ich mir vorstelle.

Außerdem erhalte ich einige "Overfull \hbox" und einige "Underfull \hbox". Wie kann ich die verhindern/umgehen?

Und wie bekomme ich die Nummerierung umgesetzt? Wäre toll, wenn mir jemand entsprechende Impulse geben könnte!


Herzlichen Dank,

André

u_fischer
03-02-2013, 13:53
Du hast doch nur zwei Spalten. Da würde ich keine Tabelle verwenden, sondern normale Listen.

André25
03-02-2013, 15:31
Du hast doch nur zwei Spalten. Da würde ich keine Tabelle verwenden, sondern normale Listen.

Ähm -- Listen mit zwei Spalten? Auflistungen haben doch normalerweise keine Spalten. Außerdem finde ich eine Tabelle schon sinnvoll. Ich stelle hier die "(Unter-)Kategorien" links mit den Fragen rechts gegenüber...

Ganz abgesehen von der Ausgestaltung einer Tabelle. Aber vielen Dank für die Anregung!

u_fischer
03-02-2013, 17:26
Ähm -- Listen mit zwei Spalten?

Logisch gesehen, haben Listen zwei Spalten: Links die Nummer oder ein Symbol oder (bei description} ein Beschreibungstext, rechts die Erläuterung.


\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{lipsum}
\begin{document}
\minisec{Oberkategorie}

\begin{labeling}{Noch eine Kategorie}
\item[Gedanken] \lipsum[1]
\item[Noch eine Kategorie] \lipsum[2]
\begin{enumerate}
\item blub
\item bla
\end{enumerate}
\end{labeling}

\end{document}

André25
03-02-2013, 17:49
Logisch gesehen, haben Listen zwei Spalten: Links die Nummer oder ein Symbol oder (bei description} ein Beschreibungstext, rechts die Erläuterung.

Danke für die Erklärung. Prinzipiell wäre das natürlich eine Möglichkeit. In meinem Fall ist dies jedoch nicht sinnvoll. Ich habe andere Tabelle die ähnliches darstellen. Außerdem die Darstellung einer Tabelle (horizontale Linien; Tabellennotiz; Verweise im Text "siehe Tabelle~XY") usw. Und die linke Spalte ist in der eigentlichen Tabelle (nicht in dem Minimalbeispiel) weitaus umfangreicher im Text. In dem von Dir vorgeschlagenen Beispiel wird der Text nicht umgebrochen, wenn er über die Seite hinausragt. Sicher, hierfür gäbe es auch wieder eine Lösung; ober man nimmt eben eine Tabelle. ;)

Außerdem wären in dem Beispiel auch nicht die Oberkategorien (alphanumerisch) nummeriert und die Nummerierung setzt sich nicht in der rechten Spalte fort (mein eigentliches "Problem").

Vielleicht findet sich ja noch eine Lösung (für die Nummerierung).

Vielen Dank, André

André25
07-02-2013, 16:41
Hallöchen zusammen,

also nach einigem Suchen und Probieren habe ich es denn tatsächlich selbst hinbekommen. :p


\documentclass{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}

\usepackage{longtable}
\usepackage{booktabs}

\usepackage{ragged2e,array}
\usepackage{enumitem}
%\setenumerate[0]{leftmargin=0pt,itemindent=10pt}
%\setenumerate[0]{leftmargin=*} % Wenn diese Zeile aktiv ist, stimmt die Nummerierung nicht mehr!?!

\newcounter{Kategorie}
\setcounter{Kategorie}{0}
\newcounter{Frage}
\setcounter{Frage}{1}

\newcommand{\KategoriePlus}{%
\addtocounter{Kategorie}{1}%
[\Alph{Kategorie}]%
\setcounter{Frage}{1}%
}

\newcommand{\FragePlus}{%
\theFrage%
\addtocounter{Frage}{1}%
}

\begin{document}

\renewcommand{\arraystretch}{2}

\begin{longtable}[l]{>{\RaggedRight}p{7cm}>{\RaggedRight}p{9cm}} \toprule

Inhalt & Frage \\ \midrule

\multicolumn{2}{l}{\begin{minipage}[t]{7cm}
\bfseries \begin{enumerate}[label=\KategoriePlus] \item Oberkategorie1 \end{enumerate} \end{minipage}} \\
Kategorie1 &%
\begin{minipage}[t]{9cm} \begin{enumerate}[label=\Alph{Kategorie}.\FragePlus]
\item Ein längerer Text sieht in einer Aufzählung "`per Hand"' nicht schön aus
\item Geschlecht
\item Schulabschluss \end{enumerate} \end{minipage} \\

Kategorie2 &
\begin{minipage}[t]{9cm} \begin{enumerate}[label=\Alph{Kategorie}.\FragePlus]
\item Berufliche Tätigkeit
\item Krankenhausaufenthalte \end{enumerate} \end{minipage} \\

\multicolumn{2}{l}{\begin{minipage}[t]{7cm}
\bfseries \begin{enumerate}[label=\KategoriePlus] \item Oberkategorie2 \end{enumerate} \end{minipage}} \\
Weitere Kategorie &
\begin{minipage}[t]{9cm} \begin{enumerate}[label=\Alph{Kategorie}.\FragePlus]
\item Frage XYZ
\item Frage ABC \end{enumerate} \end{minipage} \\

Noch eine Kategorie &
\begin{minipage}[t]{9cm} \begin{enumerate}[label=\Alph{Kategorie}.\FragePlus]
\item Frage 123 \end{enumerate} \end{minipage} \\

\multicolumn{2}{l}{\begin{minipage}[t]{7cm}
\bfseries \begin{enumerate}[label=\KategoriePlus] \item Oberkategorie3 \end{enumerate} \end{minipage}} \\
Beschreibung &
\begin{minipage}[t]{9cm} \begin{enumerate}[label=\Alph{Kategorie}.\FragePlus]
\item Befinden \end{enumerate} \end{minipage} \\

Gedanken &
\begin{minipage}[t]{9cm} \begin{enumerate}[label=\Alph{Kategorie}.\FragePlus]
\item Foo
\item Bar \end{enumerate} \end{minipage} \\

\bottomrule
\multicolumn{2}{l}{
\textit{Notiz.} Blabla
}
\end{longtable}

\end{document}

Leider gibt es noch ein Problem. Und zwar unterdrücke ich (normalerweise) den Einzug bei der enumerate-Umgebung. Dazu sind zwei Codezeilen, die ich aber in dem Beispiel auskommentiert habe, da die zweite davon leider die Nummerierung verändert.

Kann mir jemand helfen, wie ich den Einzug unterdrücken kann ohne dass die Nummerierung beeinflusst wird?

Vielen Dank, André :)