Booktabs,但表格周围有边框?

Booktabs,但表格周围有边框?

所以我知道booktabs包装的设计没有考虑垂直线条......但如果你仍然想要一个漂亮的封闭盒子围绕着桌子,\toprule\bottomrule成为其中的一部分,该怎么办?

我基本上是在设计真值表,我希望booktabs它看起来漂亮,与相比,\toprule和更粗,但外边缘可能有默认的细垂直线,以营造一种封闭感。更不用说用垂直线将输入与输出分开了。\bottomrule\midrules

编辑:预期输出如下……

真值表

答案1

您可以嵌套两个表格。

我给环境起的名字应该表明我对输出的看法。;-)

\documentclass{article}
\usepackage{booktabs}

\newenvironment{uglytabular}[2][c]
 {%
  \begin{tabular}[#1]{|@{}c@{}|}
  \begin{tabular}[#1]{#2}
 }
 {%
  \end{tabular}
  \end{tabular}
 }

\begin{document}

\begin{uglytabular}{ccc}
\toprule
A & B & C \\
\midrule
x & y & z \\
u & v & w \\
\bottomrule
\end{uglytabular}

\end{document}

在此处输入图片描述

答案2

由于有些人显然无法想象在任何情况下垂直线会(不丑陋)有用(在我的特定情况下他们会这样做),并且只是说它丑陋,所以我会尝试以更严肃的方式发表自己的观点。作为一名工程师,我更喜欢垂直线,因为它们很容易将输入与输出分开,而且它们也与我在笔记中写表格的方式一致。

我最终使用了 egreg 的解决方案,但完成了它以匹配问题(中间有垂直线)并且不需要降低我的个人偏好(即重命名uglytabular为一个不那么厚颜无耻的名字ttable:)。

\documentclass{article}
\usepackage{booktabs}
\usepackage[table]{xcolor}

\newenvironment{ttable}[2][c]
 {%
  \begin{tabular}[#1]{|@{}c@{}|}
  \rowcolors{2}{white}{gray!20}
  \begin{tabular}[#1]{#2}
 }
 {%
  \end{tabular}
  \end{tabular}
 }

% Set hline to the default \midrule thickness:
\setlength{\arrayrulewidth}{0.05em}

\begin{document}

 \begin{ttable}{cc|c}
    \toprule
    A & B & X \\\hline
    0 & 0 & 0 \\
    0 & 1 & 0 \\
    1 & 0 & 0 \\
    1 & 1 & 1 \\
    \bottomrule
\end{ttable}

\end{document}

真值表

这正是我特定情况下需要的设计。无论它是否适合您,它都非常适合我想要的特定风格,这是个人选择,应该受到尊重。

答案3

只是为了好玩,我尝试创建一种单独调整每条线宽度的方法。 的大部分复杂性\hline在于使用 制作双线\hline\hline

\documentclass{article}
\usepackage{booktabs}

\makeatletter
\newcommand{\hwidth}[1]{%
  \noalign{\hrule \@height #1}%
}
\makeatother

\begin{document}

\begin{tabular}{|ccc|}
\hwidth{1pt}
A & B & C \\
\hwidth{.4pt}
x & y & z \\
u & v & w \\
\hwidth{1pt}
\end{tabular}

\end{document}

演示

答案4

借助makecell更粗的线条、cellspace在单元格周围增加一些空间以及xcolor选择table添加交替行颜色:

在此处输入图片描述

\documentclass{article}
\usepackage{cellspace}
\setlength\cellspacetoplimit{.65ex}
\setlength\cellspacebottomlimit{.03em}

\usepackage{makecell}
\usepackage[table]{xcolor}

\begin{document}

\rowcolors{2}{white}{gray!25}
\begin{tabular}{|cc|c|}
\Xhline{0.08em}
A & B & C \\
\hline
0 & 0 & 1 \\
0 & 1 & 0 \\
1 & 0 & 0 \\
1 & 1 & 1 \\
\Xhline{0.08em}
\end{tabular}

\end{document}

相关内容