multirow und rechtsbündig? Festlegung von Tabellen breiten?

Tabellen und Grafiken erstellen und anordnen


p.nietnagel
Forum-Anfänger
Forum-Anfänger
Beiträge: 32
Registriert: Mi 17. Jun 2009, 23:56

multirow und rechtsbündig? Festlegung von Tabellen breiten?

Beitrag von p.nietnagel »

Hallo zusammen,

ich habe 2 Probleme:

Erstens: ich nutze tabular* Umgebung, um die Gesamtbreite der Tabelle festzulegen. Ich verstehe nur nicht ganz, warum die beiden Tabellen (siehe Minimalbeispiel) unterschiedlich breit sind und seitlich unterschiedlich ausgerichtet sind :oops:

Zweitens: ich möchte gern eine itemize Umgebung in die Tabelle integrieren. Leider reicht mir in der linken Spalte bei einem Punkt die Zeile nicht aus. Daher greife ich auf multirow zurück. Problem dabei: mein Text sollte rechtsbündig ausgerichtet sein. Kennt jemand eine Möglichkeit, wie ich in multirow den Text rechtsbündig ausrichten kann?

\documentclass[a4paper,12pt,oneside,headinclude=false,notitlepage]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage{enumitem}
\usepackage[ngerman]{babel}
\usepackage{enumitem}
\usepackage{array}
\setlength{\extrarowheight}{2pt}
\usepackage{booktabs}
\usepackage{multirow} 
\newcommand{\rtab}{\raggedleft\arraybackslash} % Tabellenabschnitt rechtsbündig 

\begin{document}
\begin{tabular*}{\linewidth}{l}
\hline
Erste Tabelle \\
\hline
\end{tabular*}

\paragraph{Frage}
Warum sind die Tabellen nicht gleich breit und nicht gleich ausgerichtet? Sie sollten beide zeilenbreit sein. \bigskip


\noindent\begin{tabular*}{\linewidth}{@{}r
@{\hspace{0.05\linewidth}}p{0.72\linewidth}}
\hline 
 & Zweite Tabelle \\
 \hline
 & \\
 & \textbf{Spaltenüberschrift} \\  \cline{2-2} 
 & \\ [-2mm]				
\rtab{\emph{Beispiel}} &  
\setlength{\parskip}{-10pt} 
\vspace{-11pt}
\begin{itemize}[label=\textbullet, leftmargin=*]
\itemsep-2pt
\item ein Punkt
\item ein zweiter Punkt 
\end{itemize} \\								
\multirow{2}{.22\linewidth}{\emph{Ein etwas längerer Text, der rechtsbündig sein sollte}} & 
\setlength{\parskip}{-10pt} 
\vspace{-11pt}
\begin{itemize}[label=\textbullet, leftmargin=*]
\itemsep-2pt
\item ein Punkt
\item ein zweiter Punkt
\item ein dritter Punkt
\item ein vierter Punkt 
\end{itemize} \\
\end{tabular*}

\end{document}
Vielen Dank im Voraus für Tipps!


Schöne Grüße,
p.nietnagel

CollmDante
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 80
Registriert: So 9. Jan 2011, 10:00
Wohnort: Wermsdorf

Beitrag von CollmDante »

Das Problem besteht im Absatzeinzug der sich auf die erste Tabelle auswirkt. Diese hat zwar die Breite \linewidth, wird aber um den Absatzeinzug nach rechts in den Rand verschoben und dort nicht dargestellt.
Deshalb die Warnung:
Overfull \hbox (11.74988pt too wide) in paragraph at lines 14--19
Setzen sie vor die erste Tabelle gleichfalls den Befehl \noindent, werden die Tabellen mit der gleichen Breite dargestellt.

Mit Gruß
Jens

p.nietnagel
Forum-Anfänger
Forum-Anfänger
Beiträge: 32
Registriert: Mi 17. Jun 2009, 23:56

Beitrag von p.nietnagel »

Vielen Dank Jens! Das hatte ich übersehen.

Dennoch bleibt die zweite Frage offen: wie kann ich in einer multirow Zelle den Text rechtsbündig ausrichten?

Vielen Dank und einen schönen Tag,
p.nietnagel

Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Beitrag von Sepp99 »

Weil Du es nicht rechtsbündig setzt. Mit
\multirow{2}{.22\linewidth}{\rtab{\emph{Ein etwas längerer Text, der rechtsbündig sein sollte}}} &
funktioniert es.

Gruß, Sepp.-

PS.: Du lädst das Paket booktabs, warum setzt Du es dann nicht ein (z.B. \toprule anstatt \hline usw.) ?

p.nietnagel
Forum-Anfänger
Forum-Anfänger
Beiträge: 32
Registriert: Mi 17. Jun 2009, 23:56

