Seite 1 von 2

Spaltenbreite vergrößern

Verfasst: Do 26. Mai 2016, 12:35
von pauabaer
Hallo,

ich hab folgende Tabelle vorbereitet.
\documentclass{scrreprt} 
\usepackage[ngerman]{babel} 
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}   

\usepackage{dcolumn}
\usepackage{booktabs}
\usepackage{blindtext}
\usepackage{array}
\usepackage{tabularx}
\usepackage{ragged2e}
\newcommand{\mcl}[1]{\multicolumn{1}{l}{#1}}



\begin{document}

\blindtext

\begin{table}%
\centering
\caption{Caption}
\label{label}
\begin{tabular}{rc}
\textbf{Tatigkeitsfeld} & \textbf{Anzahl der Arbeitskrafte}\\

\mcl{Schalarbeiten} &  \\

Stutzen & 2 \\

 
\end{tabular} 
\end{table}

\end{document}
Allerdings ist mir die linke Spalte zu klein und würde sie gerne etwas vergrößern, sodass die links- und rechtsbündigen Einträge auch richtig zur Geltung kommen.

Habs schon mit tabularx versucht und mir einen neuen Spaltentyp definiert. Allerdings ohne Erfolg. Deshalb wollte ich fragen ob es eine einfache Lösung gibt meine erste Spalte auf eine bestimmte Größe zu fixieren?

Gruß
pauabaer

Re: Spaltenbreite vergrößern

Verfasst: Do 26. Mai 2016, 14:12
von Bartman
pauabaer hat geschrieben:Deshalb wollte ich fragen ob es eine einfache Lösung gibt meine erste Spalte auf eine bestimmte Größe zu fixieren?
Es dürften im Unterforum für "Tabellen und Grafiken" mehrere Beispiele zu finden sein, in denen mithilfe der p-Spalte eine bestimmte Größe eingestellt wird.

Re: Spaltenbreite vergrößern

Verfasst: So 29. Mai 2016, 13:57
von pauabaer
Bartman hat geschrieben:Es dürften im Unterforum für "Tabellen und Grafiken" mehrere Beispiele zu finden sein, in denen mithilfe der p-Spalte eine bestimmte Größe eingestellt wird.
Ich habe auch gefunden wie ich die Spaltenbreite bestimmen kann. Soweit kein Problem mehr. Nur weiß ich nicht, wie ich eine einzelne Zeile anders ausrichten kann. In meinem Fall linksbündig.

Re: Spaltenbreite vergrößern

Verfasst: So 29. Mai 2016, 16:37
von esdd
pauabaer hat geschrieben: Ich habe auch gefunden wie ich die Spaltenbreite bestimmen kann. Soweit kein Problem mehr. Nur weiß ich nicht, wie ich eine einzelne Zeile anders ausrichten kann. In meinem Fall linksbündig.
Linksbündig ist doch die voreingestellte Ausrichtung von p-Spalten? Vielleicht fügst Du Dein obiges Minimalbeispiel noch mal ein, aber angepasst an die neue Fragestellung.

Verfasst: Mo 30. Mai 2016, 22:52
von pauabaer
Du hast natürlich Recht. Linksbündig ist Standard.

Hier meine Tabelle:
\begin{table}[h!]
	\captionsetup{singlelinecheck=off}
	\caption[Unterscheidung der Produktionsfaktoren]{Unterscheidung der Produktionsfaktoren}
	\label{tbl:Bestandteile}
	\small
	\setlength\extrarowheight{2pt}
	\begin{tabularx}{\textwidth}{p{7.5cm}p{7.5cm}}
		\toprule
		\textbf{elementare Faktoren} & \textbf{dispositive Faktoren} \\
		\midrule
		Arbeit &	Planung \\
		Betriebsmittel &	Steuerung \\				
		Stoffe & Kontrolle\\
				& Organisation\\
				& Kommunikation\\
		\bottomrule
	\end{tabularx}
\end{table}
Wie erreiche ich jetzt, dass einzelne Zeilen rechtsbündig ausgerichtet werden können? Also Beispielsweise die erste Zeile mit den "Faktoren"?

Gruß
pauabaer

Verfasst: Di 31. Mai 2016, 02:00
von esdd
Wenn Du tabularx verwendest, sollte mindestens eine der Spalten den Typ X haben. Falls Deine beiden Spalten beide gleich breit sein sollen, verwende zwei X Spalten. Dann wird die vorgegebene Breite auf beide gleich verteilt.

Die Ausrichtung einzelner Zellen kannst Du, wie in Deinem Eingangsbeispiel, durch Änderung des Spaltentyps über \multicolumn anpassen. Oder Du verwendest in der Zelle \raggedleft. Wenn Du die Zeilen mit \\ abschließt, muss in der letzten Spalte \arraybackslash ergänzt werden.
\documentclass{scrreprt} 
\usepackage[ngerman]{babel} 
\usepackage[latin1]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage{booktabs} 
\usepackage{tabularx}% lädt auch array 
\usepackage{blindtext}
\usepackage{caption}
\begin{document} 
\blindtext 
\begin{table}[h!] 
    \captionsetup{singlelinecheck=off} 
    \caption[Unterscheidung der Produktionsfaktoren]{Unterscheidung der Produktionsfaktoren} 
    \label{tbl:Bestandteile} 
    \small 
    \setlength\extrarowheight{2pt} 
    \begin{tabularx}{\textwidth}{XX} 
       \toprule 
       \textbf{elementare Faktoren} & \textbf{dispositive Faktoren} \\ 
       \midrule 
       Arbeit &   Planung \\ 
       Betriebsmittel &   Steuerung \\             
       \multicolumn{1}{r}{Stoffe} & Kontrolle\\ 
             & Organisation\\ 
             & Kommunikation\\
       \raggedleft Stoffe & \raggedleft\arraybackslash Kontrolle\\ 
             & Organisation\\ 
             & Kommunikation\\
       \bottomrule 
    \end{tabularx} 
\end{table} 
\end{document}

Verfasst: Mi 1. Jun 2016, 13:14
von pauabaer
Vielen Dank!
Kurze Frage noch. Warum sollte mind. eine der Spalten den Typ X haben? Und wie bekomme ich es hin, dass die Tabelle nicht auf die gesamte Textbreite gestreckt wird?

Verfasst: Mi 1. Jun 2016, 13:26
von DADABBI
Weil die angegebene Tabellenbreite dadurch erreicht wird, dass die Breiten der X-Spalten angepasst wird. Ohne X-Spalten kann tabularx die Restbreite nicht verteilen und damit hat man ggf. allenfalls entsprechend lange horizontale Linien aber nicht wirklich eine entsprechend breite Tabelle. Siehe auch »Unterschied zwischen: tabular, tabularx und tabulary?« und natürlich die [d]tabularx[/d]-Anleitung.

BTW: Der Status "Rückfrage" ist (potentiellen) Helfern vorbehalten. Bitte informiere dich über die Bedeutung.

Verfasst: Mi 1. Jun 2016, 13:54
von pauabaer
Ok, danke.
Wenn ich die Tabelle jetzt aber nicht auf die ganze Textbreite bringen möchte, wie gehe ich dann vor?

Verfasst: Mi 1. Jun 2016, 17:03
von DADABBI
Dann gibst du bei \begin{tabularx} als erstes Argument statt \textwidth natürlich die Breite an, die du haben willst. :roll: