
背景色と \hlines を変更しようとしていますが、結果は期待したものとは異なります。
私が使用するコードは次のとおりです:
\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}
結果は次のとおりです。
誰かこれを修正して見た目を良くするのを手伝ってくれませんか?
答え1
シンプルな環境では、tabular
このような色付きのテーブルを構築するのはそれほど簡単ではありません。複数行セルの背景色そして色付きの複数行セル内のルール次のようにすることができます:
コマンドには負の整数を使用し\multirow
、テキストを一番下のセルに配置します。こうすることで、次の行のセルの背景色がテキストを覆うことがなくなります。
パッケージを使用してhhline
部分的なルールを描画しますが、意図した結果を得るには色を何度も変更する必要があることに注意してください。
\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}
物事はより簡単に達成できるtabularray
またはnicematrix
パッケージ。このサイトを見て例を探すか、上記のリンク先のマニュアルを参照してください。
答え2
{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}