
Quero criar uma tabela semelhante à da imagem. Não sei como personalizar a espessura da borda da tabela e o esquema de cores como na imagem para obter o resultado desejado.
Código:
Quantas linhas devo abranger 4 ou 5? Para "Idade", dei {5}
como parâmetro para \multirow
. Está correto?
\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}
Responder1
O pacote multirow
espera que você declare o número de linhas (não linhas) que seguem a célula multilinha. No seu caso: para IDADE: 5, para GÊNERO: 2, para COMPUTADOR... 5, para Educação: 7, etc. Geralmente isso significa que você deve contar as linhas após a geração da tabela e o número correto de linhas estendidas. Por exemplo, como eu faço aqui:
\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}
Tarefa mais simples que você terá, se todas as linhas posteriores multirow cell
tiverem apenas uma linha. Neste caso, você deve, para a segunda coluna, usar l
o p
tipo de coluna. Para outras possibilidades siga o link fornecido por Johannes_B.
Também simplifiquei um pouco a construção da tabela.
Responder2
Para as regras de cores das tabelas, algumas assim no preâmbulo:
\usepackage{colortbl} \arrayrulecolor{blue!70}
Para personalizar a espessura das réguas e o preenchimento vertical ao redor, você pode usar o pacote
booktabs
e o comando\specialrule{}{}{}
com três argumentos: espessura, espaço acima e espaço abaixo.Sim, cinco está correto. Você tem 5 níveis (rowas) para o fator "idade" e o primeiro argumento
\multirow
deve ser o número dessas linhas.Sobre o preenchimento, o link do Werner é mais que suficiente. II enfatizaria aqui os pacotes
tabularx
etabulary
.
Resolvi isso, bom... não tem como contabilizar o gosto, mas a sua mesa para mim é o exemplo do que não se deve fazer (tenho medo que para outras pessoas também). Portanto, algumas sugestões:
Evite as linhas verticais (número ideal: 0. Quando? sempre)
Evite a maioria das linhas horizontais (número ideal: 3) one
\toprule
, one\bottomrule
e one\midrule
são suficientes para tabelas simples. Tabelas complexas poderiam ter mais \midrules ou \cmidrules, mas menos (linhas) é mais (claro) na maioria dos casos.Evite regras de tick no meio da mesa,
\midrule
basta um .Evite letras maiúsculas ou minúsculas em células normais (bem, em células de cabeçalho também...). Deixar letras maiúsculas apenas para ênfase muito forte (TÍTULO), siglas, etc.
Torne a tabela o mais simples e clara possível. Por exemplo: Se todas as células da coluna tiverem a mesma unidade de medida, isso pode ser mostrado no cabeçalho da coluna e não ofuscar os números das células. "<9 anos" é tão informativo quanto "MAIS DE 9 ANOS", mas ocupa menos espaço. Use
--
em vez de um único-
para intervalos. "Fatores sociodemográficos" é muito longo para uma única linha, e várias linhas dela são feias, mas você pode omitir este cabeçalho com uma legenda mais informativa.
Os resultados destas regras em mente poderiam ser mais ou menos assim:
\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}