
배경색과 \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
환경에서는 이러한 색상의 테이블을 만드는 것이 너무 간단하지 않습니다. 기존 Q&A 관련 내용을 참고하여여러 행 셀의 배경색그리고색상이 지정된 여러 행 셀의 규칙다음을 수행할 수 있습니다.
명령 에는 음수를 사용 \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}