
Я пытаюсь составить таблицу с некоторыми числами и общим результатом, как показано ниже:
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
----------------------------
Эти три ---
линии представляют собой своего рода подчеркивание, охватывающее половину строки.
Как мне нарисовать или указать длину табличной линии?
решение1
Команда \cmidrule
имеет необязательный аргумент в скобках, где можно указать сторону, которую необходимо уменьшить.
Вот как можно создать вашу таблицу
\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}
Вот еще одна версия с фиксированными столбцами, где длина \cmidrule
уменьшена на фиксированное значение:
\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}
решение2
Следующий пример добавляет правило над общей суммой. Правило удлиняется с обеих сторон на величину\fboxsep
. MWE взято из karlkoeller'sотвечать.
\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}