Beitrag von p.nietnagel »

Hm, komisch. Ich dachte, ich hätte genau das beim rumprobieren auch versucht. Das war auch meine Idee gewesen, dass das so funktionieren muss.
Seltsam. Wer weiß, was ich da falsch gemacht hatte. :o

Vielen Dank! So funktioniert es nämlich wirklich super.

Schöne Grüße,
p.nietnagel

p.nietnagel
Forum-Anfänger
Forum-Anfänger
Beiträge: 32
Registriert: Mi 17. Jun 2009, 23:56

Tabellenbreiten sind mir doch noch unklar

Beitrag von p.nietnagel »

Hallo,

ich wollte es vermeiden, einen neuen Thread aufzumachen, deswegen hänge ich die doch noch ungeklärten Fragen in einem abgeänderten Minimalbeispiel hier dran.
Die erste Frage ist, warum der Text auf der linken Seite in der zweiten Tabelle versetzt zu den Zeilen auf der rechten Seite erscheint.
Die zweite Frage bezieht sich auf die erste und die dritte Tabelle im Beispiel.
Und zwar ist mir immer noch nicht klar, wie es zu den unterschiedlichen Tabellenbreiten kommt, obwohl ich doch (meine), die Tabellenbreiten mit Hilfe von \linewidth explizit festegelegt zu haben. Oder irre ich mich?
\documentclass[a4paper,12pt,oneside,headinclude=false,parskip=half,notitlepage]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage{enumitem}
\usepackage[ngerman]{babel}
\usepackage{array}
\setlength{\extrarowheight}{2pt}
\usepackage{booktabs}
\usepackage{multirow} 

\newcommand{\rtab}{\raggedleft\arraybackslash} % Tabellenabschnitt rechtsbündig 
\newcommand{\ltab}{\raggedright\arraybackslash} % Tabellenabschnitt rechtsbündig 
 
\begin{document}

\noindent\begin{tabular*}{\linewidth}{@{}r
@{\hspace{0.05\linewidth}}p{0.72\linewidth}}
  \ltab{Abschnitt} & \\
 \toprule
 & warum ist die \texttt{cline}, die der "`Spaltenüberschrift"' folgt, leicht versetzt zu der obigen \texttt{toprule}? Immerhin befinden sich doch beide in ein- und derselben Tabelle? \\
 & \\
 				& \textbf{Spaltenüberschrift} \\  \cline{2-2} 
				& \\ [-2mm]
				
\rtab{01/2010 -- 12/2010} &  
\setlength{\parskip}{-10pt} 
\vspace{-11pt}
\begin{itemize}[label=\textbullet, leftmargin=*]
\itemsep-2pt
\item ein Punkt
\item ein zweiter Punkt 
\end{itemize} \\				
				
\multirow{2}{0.22\linewidth}{\rtab{\emph{Ein etwas längerer rechtsbündiger Text}}} & 
\setlength{\parskip}{-10pt} 
\vspace{-11pt}
\begin{itemize}[label=\textbullet, leftmargin=*]
\itemsep-2pt
\item warum erscheint der
\item Text auf der rechten Seite
\item zeilenversetzt zu diesen
\item items? 
\end{itemize} \\
 \end{tabular*}
 
\noindent\begin{tabular*}{\linewidth}{@{}p{0.1\linewidth}@{\hspace{0.05\linewidth}}p{0.792\linewidth}}
\textbf{\sffamily{EinWeitererEintrag}}	&  \rtab{{\small{\emph{(fortgesetzt)}}}}\\ \cline{1-2} 
& \\ [-2mm]
		 			& hier wird eine \texttt{cline} verwendet. Warum ist diese kürzer als die unten verwendete \texttt{hline}? \\
		 			& \\
\multicolumn{2}{l}{\textbf{\sffamily{Ein Weiterer Eintrag}}	 \hfill{{\small{\emph{(fortgesetzt)}}}}}\\  \hline	%
& \\ [-2mm]	 
& hier wird eine \texttt{hline} verwendet. Warum ist diese länger als die oben verwendete \texttt{cline}? \\	
		 			& \\
\multicolumn{2}{l}{\textbf{\sffamily{EinWeitererEintrag}}	 \hfill{{\small{\emph{(fortgesetzt)}}}}}\\ \cline{1-2} 
 \end{tabular*}
 
\end{document}
Ich hab schon viel rumgespielt und rumgebastelt, aber ich schaffe es einfach nicht, die Tabellen "fix" zu machen, d.h. ich würde gern die Spaltenbreiten festlegen, aber eben immer in Abhängigkeit der Textbreite, bzw. Zeilenlänge. Warum ist das so schwierig? Oder wo mache ich was falsch?

Danke im Voraus für Tipps!

Grüße,
p.nietnagel

Antworten