Wie füge ich einer Tabellenspalte zusammen mit vertikaler und horizontaler Zellenpolsterung ein Prozentzeichen hinzu?

Wie füge ich einer Tabellenspalte zusammen mit vertikaler und horizontaler Zellenpolsterung ein Prozentzeichen hinzu?

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.Bildbeschreibung hier eingeben

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 multirowerwartet, 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 cellnur eine Zeile haben. In diesem Fall sollten Sie für die zweite Spalte lstattdessen pden Spaltentyp verwenden. Für eine andere Möglichkeit folgen Sie dem von Johannes_B bereitgestellten Link.

Ich habe auch die Tabellenkonstruktion etwas vereinfacht.

Antwort2

  1. Zu den Farbregeln der Tabellen gibt es etwa diese in der Präambel:

    \usepackage{colortbl} \arrayrulecolor{blue!70}

  2. Um die Dicke der Linien und die vertikale Polsterung anzupassen, können Sie das Paket booktabsund den Befehl \specialrule{}{}{}mit drei Argumenten verwenden: Dicke, Abstand darüber und Abstand darunter.

  3. Ja, fünf ist richtig. Du hast 5 Ebenen (Zeilen) für den Faktor „Alter“ und das erste Argument \multirowmuss die Anzahl dieser Zeilen sein.

  4. Was die Polsterung betrifft, ist der Link von Werner mehr als ausreichend. Ich würde hier die tabularxund tabularyPakete 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:

  1. Vermeiden Sie vertikale Linien (Idealzahl: 0. Wann? Immer)

  2. Vermeiden Sie möglichst viele horizontale Linien (ideale Anzahl: 3) . Für einfache Tabellen reicht eine \toprule, eine \bottomruleund eine . Komplexe Tabellen könnten mehr \midrules oder \cmidrules haben, aber weniger (Zeilen) sind in den meisten Fällen (klarer).\midrule

  3. Vermeiden Sie Häkchenregeln in der Tabellenmitte, ein \midrulereicht aus.

  4. 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.

  5. 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:

MWE

\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}

verwandte Informationen