虚线表示表中有更多行

虚线表示表中有更多行

我有一张表格,说明了表格中的一行,如下所示:

\begin{table}
    \begin{tabular}{|l|l|l|}
        Cell 1 & Cell 2 & Cell 3 \\
    \end{tabular}
    %caption, label ++
\end{table}

我怎样才能最好地在表格的顶部/底部上下绘制虚线,以指示有更多行?所需的输出将是这样的:

在此处输入图片描述

单元格 1&2 和 2&3 之间的虚线并非绝对必要。

我知道我可以使用 TikZ 实现这一点,但我想知道是否有办法使用表格环境或类似环境来实现这一点。

答案1

当然你已经读过booktabs文档并且知道你不应该使用垂直线,所以你可以只\vdots在上面和下面放置单元格。例如,

无垂直样本

\documentclass{article}

\usepackage{booktabs}

\begin{document}

\begin{table}
  \begin{tabular}{lll}
    \multicolumn{1}{c}{\vdots}&\multicolumn{1}{c}{\vdots}&\multicolumn{1}{c}{\vdots}\\
    \midrule
    Cell 1 & Cell 2 & Cell 3 \\
    \midrule
    \multicolumn{1}{c}{\vdots}&\multicolumn{1}{c}{\vdots}&\multicolumn{1}{c}{\vdots}
  \end{tabular}
\end{table}
\end{document}

无论如何,假设您希望保留垂直线,那么一个相对简单的方法是使用\multicolumns 重新设置单元格样式并将其放置\vdots在边界处:

示例输出

\documentclass{article}

\usepackage{array}

\begin{document}
\begin{table}
  \begin{tabular}{|l|l|l|}
    \multicolumn{1}{@{\vdots}c}{}&\multicolumn{1}{@{\vdots}c}{}&\multicolumn{1}{@{\vdots}c@{\vdots}}{}\\
    \hline
    Cell 1 & Cell 2 & Cell 3 \\
    \hline
    \multicolumn{1}{@{\vdots}c}{}&\multicolumn{1}{@{\vdots}c}{}&\multicolumn{1}{@{\vdots}c@{\vdots}}{}\\
  \end{tabular}
\end{table}
\end{document}

请注意,这里有一些错位,可以通过使用\vdots没有宽度的版本来克服:

\newcommand{\narrowvdots}{\hbox to 0pt{\hss\vdots\hss}}

您可以使用破折号执行此操作,如下所示:

虚线示例

\documentclass{article}

\usepackage{array}

\newcommand{\myvdashes}{\raisebox{1ex}{\oalign{\vrule height 1ex\cr\vrule height
1ex\cr \vrule height 1ex}}}

\begin{document}
\begin{table}
  \begin{tabular}{|l|l|l|}
    \multicolumn{1}{@{\myvdashes}c@{\myvdashes}}{}&\multicolumn{1}{c@{\myvdashes}}{}&\multicolumn{1}{c@{\myvdashes}}{}\\
    \hline
    Cell 1 & Cell 2 & Cell 3 \\
    \hline
    \multicolumn{1}{@{\myvdashes}c@{\myvdashes}}{}&\multicolumn{1}{c@{\myvdashes}}{}&\multicolumn{1}{c@{\myvdashes}}{}
  \end{tabular}
\end{table}
\end{document}

相关内容