
Estou tentando alterar as cores de fundo e as \hlines, mas o resultado não é o que eu esperava.
Este é o código que eu uso:
\documentclass[a4paper,10pt,twoside,openright]{scrreprt}
\usepackage[brazil]{babel}
\usepackage[pdftex,luatex,usenames,dvipsnames]{color}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{multirow}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{array}
\usepackage{colortbl}
\usepackage[sfdefault]{roboto}
\definecolor{azul}{RGB}{31,90,153}
\definecolor{quadro}{RGB}{201,214,229}
\newcommand\mrh{\color{white}\bfseries}
\newcommand\mrc[1]{\begin{tabular}{@{}l@{}} #1 \end{tabular}}
\setlength\arrayrulewidth{1.0pt}
\begin{document}
\begin{table}[tbh]
\centering
\caption{Nova tabela avaliação nutricional em crianças menores de 5 anos}
\renewcommand\arraystretch{1.5}
\arrayrulecolor{white}
\begin{small}
\begin{tabular}{|l|c|c|c|c|}
\hline
\rowcolor{azul}
& \mrh{Peso para idade} & \mrh{Peso para estatura} & \mrh{IMC para idade} & \mrh{Estatura para idade} \\ \hline
\rowcolor{quadro} \textbf{Abaixo de -3 DP} & Muito baixo peso & Magreza acentuada & Magreza acentuada & Muito baixa estatura \\ \hline
\rowcolor{quadro} \textbf{Entre -3 e -2 DP} & Baixo peso & Magreza & Magreza & Baixa estatura \\ \hline
\rowcolor{quadro} \textbf{Entre -2 e -1 DP} & \multirow{3}{*}{Peso adequado} & \multirow{2}{*}{Eutrofia} & \multirow{2}{*}{Eutrofia} & \multirow{5}{*}{Estatura adequada} \\ \cline{1-1}
\rowcolor{quadro} \textbf{Entre -1 e +1 DP} & & & & \\ \cline{1-1} \cline{3-4}
\rowcolor{quadro} \textbf{Entre +1 e +2 DP} & & Risco de sobrepeso & Risco de sobrepeso & \\ \cline{1-4}
\rowcolor{quadro} \textbf{Entre +2 e +3 DP} & \multirow{2}{*}{Peso elevado} & Sobrepeso & Sobrepeso & \\ \cline{1-1} \cline{3-4}
\rowcolor{quadro} \textbf{Acima de +3 DP} & & Obesidade & Obesidade & \\ \hline
\end{tabular}
\end{small}%
\\
\centering
\footnotesize{\textbf{Fonte:} adaptado do Manual de Avaliação Nutricional da Sociedade Brasileira de Pediatria (2009)}
\end{table}
\end{document}
Este é o resultado:
Alguém pode me ajudar a consertar e parece melhor?
Responder1
Com um tabular
ambiente simples, essas mesas coloridas não são muito simples de construir. Em referência às perguntas e respostas existentes sobre as questões decores de fundo em células multilinhaseregras em células multilinhas coloridasvocê poderia fazer o seguinte:
Use números inteiros negativos para \multirow
comandos e coloque o texto na célula inferior. Dessa forma, a cor de fundo da célula nas próximas linhas não cobrirá o texto.
Use o hhline
pacote para desenhar as regras parciais, mas observe que você precisa mudar a cor várias vezes para obter o resultado desejado.
\documentclass{article}
\usepackage[margin=2cm]{geometry}
\usepackage{multirow, hhline, colortbl}
\usepackage[sfdefault]{roboto}
\definecolor{azul}{RGB}{31,90,153}
\definecolor{quadro}{RGB}{201,214,229}
\newcommand\mrh{\color{white}\bfseries}
\newcommand\mrc[1]{\begin{tabular}{@{}l@{}} #1 \end{tabular}}
\setlength\arrayrulewidth{1.0pt}
\begin{document}
\begin{table}
\caption{Nova tabela avaliação nutricional em crianças menores de 5 anos}
\renewcommand\arraystretch{1.5}
\arrayrulecolor{white}
\begin{small}
\begin{tabular}{|l|c|c|c|c|}
\hline
\rowcolor{azul}
& \mrh{Peso para idade} & \mrh{Peso para estatura} & \mrh{IMC para idade} & \mrh{Estatura para idade} \\ \hline
\rowcolor{quadro} \textbf{Abaixo de -3 DP} & Muito baixo peso & Magreza acentuada & Magreza acentuada & Muito baixa estatura \\ \hline
\rowcolor{quadro} \textbf{Entre \textminus 3 e \textminus 2 DP} & Baixo peso & Magreza & Magreza & Baixa estatura \\ \hline
\rowcolor{quadro} \textbf{Entre \textminus 2 e \textminus 1 DP} & & & & \\
\hhline{>{\arrayrulecolor{white}}->{\arrayrulecolor{quadro}}----}
\rowcolor{quadro} \textbf{Entre \textminus 1 e +1 DP} & & \multirow{-2}{*}{Eutrofia} & \multirow{-2}{*}{Eutrofia} & \\
\hhline{>{\arrayrulecolor{white}}->{\arrayrulecolor{quadro}}->{\arrayrulecolor{white}}-->{\arrayrulecolor{quadro}}-}
\rowcolor{quadro} \textbf{Entre +1 e +2 DP} & \multirow{-3}{*}{Peso adequado} & Risco de sobrepeso & Risco de sobrepeso & \\
\hhline{>{\arrayrulecolor{white}}---->{\arrayrulecolor{quadro}}-}
\rowcolor{quadro} \textbf{Entre +2 e +3 DP} & & Sobrepeso & Sobrepeso & \\
\hhline{>{\arrayrulecolor{white}}->{\arrayrulecolor{quadro}}->{\arrayrulecolor{white}}-->{\arrayrulecolor{quadro}}-}
\rowcolor{quadro} \textbf{Acima de +3 DP} & \multirow{-2}{*}{Peso elevado} & Obesidade & Obesidade & \multirow{-5}{*}{Estatura adequada} \\ \hline
\end{tabular}
\end{small}%
\\
\centering
\footnotesize{\textbf{Fonte:} adaptado do Manual de Avaliação Nutricional da Sociedade Brasileira de Pediatria (2009)}
\end{table}
\end{document}
As coisas são mais fáceis de conseguir com otabularray
ou onicematrix
pacotes. Dê uma olhada neste site para encontrar exemplos ou consulte os manuais vinculados acima.
Responder2
Para informação. Aqui está uma maneira de criar essa tabela com {NiceTabular}
of nicematrix
.
\documentclass{article}
\usepackage[margin=2cm]{geometry}
\usepackage[sfdefault]{roboto}
\usepackage{nicematrix}
\usepackage{xcolor}
\begin{document}
\begin{table}
\caption{Nova tabela avaliação nutricional em crianças menores de 5 anos}
\renewcommand\arraystretch{1.5}
\centering
\small
\begin{NiceTabular}{lcccc}[hvlines-except-borders,rules={color=white,width=1pt}]
\CodeBefore
\rowcolor[RGB]{31,90,153}{1}
\rowcolor[RGB]{201,214,229}{2-*}
\Body
& Peso para idade & Peso para estatura & IMC para idade & Estatura para idade \\
Abaixo de -3 DP & Muito baixo peso & Magreza acentuada & Magreza acentuada & Muito baixa estatura \\
Entre \textminus 3 e \textminus 2 DP & Baixo peso & Magreza & Magreza & Baixa estatura \\
Entre \textminus 2 e \textminus 1 DP & \Block{3-1}{Peso adequado} & \Block{2-1}{Eutrofia} & \Block{2-1}{Eutrofia} & \Block{5-1}{Estatura adequada} \\
Entre \textminus 1 e +1 DP & & & & \\
Entre +1 e +2 DP & & Risco de sobrepeso \\
Entre +2 e +3 DP & \Block{2-1}{Peso elevado} & Sobrepeso & Sobrepeso \\
Acima de +3 DP & & Obesidade & Obesidade \\
\end{NiceTabular} \\
\footnotesize{\textbf{Fonte:} adaptado do Manual de Avaliação Nutricional da Sociedade Brasileira de Pediatria (2009)}
\end{table}
\end{document}