![¿Cómo puedo dibujar una línea horizontal de ancho específico en un entorno tabular?](https://rvso.com/image/286996/%C2%BFC%C3%B3mo%20puedo%20dibujar%20una%20l%C3%ADnea%20horizontal%20de%20ancho%20espec%C3%ADfico%20en%20un%20entorno%20tabular%3F.png)
Estoy intentando hacer una tabla con algunos números y un resultado total, de la siguiente manera:
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
----------------------------
Estas tres ---
líneas representan una especie de subrayado que abarca media fila.
¿Cómo puedo dibujarlo o especificar la longitud de una línea tabular?
Respuesta1
El comando \cmidrule
tiene un argumento opcional entre paréntesis donde puede especificar el lado que se reducirá.
Así es como se puede lograr su mesa
\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}
Aquí hay otra versión con columnas fijas y donde la longitud de \cmidrule
se reduce en un valor fijo:
\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}
Respuesta2
El siguiente ejemplo agrega una regla por encima de la suma total. La regla se alarga en ambos lados por la cantidad de \fboxsep
. El MWE está tomado de Karlkoeller.respuesta.
\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}