
画像のような表を作成したいのですが、希望する出力を実現するために、表の境界線の太さや配色を画像のようにカスタマイズする方法がわかりません。
コード:{5}
何行にまたがるべきでしょうか。4 行ですか、それとも 5 行ですか? 「年齢」については、にパラメータとして 指定しました\multirow
。これで正しいでしょうか?
\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}
答え1
パッケージmultirow
では、複数行のセルに続く行数 (行数ではありません) を宣言する必要があります。この場合、AGE: 5、GENDER: 2、COMPUTER ... 5、Education: 7 などです。一般的にこれは、テーブルが生成された後に行数をカウントし、またがる行数を正しくする必要があることを意味します。たとえば、次のようにします。
\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}
以降の行がすべてmultirow cell
1 行だけの場合は、タスクはよりシンプルになります。この場合、2 番目の列には列の種類l
の代わりに使用する必要がありますp
。その他の可能性については、Johannes_B によって提供されたリンクに従ってください。
テーブルの構築も少し簡略化しました。
答え2
表の色のルールについては、前文に次のように記載されているものもあります。
\usepackage{colortbl} \arrayrulecolor{blue!70}
罫線の太さと周囲の垂直パディングをカスタマイズするには、パッケージと、thickness、space above、space below の 3 つの引数を持つ
booktabs
コマンドを使用します。\specialrule{}{}{}
はい、5 が正解です。因子「年齢」には 5 つのレベル (行) があり、 の最初の引数は
\multirow
これらの行の数である必要があります。パディングについては、Werner のリンクで十分です。ここでは、パッケージ
tabularx
とtabulary
パッケージを強調したいと思います。
これを解決しました。まあ...好みは人それぞれですが、あなたの表は私にとっては何をすべきでないかの例です(他の人にもそうではないかと心配しています)。したがって、いくつかの提案があります。
縦線を避ける (理想数: 0。いつ? 常に)
水平線をほとんど使用しないでください (理想的な数: 3) 単純な表の場合は、 1 本
\toprule
、 1 本\bottomrule
、 1 本\midrule
で十分です。複雑な表では、 \midrules または \cmidrules をさらに使用できますが、ほとんどの場合、少ない (行数) ほどわかりやすくなります。表の中央のチェック ルールは避けてください。a で
\midrule
十分です。通常のセルでは大文字や小文字の使用は避けてください (ヘッダー セルでも同様です)。大文字は、非常に強い強調 (タイトル) や頭字語などの場合にのみ使用します。
表はできるだけシンプルでわかりやすいものにしてください。たとえば、列のすべてのセルの測定単位が同じであれば、列のヘッダーに表示してセルの数字を覆い隠さないようにすることができます。「< 9 years」は「MORE THAN 9 YEARS」と同じくらい情報量がありますが、スペースは少なくて済みます。範囲
--
には 1 行ではなく を使用します-
。「社会人口統計的要因」は 1 行には長すぎますし、複数行は見苦しいですが、より情報量の多いキャプションを付けてこのヘッダーを省略することができます。
これらのルールを念頭に置いた結果は、次のようになります。
\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}