Seite 1 von 2

Tabelle mit multirow

Verfasst: So 12. Jun 2016, 20:55
von malo
Hi,

ich habe bisher meine Tabellen immer nach diesem Muster gemacht.
Jetzt musste ich einmal mit \multirow arbeiten und das Ergebnis finde ich erst einmal nicht so schön. Erstens: Ich kann den Eintrag Haus 1 nicht in der Tabelle sehen. Zweitens: Gefällt es mir nicht, dass die Zeilen in dem \multirow Teil auch mit wechselnden Farben erscheinen. Da wäre eine einheitliche besser. Wie mach ich das denn am besten bzw. ist das überhaupt möglich ?
Wichtig ist aber erstmal, dass der Text in der Tabelle auftaucht,.



\documentclass[a4paper,12pt,draft]{scrreprt}
 

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tabularx,ragged2e}
\usepackage{helvet}
\usepackage[table,dvipsnames,svgnames]{xcolor}
\usepackage{booktabs}
%\usepackage{booktabs}

\usepackage{siunitx}

\usepackage{multirow}
%\usepackage{colortbl}
\usepackage{array}
\usepackage{tabularx}
%\colorlet{DOrange}{Orange}% mir fehlte deine Farbe
\begin{document}

\begin{table}[htb]
\centering
%\fontfamily{phv}

\fontfamily{ptm}\fontsize{10}{15pt}\selectfont
\rowcolors{2}{Grey!25}{}


\caption[]{}


\begin{tabularx}{\textwidth}{X|XXXXX@{\hspace{2pt}}%llllllllllll|l@{\hspace{2pt}}
   >{\RaggedRight}X@{2}}
\rowcolor{white!20!black!60}\rule[-2mm]{0mm}{6mm}\textcolor{white}{\bfseries} 
Wasserwerk & Brunnen & Geländehöhe [m ü. NHN] & FiOk \newline[m ü. NHN] & FiUk \newline[m ü. NHN]&Ruhewasser-spiegel \newline[m .ü. NHN]\\

\multirow{3}*{Haus 1}
		&1			& 38,2		&3,1	&-5,8&\\
		&2 			& 38,9		&-0,24	&-7,24 & 36,45 - 36\\
		& 3			& 38,3		& 0.7 & -7,3	&\\
	
\hline
\multirow{3}*{Haus 2}
		& 1			& 64,9		& 3,7 & -8,1&\\
		& 2 			& 65,5		& 10,5&0,5  & 48 - 47\\ 
		& 3			& 64,9		& 10,7 & 1,4 &\\
\end{tabularx}
\label{Brunnen}%wrrl
\end{table}%
\end{document}

Verfasst: So 12. Jun 2016, 21:20
von Johannes_B
Ich persönlich bin ja kein Freund von multirow, deshalb hier eine kleine Alternative.
\documentclass[a4paper,12pt,draft,captions=tableabove]{scrreprt}


\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tabularx,ragged2e}
\usepackage[table,dvipsnames,svgnames]{xcolor}
\usepackage{booktabs}

\usepackage{siunitx}

