
Ich möchte eine ähnliche Tabelle wie im Bild erstellen. Ich weiß nicht, wie ich die Dicke und das Farbschema der Tabellenränder wie im Bild anpassen kann, um das gewünschte Ergebnis zu erzielen.
Code:
Wie viele Zeilen soll ich umfassen, 4 oder 5? Für „Alter“ habe ich {5}
als Parameter angegeben \multirow
. Ist das richtig?
\newcolumntype{y}{>{\bfseries\arraybackslash}m{4cm}}
\newcolumntype{L}{>{\centering\arraybackslash}m{3.5cm}}
\begin {table}
\caption{Demographic Profiles of Participants}
\begin{center}
\begin{tabular}{ |y | L | L | L | >{$} Sr <{$}}
\hline
Socio Demographic Factors & \textbf{Ranges} & \textbf{Frequency} & \textbf{Responses (\%)} \\ \hline
\multirow{5}{3em}{\textbf{AGE}} & 18-25 YEARS & 84 & 57 \\
& 26-35 YEARS & 32 & 22 \\
& 36-45 YEARS & 11 & 7 \\
& 46-55YEARS & 14 & 9 \\
& 56-ABOVE & 7 & 5 \\ \hline
\multirow{1}{7em}{GENDER} & MALE & 87 & 59\\
& FEMALE & 61 & 41 \\ \hline
\multirow{5}{7em}{COMPUTER PROFICIENCY LEVEL} & LESS THAN 1 YEAR & 5 & 3 \\
& 1 TO 3 YEARS & 37 & 25 \\
& 4 TO 6 YEARS & 43 & 29 \\
& 7 TO 9YEARS & 25 & 17 \\
& MORE THAN 9 YEARS & 42 &28 \\ \hline
\multirow{4}{7em}{EDUCATION} &UNDER GRADUATE STUDENT (HONS) & 5 & 3 \\
& GRADUATE STUDENT (HONS) & 67 & 45 \\
& POST GRADUATE STUDENT & 37 & 25 \\
& DOCTORATE STUDENTS & 18 & 12 \\ \hline
\multirow{2}{3em}{COMPUTER EXPERIENCE} & YES & 101 & 68 \\
& NO & 47 & 32 \\ \hline
\multirow{2}{7em}{MAJOR DISCIPLINE} & IT STUDENTS & 42 & 48 \\
& NON-IT STUDENTS & 59 & 42 \\ \hline
\end{tabular}
\end{center}
\end{table}
Antwort1
Das Paket multirow
erwartet, dass Sie die Anzahl der Zeilen (nicht Reihen) angeben, die auf eine mehrzeilige Zelle folgen. In Ihrem Fall: für ALTER: 5, für GESCHLECHT: 2, für COMPUTER ... 5, für Bildung: 7 usw. Im Allgemeinen bedeutet dies, dass Sie die Zeilen zählen sollten, nachdem die Tabelle erstellt wurde, und dann die Anzahl der überspannten Zeilen korrigieren sollten. Zum Beispiel, wie ich es hier mache:
\documentclass{article}
\usepackage{array,multirow}
\begin{document}
\newcolumntype{y}{>{\bfseries\arraybackslash}m{4cm}}
\begin {table}
\caption{Demographic Profiles of Participants}
\centering
\begin{tabular}{ |y|>{\raggedright}p{4cm}|c|c<{\%}|}
\hline
\centering
Socio Demographic Factors
& \multicolumn{1}{c|}{\textbf{Ranges}}
& \textbf{Frequency}
& \textbf{Responses (\%)} \\ \hline
\multirow{5}{4cm}{\textbf{AGE}}
& 18-25 YEARS & 84 & 57 \\
& 26-35 YEARS & 32 & 22 \\
& 36-45 YEARS & 11 & 7 \\
& 46-55YEARS & 14 & 9 \\
& 56-ABOVE & 7 & 5 \\ \hline
\multirow{1}{4cm}[-1.5ex]{GENDER}
& MALE & 87 & 59 \\
& FEMALE & 61 & 41 \\ \hline
\multirow{5}{4cm}{COMPUTER PROFICIENCY LEVEL}
& LESS THAN 1 YEAR & 5 & 3 \\
& 1 TO 3 YEARS & 37 & 25 \\
& 4 TO 6 YEARS & 43 & 29 \\
& 7 TO 9YEARS & 25 & 17 \\
& MORE THAN 9 YEARS & 42 & 28 \\ \hline
\multirow{7}{4cm}{EDUCATION}
&UNDER GRADUATE STUDENT (HONS)
& 5 & 3 \\
& GRADUATE STUDENT (HONS)
& 67 & 45 \\
& POST GRADUATE STUDENT & 37 & 25 \\
& DOCTORATE STUDENTS & 18 & 12 \\ \hline
\multirow{2}{4cm}{COMPUTER EXPERIENCE}
& YES & 101 & 68 \\
& NO & 47 & 32 \\ \hline
\multirow{2}{4cm}{MAJOR DISCIPLINE}
& IT STUDENTS & 42 & 48 \\
& NON-IT STUDENTS & 59 & 42 \\ \hline
\end{tabular}
\end{table}
\end{document}
Eine einfachere Aufgabe haben Sie, wenn alle Zeilen danach multirow cell
nur eine Zeile haben. In diesem Fall sollten Sie für die zweite Spalte l
stattdessen p
den Spaltentyp verwenden. Für eine andere Möglichkeit folgen Sie dem von Johannes_B bereitgestellten Link.
Ich habe auch die Tabellenkonstruktion etwas vereinfacht.
Antwort2
Zu den Farbregeln der Tabellen gibt es etwa diese in der Präambel:
\usepackage{colortbl} \arrayrulecolor{blue!70}
Um die Dicke der Linien und die vertikale Polsterung anzupassen, können Sie das Paket
booktabs
und den Befehl\specialrule{}{}{}
mit drei Argumenten verwenden: Dicke, Abstand darüber und Abstand darunter.Ja, fünf ist richtig. Du hast 5 Ebenen (Zeilen) für den Faktor „Alter“ und das erste Argument
\multirow
muss die Anzahl dieser Zeilen sein.Was die Polsterung betrifft, ist der Link von Werner mehr als ausreichend. Ich würde hier die
tabularx
undtabulary
Pakete hervorheben.
Das Problem ist gelöst, nun ja ... über Geschmack lässt sich bekanntlich streiten, aber Ihre Tabelle ist für mich ein Beispiel dafür, was man nicht tun sollte (und ich fürchte, das gilt auch für andere Leute). Daher einige Vorschläge:
Vermeiden Sie vertikale Linien (Idealzahl: 0. Wann? Immer)
Vermeiden Sie möglichst viele horizontale Linien (ideale Anzahl: 3) . Für einfache Tabellen reicht eine
\toprule
, eine\bottomrule
und eine . Komplexe Tabellen könnten mehr \midrules oder \cmidrules haben, aber weniger (Zeilen) sind in den meisten Fällen (klarer).\midrule
Vermeiden Sie Häkchenregeln in der Tabellenmitte, ein
\midrule
reicht aus.Vermeiden Sie Großbuchstaben oder Kapitälchen in normalen Zellen (und auch in Kopfzeilenzellen). Großbuchstaben werden nur für eine sehr starke Hervorhebung (TITEL), Akronyme usw. verwendet.
Gestalten Sie die Tabelle so einfach und übersichtlich wie möglich. Beispiel: Wenn alle Zellen einer Spalte dieselbe Maßeinheit haben, kann diese in der Spaltenüberschrift angezeigt werden und überdeckt nicht die Zellennummern. „< 9 Jahre“ ist genauso informativ wie „MEHR ALS 9 JAHRE“, nimmt aber weniger Platz ein. Verwenden Sie für Bereiche
--
anstelle einer einzelnen-
Zeile. „Soziodemografische Faktoren“ ist zu lang für eine einzelne Zeile und eine Mehrfachzeile hier ist hässlich, aber Sie können diese Überschrift durch eine informativere Überschrift ersetzen.
Die Ergebnisse dieser Regeln könnten etwa wie folgt aussehen:
\documentclass{article}
\usepackage{array,multirow,booktabs,mathtools,tabulary,xcolor}
%\usepackage[table]{xcolor}
\usepackage{colortbl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\let\belowcaptionskip\abovecaptionskip
\let\oldmidrule\midrule
\arrayrulecolor{blue!70}
\begin{document}
\begin {table}
\caption{Demographic profiles of participants according to the socio demographic factors.}
\centering
\begin{tabulary}{\textwidth}{>{\bfseries}LlRR}
\toprule & \textbf{Ranges} & \mbox{\textbf{Frequency}} & \mbox{\textbf{Responses (\%)}}\\
\midrule \multirow{5}{.2\textwidth}{Age} & 18-25 years & 84 & 57 \\
& 26--35 years & 32 & 22 \\
& 36--45 years & 11 & 7 \\
& 46--55 years & 14 & 9 \\
& < 56 years & 7 & 5 \\
\midrule \multirow{2}{.2\textwidth}{Gender} & Male & 87 & 59\\
& Female & 61 & 41 \\
\midrule \multirow{5}{.2\textwidth}{Computer\newline proficiency\newline level} & < 1 year & 5 & 3 \\
& 1 to 3 years & 37 & 25 \\
& 4 to 6 years & 43 & 29 \\
& 7 to 9years & 25 & 17 \\
& $>$ 9 years & 42 &28 \\
\midrule \multirow{4}{.2\textwidth}{Education} & Under graduate (hons) & 5 & 3 \\
& Graduate (hons) & 67 & 45 \\
& Post graduate & 37 & 25 \\
& Doctorate & 18 & 12 \\
\midrule \multirow{2}{.2\textwidth}{Computer experience} & Yes & 101 & 68 \\
& No & 47 & 32 \\
\midrule \multirow{2}{.2\textwidth}{Major discipline} & IT students & 42 & 48 \\
& Non-IT students & 59 & 42 \\
\bottomrule
\end{tabulary}
\end{table}
\end{document}