我想知道是否有办法将a 中的\hdashrule
或用作a ?如果可能的话,它将遵循相同的\hdashline
\ctable
\midrule
规则作为\midrule
命令,如自动调整到表宽度并保护垂直间距行与行之间。
我尝试了下表:
\documentclass[11pt]{book}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}
\usepackage{multicol,bm}
\usepackage{array, booktabs}
\usepackage{ctable, dashrule}
\usepackage[left=2cm, right=2cm, top=2cm, bottom=2cm]{geometry}
\begin{document}
\ctable[caption= {Paramètres},
label = {tab:paramètres},
]
{m{6.cm} m{3.5cm} l }
{\tnote[$\ast$]{Dans le repère du solide.} \tnote[$\ast \ast$]{Autour de l'axe de rotation.}}{
\toprule
& \textbf{Premier Solide} & \textbf{Deuxième Solide}\\
\midrule
\textbf{Masse (kg)} & 4,4839 & 3,8177\\
\multicolumn{3}{c}{\hdashrule{8cm}{1pt}{1pt 5pt}} \\
\textbf{Centre de masse\tmark[$\ast$] ($\bm{x}\,;\, \bm{y}$) (m)} & (0 ; 0,1940) & (0 ; 0,1613)\\
\multicolumn{3}{c}{\hdashrule{8cm}{1pt}{1pt 5pt}} \\
\textbf{Moment d'inertie\tmark[$\ast \ast$] (kg$\cdot$m\textsuperscript 2)}& 0,0913 & 0,0615\\
\bottomrule}
\end{document}
不幸的是,这些虚线不会自动调整到表格宽度,更糟糕的是,它们不会保留行之间的垂直间距!
有没有办法让这个过程变得简单和自动化?
注意:我也尝试更换
\multicolumn{3}{c}{\hdashrule{8cm}{1pt}{1pt 5pt}}
经过
\hdashline[1pt/3pt]
\hdashline
其优点是可以自动调整表格宽度,但不能遵守booktabs
垂直间距规则。此外,无法使用此命令控制虚线的大小。
答案1
新版本保留了表格内的规则
\documentclass[10pt]{book}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}
\usepackage{multicol,bm}
\usepackage{array, booktabs}
\usepackage{ctable, dashrule}
\usepackage[left=2cm, right=2cm, top=2cm, bottom=2cm]{geometry}
\makeatletter
\def\xmidrule{%
\noalign{\vskip\aboverulesep}%
\multispan{3}{\leaders\hbox to 4pt{\hss\vrule\@height\cmidrulewidth\@width 2pt \relax\hss}\hfill\kern0pt}\cr%
\noalign{\vskip\belowrulesep}%
}
\makeatother
\begin{document}
\noindent X \dotfill X
\ctable[caption= {Paramètres},
label = {tab:paramètres},
]
{m{6.cm} m{3.5cm} l }
{\tnote[$\ast$]{Dans le repère du solide.} \tnote[$\ast \ast$]{Autour de l'axe de rotation.}}{
\toprule
& \textbf{Premier Solide} & \textbf{Deuxième Solide}\\
\midrule
\textbf{Masse (kg)} & 4,4839 & 3,8177\\
\xmidrule
\textbf{Centre de masse\tmark[$\ast$] ($\bm{x}\,;\, \bm{y}$) (m)} & (0 ; 0,1940) & (0 ; 0,1613)\\
\multicolumn{3}{c}{\hdashrule{8cm}{1pt}{1pt 5pt}} \\
\textbf{Moment d'inertie\tmark[$\ast \ast$] (kg$\cdot$m\textsuperscript 2)}& 0,0913 & 0,0615\\
\bottomrule}
\end{document}