\usepackage{tabularx}
\newcommand{\Einheit}{m \"u.~NHN}
\newcolumntype{L}{>{\RaggedRight\hspace{0pt}}X}
\begin{document}

\begin{table}%[htb]
	\centering
	\caption[]{}
	\begin{tabularx}{\textwidth}{LLSSSL}
		\toprule
		Wasserwerk     & Brunnen & {Gelände"-höhe} & {FiOk}       & {FiUk}       & {Ruhewasserspiegel}  \\
		               &         & {[\Einheit]}    & {[\Einheit]} & {[\Einheit]} & {[\Einheit]}\\
 \midrule
		Haus 1         & 1       & 38,2            & 3,1          & -5,8         & 36,45 - 36\\
		               & 2       & 38,9            & -0,24        & -7,24        & \\
		               & 3       & 38,3            & 0.7          & -7,3         & \\
		\addlinespace
		Haus 2         & 1       & 64,9            & 3,7          & -8,1         & 48 - 47\\
		               & 2       & 65,5            & 10,5         & 0,5          & \\
		               & 3       & 64,9            & 10,7         & 1,4          & \\
		\bottomrule
	\end{tabularx}
	\label{Brunnen}
\end{table}%
\end{document}

Verfasst: So 12. Jun 2016, 22:05
von malo
Das sieht um einiges besser aus. Danke dir
Ich hatte mich einfach für unterschiedliche Zeilenfarben entscheiden, weil ich teilweise recht lange Tabellen habe und man einfach die Zeilen immer schön im Blick hatte.
Das muss ja auch alles schön einheitlich sein.

Danke
Malo

Verfasst: Mo 13. Jun 2016, 14:32
von malo
Ich muss jetzt doch mal fragen.

Was hat es hier mit dem {LLSSSL} auf sich.
 \begin{tabularx}{\textwidth}{LLSSSL}

Verfasst: Mo 13. Jun 2016, 14:52
von Bartman
L und S sind Spaltentypen. L wurde von Johannes_B erstellt
\newcolumntype{L}{>{\RaggedRight\hspace{0pt}}X}
und S wird durch das Laden des Pakets siunitx verfügbar gemacht. Das X ist ein Spaltentyp des Pakets tabularx.

Verfasst: Mo 13. Jun 2016, 16:01
von Bartman
Ich habe das Beispiel von Johannes_B aufgegriffen und nach meinen Vorstellungen umgestaltet:
\documentclass[fontsize=12pt,captions=tableabove]{scrreprt}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{showframe} % Wie man sieht, wird tabularx in diesem Beispiel nicht gebraucht

\sisetup{locale=DE}

\newcommand{\Einheit}{[m ü.~NHN]}
\newcommand*{\Spaltenbeschriftung}[3]{
	\multicolumn{#1}{
    	>{\hspace{0pt}}p{#2}
	}{#3}
}

\begin{document}

\begin{table}
	\centering
	\caption{Brunnen}
	\label{Brunnen}
	\renewcommand{\arraystretch}{1.2}
	\begin{tabular}{llSSSr@{\,--\,}l}
	\toprule
	Wasserwerk & {Brunnen} & {Geländehöhe} & {FiOk}     & {FiUk}     & \Spaltenbeschriftung{2}{2.3cm}{Ruhewasserspiegel} \\
              &           & {\Einheit}    & {\Einheit} & {\Einheit} & \multicolumn{2}{l}{\Einheit}\\
	\midrule
   Haus 1     & 1         & 38,2          & 3,1        & -5,8       & 36,45 & 36\\
              & 2         & 38,9          & -0,24      & -7,24      & \multicolumn{1}{l}{} \\
              & 3         & 38,3          & 0.7        & -7,3       & \multicolumn{1}{l}{} \\[5mm]
   Haus 2     & 1         & 64,9          & 3,7        & -8,1       & 48    & 47\\
              & 2         & 65,5          & 10,5       & 0,5        & \multicolumn{1}{l}{} \\
              & 3         & 64,9          & 10,7       & 1,4        & \multicolumn{1}{l}{} \\
	\bottomrule
	\end{tabular}
\end{table}%
\end{document}
Natürlich könntest Du die letzten beiden Spaltentypen r und l jeweils durch ein S ersetzen, aber auch mit dem Einsatz der Optionen table-format oder table-number-alignment müsstest Du dann, z. B. bei einer natürlichen Zahl auf der linken Seite des Gedankenstriches, mit Abständen leben.

Verfasst: Mo 13. Jun 2016, 16:49
von malo
Vielen Dank für eure Vorschläge.

Ich habe jetzt noch ein kleines Problem.
Und zwar habe ich in andern Tabellen Zahlen mit (plus/minus).
Das habe ich meistens mit \pm gemacht oder auch \num{3+-5.8}
Jetzt habe ich leider kein +- Zeichen mehr, nur die Zahl in einer Klammer.
\documentclass[a4paper,12pt,draft,captions=tableabove]{scrreprt}


\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tabularx,ragged2e}
\usepackage[table,dvipsnames,svgnames]{xcolor}
\usepackage{booktabs}

\usepackage{siunitx}

\usepackage{tabularx}
\newcommand{\Einheit}{m \"u.~NHN}
\newcolumntype{L}{>{\RaggedRight\hspace{0pt}}X}
\begin{document}

\begin{table}%[htb]
   \centering
   \caption[]{}
   \begin{tabularx}{\textwidth}{LLSSSL}
      \toprule
      Wasserwerk     & Brunnen & {Gelände"-höhe} & {FiOk}       & {FiUk}       & {Ruhewasserspiegel}  \\
                     &         & {[\Einheit]}    & {[\Einheit]} & {[\Einheit]} & {[\Einheit]}\\
 \midrule
      Haus 1         & 1       & 38\pm2            & 3,1          & -5,8         & 36,45 - 36\\
                     & 2       & \num{3+-5.8}            & -0,24        & -7,24        & \\
                     & 3       & 38,3            & 0.7          & -7,3         & \\
      \addlinespace
      Haus 2         & 1       & 64,9            & 3,7          & -8,1         & 48 - 47\\
                     & 2       & 65,5            & 10,5         & 0,5          & \\
                     & 3       & 64,9            & 10,7         & 1,4          & \\
      \bottomrule
   \end{tabularx}
   \label{Brunnen}
\end{table}%
\end{document}

Verfasst: Mo 13. Jun 2016, 18:22
von Bartman
Sieh Dir die Tabelle 28 und ihren Quelltext im Abschnitt 5.14 der Dokumentation von siunitx an.

Verfasst: Mi 15. Jun 2016, 18:59
von malo
Danke nochmals für die ganze Hilfe.
Aber mit Siunitx werde ich einfach nicht so richtig warm

Ich habe versucht meine anderen Tabellen dem Style anzupassen, aber das gelingt mir nicht
Ersten richten sich die [S] Spalten alle zu weit nach rechts aus.
Zweitens verstehe ich nicht warum ich trotz allem immer noch zwei Dezimalstellen bekomme obwohl ich die nicht mal in die Tabelle schreibe.


\documentclass[a4paper,12pt,draft,captions=tableabove]{scrreprt}


\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tabularx,ragged2e}
\usepackage[table,dvipsnames,svgnames]{xcolor}
\usepackage{booktabs}

\usepackage{siunitx}

\usepackage{tabularx}

\newcolumntype{L}{>{\RaggedRight\hspace{0pt}}X}
\begin{document}

\begin{table}%[htb]
   \centering
   \caption[]{}
\sisetup{
separate-uncertainty,table-align-uncertainty=true,table-figures-decimal=1,
table-format=1.1(1)
}

\begin{tabularx}{\textwidth}{LSSS}
\toprule
{bla}			&{Transekt 1} 		& {Transekt 2} 		& {Transekt 3} 		 \\
\midrule
P 		& 1.5+-0.1		&1.8+-0.38		&1.4+-0,07					\\
Fet 		& 14.1+-1,4 		&38+-5,8 		&10.7+-0,5						\\
Cat		& 35+-1,5	  	&181+-17  		&31+-13						\\
St			& 4.7+-1,7		&1,4+-0,07		&12.1+-0,85						\\
\addlinespace
O	& 12.1+-3 		& 38.2+-5.8 		&13.5+-6						\\
C:N			& 14,7+-0,4		&23.3+-2,6  		&13.5+-1,2						\\
jkk			& 32.2+-3		& 65.9			&						\\
\bottomrule



\end{tabularx}
\label{Ele}
\end{table}
\end{document}

Verfasst: Mi 15. Jun 2016, 19:15
von Johannes_B
Stell dir vor du kannst mit einer Genauigkeit von .0001 Meter messen. Und dann gibst du eine Längenangabe an mit 1.0+-.0001 Meter an. Ist das sinnvoll?

Andererseits, kannst du mit einem Zollstock/Gliedermaßstab/Metermaß im Mikrometerbereich messen?

Es besteht durchaus ein Unterschied zwischen 1.0 Meter und 1.00000 Meter.
\documentclass[a4paper,12pt,draft,captions=tableabove]{scrreprt}


\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tabularx,ragged2e}
\usepackage[table,dvipsnames,svgnames]{xcolor}
\usepackage{booktabs}

\usepackage{siunitx}

\usepackage{tabularx}

\newcolumntype{L}{>{\RaggedRight\hspace{0pt}}X}
\begin{document}

\begin{table}%[htb]
	\centering
	\caption[]{}
	\sisetup{
		separate-uncertainty,table-align-uncertainty=true,table-figures-decimal=1,
		table-format=3.2(2)
	}
	\begin{tabular}{lSSS}
		\toprule
		{bla}         &{Transekt 1}       & {Transekt 2}       & {Transekt 3}        \\
		\midrule
		P       & 1.5+-0.1      &1.8+-0.38      &1.4+-0,07               \\
		Fet       & 14.1+-1,4       &38+-5,8       &10.7+-0,5                  \\
		Cat      & 35+-1,5        &181+-17        &31+-13                  \\
		St         & 4.7+-1,7      &1,4+-0,07      &12.1+-0,85                  \\
		\addlinespace
		O   & 12.1+-3       & 38.2+-5.8       &13.5+-6                  \\
		C:N         & 14,7+-0,4      &23.3+-2,6        &13.5+-1,2                  \\
		jkk         & 32.2+-3      & 65.9         &                  \\
		\bottomrule
	\end{tabular}
	\label{Ele}
\end{table}
\end{document}