每张桌子后面都有一条水平线

每张桌子后面都有一条水平线

我想在每个表格后画一条水平线。我尝试\hrulefill在每个表格后使用,但由于表格的浮动行为,这种方法会失效,例如,如果我有代码

伪 MWE:

<table>
\hrule
<table>
\hrule
<table>
\hrule

输出看起来有点像这样:

  • 桌子
  • 水平线
  • 桌子
  • 水平线
  • 水平线
  • 桌子

当然这不是我想要的。

平均能量损失

\documentclass{article}
\usepackage{array}

\newcommand{\cTable}
{
\begin{table}
  \caption{abc}
  \begin{tabular}{l | l}
    a & a   \\
    b & b   \\
    c & c
  \end{tabular}
\end{table}
}

\begin{document}
\cTable
\hrule
\cTable
\hrule
\cTable
\hrule
\end{document}

答案1

正如您所说,表格环境是浮动的,因此您需要在关闭表格环境之前画一条线。以下似乎可以满足您的要求:

\documentclass{article}
\usepackage{array}

\newenvironment{Table}{\table}{\newline\hrule width\textwidth\endtable}

\newcommand{\cTable}
{
\begin{Table}
  \caption{abc}
  \begin{tabular}{l | l}
    a & a   \\
    b & b   \\
    c & c
  \end{tabular}
\end{Table}
}

\begin{document}
\cTable

\cTable

\cTable

\end{document}

输出如下:

在此处输入图片描述

相关内容