Como posso desenhar uma linha horizontal de largura específica em um ambiente tabular?

Como posso desenhar uma linha horizontal de largura específica em um ambiente tabular?

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 \cmidrulepossui 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} 

insira a descrição da imagem aqui

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} 

insira a descrição da imagem aqui

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}

Resultado

informação relacionada