是否可以使用 \ctable 中的 \hdashrule 作为 \midrule?

是否可以使用 \ctable 中的 \hdashrule 作为 \midrule?

我想知道是否有办法将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}

相关内容