![Como posso desenhar uma linha horizontal de largura específica em um ambiente tabular?](https://rvso.com/image/286996/Como%20posso%20desenhar%20uma%20linha%20horizontal%20de%20largura%20espec%C3%ADfica%20em%20um%20ambiente%20tabular%3F.png)
Estou tentando fazer uma tabela com alguns números e um resultado total, da seguinte forma:
Age Female Male Total
----------------------------
Under 10 5 8 13
10-30 57 61 118
30-60 5 1 6
Over 60 3 0 3
--- --- ---
TOTAL 70 70 140
----------------------------
Essas três ---
linhas representam uma espécie de sublinhado que abrange meia linha.
Como posso desenhá-lo ou especificar o comprimento de uma linha tabular?
Responder1
O comando \cmidrule
possui um argumento opcional entre parênteses onde você pode especificar o lado a ser reduzido.
Veja como sua mesa pode ser alcançada
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{tabular}{lrrr}
Age & Female & Male & Total \\
\midrule
Under 10 & 5 & 8 & 13 \\
10-30 & 57 & 61 & 118 \\
30-60 & 5 & 1 & 6 \\
Over 60 & 3 & 0 & 3 \\
\cmidrule(l){2-2}\cmidrule(l){3-3}\cmidrule(l){4-4}
TOTAL & 70 & 70 & 140 \\
\bottomrule
\end{tabular}
\end{document}
Aqui está outra versão com colunas fixas e onde o comprimento \cmidrule
é reduzido por um valor fixo:
\documentclass{article}
\usepackage{booktabs,array}
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}m{#1}}
\begin{document}
\begin{tabular}{l*{3}{R{1.2cm}}}
Age & Female & Male & Total \\
\midrule
Under 10 & 5 & 8 & 13 \\
10-30 & 57 & 61 & 118 \\
30-60 & 5 & 1 & 6 \\
Over 60 & 3 & 0 & 3 \\
\cmidrule(l{.7cm}){2-2}\cmidrule(l{.7cm}){3-3}\cmidrule(l{.7cm}){4-4}
TOTAL & 70 & 70 & 140 \\
\bottomrule
\end{tabular}
\end{document}
Responder2
O exemplo a seguir adiciona uma regra acima da soma total. A regra é alongada em ambos os lados pela quantidade de \fboxsep
. O MWE é retirado do livro de Karlkoellerresponder.
\documentclass{article}
\usepackage{booktabs}
\newcommand*{\oline}[1]{%
\kern-\fboxsep
\vbox{%
\hrule
\kern1ex
\hbox{%
\kern\fboxsep
#1%
\kern\fboxsep
}%
}%
\kern-\fboxsep
}
\begin{document}
\begin{tabular}{lrrr}
Age & Female & Male & Total \\
\midrule
Under 10 & 5 & 8 & 13 \\
10--30 & 57 & 61 & 118 \\
30--60 & 5 & 1 & 6 \\
Over 60 & 3 & 0 & 3 \\
TOTAL & \oline{70} & \oline{70} & \oline{140} \\
\bottomrule
\end{tabular}
\end{document}